我在我的机器上运行 Debian 9.5,当我运行命令时,xhost
有以下输出:
access control enabled, only authorized clients can connect
SI:localuser:username
因此,根据我的理解,root 不应该被允许访问 x-server,但是当我切换到 root 并su
从终端运行 GUI 应用程序时,一切都运行良好,尽管它不应该。
那么有人可以解释为什么我的 x-server 忽略访问控制列表中的条目吗?
答案1
如果您曾经su
切换到 root,则XAUTHORITY
环境变量在由 启动的 root shell 中可用su
。由于 root 可以读取您的文件,因此它可以访问 Xauthority 文件。在我的系统上:
root@host# medit
启动正常,但清空XAUTHORITY
会导致失败:
root@host# XAUTHORITY= medit
No protocol specified
(medit:25388): Gtk-WARNING **: 12:35:31.963: cannot open display: :1