Xhost

来自 ArchWiki


来自 Xhost 手册页 (粗体已添加)

xhost 程序用于添加和删除主机名或用户名到允许连接到 X 服务器的列表。对于主机,这提供了一种基本的隐私控制和安全形式。它仅适用于工作站(单用户)环境,尽管它确实限制了最严重的滥用。需要更复杂措施的环境应实施基于用户的机制或使用协议中的钩子将其他身份验证数据传递到服务器。

参阅 xhost(1) 获取完整信息。

安装

安装 xorg-xhost 软件包。

用法

警告: 此命令授予任何本地用户访问您的 X 屏幕的权限。这对于单用户机器可能没问题,但通常不适用于多用户系统。如果您想授予 root 用户访问您的 X 屏幕的权限,最好设置 $XAUTHORITY 环境变量。默认情况下,sudosu 保留此变量(但不包括 su -)。

要为使用 sudosu 运行的应用程序提供对图形服务器(又名您的 X 会话又名您的计算机屏幕)的访问权限,请以普通用户身份打开终端并键入

$ xhost +SI:localuser:username 

要使一切恢复正常,并控制对 X 屏幕的访问权限

$ xhost -

xhost + 将完全禁用 X 身份验证。除非您真的知道自己在做什么,否则不要这样做。

“无法连接到 X server :0.0” 输出

警告: 此命令禁用访问控制,这意味着系统上或网络上的任何用户(如果 X 正在网络上监听)都可以访问您的 $DISPLAY,而无需任何身份验证。这会在您的系统上打开一个安全漏洞,允许其他用户在您的 X 服务器上启动应用程序(包括键盘记录器)。

上面的命令 xhost + 将使您摆脱该输出(即使是暂时的);永久解决此问题的方法之一(还有许多其他方法)是添加

xhost + > /dev/null

到您的 ~/.bashrc 文件中。这样,每次启动终端时,该命令都会执行。如果您尚未在主目录中创建 .bashrc 文件,则可以创建一个仅包含此行的文件。如果您不添加 > /dev/null,那么每次启动终端时,您都会看到一条非破坏性消息,内容为:已禁用访问控制,客户端可以从任何主机连接,这是您的确认,您现在可以以 root 身份无问题地运行 your_software

参见