在 root 终端中运行任何与 Gnome 相关的内容都会出现错误

在 root 终端中运行任何与 Gnome 相关的内容都会出现错误

刚刚安装的 Debian 6.0.3,运行 Gnome 2.30.2。在 root 终端中,每当我尝试打开任何与 Gnome 相关的内容时,都会收到此错误:

unable to open display ":0.0"

有时其前缀为:

No protocol specified

我已将我的主机名添加到xhost,并输入了xhost +[myhostname]根的bashrc,但当我打开根终端时,它失败了。帮忙?

编辑:我能让它工作的唯一方法是完全关闭访问控制,但我知道一定有更好的解决方案。

答案1

No protocol specified”通常意味着您被拒绝访问 X11 显示。有几种方法可以实现您想要的效果:

  • 指向$XAUTHORITY您的 Xauthority 文件。有时它位于~/.Xauthority您的主目录中;对于 GNOME,它是位于 深处的一个临时文件/var。以下方法在两种情况下都有效:

    • echo $XAUTHORITY只需使用和将环境变量复制到您的根终端export XAUTHORITY=...

    • 通过添加到其 PAM 配置来制作suXauthority 的副本。pam_xauth

    • 使用,并将其配置为在其选项中sudo -s包含“ ”。XAUTHORITYenv_keep

    • 用于gksu gnome-terminal启动根终端。

  • 通过从普通终端运行来添加root允许的用户xhost +si:localuser:root。这样就不再需要 Xauthority。

不是将计算机的主机名添加到xhost,因为这不可靠(rDNS 问题),不适用于本地连接(仅限 TCP),并且不安全(允许任何用户连接到您的显示器)。

相关内容