Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Linux xhost 命令详解:X Server 访问控制与远程图形应用授权

編輯:關於 Linux

xhost 控制 X Server 接受连接的主机列表,实现远程图形应用在本地显示。本文详解语法、常用场景(SSH X11 转发、Docker 容器 GUI)、安全最佳实践与永久配置。

一、基本语法

xhost [+|-] [名称]
# + 增加访问权限
# - 移除访问权限
# 名称:主机名、IP、用户@域、NIS/INET 格式

二、核心机制

  • X 客户端(应用)运行在远程主机 B,显示在本地主机 A 的 X Server 上。
  • 本地主机 A 需授权远程主机 B 连接其 X Server:xhost +remote_host。
  • xhost + 开放所有主机访问(极不安全,仅测试用)。

三、常用授权示例

命令效果
xhost +允许所有主机连接本地 X Server
xhost + 192.168.1.100允许指定 IP 主机连接
xhost + user@domain允许域用户连接(NIS/INET)
xhost - 192.168.1.100撤销指定 IP 授权
xhost -仅允许本地连接(恢复默认安全)

四、典型场景:SSH X11 转发

# 本地 A 机器
xhost +remote_B_ip
# 或配置 SSH 转发(推荐,无需 xhost)
ssh -X user@remote_B
# 远程运行图形程序自动在本地显示

五、Docker 容器运行 GUI 程序

# 宿主机授权
xhost +local:docker
# 运行容器
docker run -it --rm \
    -e DISPLAY=$DISPLAY \
    -v /tmp/.X11-unix:/tmp/.X11-unix \
    ubuntu:20.04 xclock

六、永久配置

编辑 /etc/X0.hosts(显示器编号 0),每行一个授权主机名/IP。重启 X Server 生效。

七、安全最佳实践

  1. 优先使用 SSH -X/-Y 转发,加密通道且无需显式 xhost 授权。
  2. 避免 xhost + 全开放,最小权限原则授权特定 IP/用户。
  3. 使用完毕及时撤销:xhost -authorized_host。
  4. 生产服务器建议禁用 X Server 网络监听(nolisten tcp)。

xhost 命令授权示意图

xhost 是 X Window 访问控制的基础工具,理解其授权模型与 SSH X11 转发的关系,可安全高效地实现远程图形应用本地显示。现代 Wayland 合成器(GNOME/KDE)已逐步替代 X11,授权机制有所不同。

Copyright © Windows教程網 All Rights Reserved