无法以超级用户身份连接到X服务器:0.0


10

当我在线时,出现以下错误,该工具无法启动:

[root@dhcppc9 lin64]# ./ise
No protocol specified
_pn: cannot connect to X server :0.0

但是当我不是超级用户时,一切都很好。为什么?

编辑

[root@dhcppc9 lin64]# export $(dbus-launch)
No protocol specified

有什么建议吗?

[root@dhcppc9 lin64]# xhost [+]
No protocol specified
xhost:  unable to open display ":0.0"

这是经典。您可能已经export $(dbus-launch)使用或xhost [+]曾经使用X和您的超级用户帐户启动程序。
1754年

两者都做过,请参见上面的编辑
msz 2014年

可能是$ xhost查看当前访问并$ xhost +启用来自任何主机的访问。你经常这样做,从你肯定知道可以使用十产卵程序的虚拟终端
41754

@galegosimpatico:为什么启动dbus服务器会解决此问题?
Bananguin 2014年

当您不是超级用户时,echo $DISPLAY显示什么?您要使用的xserver进程属于哪个用户?(例如,您可以使用后者找到后者ps faux
Bananguin 2014年

Answers:


12

X程序需要两条信息才能连接到X显示器。

  • 它需要的显示,这是典型的地址:0,当你在本地已经登录或:10:11等等。当你在远程登录(但数量会随着许多X连接是如何积极改变)。显示器的地址通常在DISPLAY环境变量中指示。

  • 它需要显示密码。X显示密码称为魔术cookie。不可直接指定魔术Cookie:魔术Cookie始终存储在X授权文件中,该文件是“显示:42具有cookie 123456” 形式的记录的集合。X授权文件通常在XAUTHORITY环境变量中指示。如果$XAUTHORITY未设置,则程序使用~/.Xauthority

请参阅在远程X显示器上打开窗口(为什么“无法打开显示器”)?更多细节。

就您而言,DISPLAY已设置,但程序显然找不到cookie文件。XAUTHORITY在会话中和下检查的值su

如果XAUTHORITY未在会话中设置,并且suHOME环境变量设置为root的主目录,则需要将主目录设置XAUTHORITY/home/msz/.Xauthoritywhere /home/msz

如果从环境中su删除XAUTHORITY,请将其放回原处,或配置su为不这样做。

如果您的主目录位于某些文件系统(如NFS)上,则root可能无法直接读取它。在这种情况下,您可以将.Xauthority文件复制到非NFS文件系统上的其他位置:

XAUTHORITY_COPY=$(umask 077; mktemp)
cat "${XAUTHORITY:-~/.Xauthority}" "$XAUTHORITY_COPY"
XAUTHORITY="$XAUTHORITY_COPY" su
rm "$XAUTHORITY_COPY"
unset XAUTHORITY_COPY

1
我创建了一个符号链接,它也正常工作。在这里是:ln -s /home/otheruser/.Xauthority ~
CanGeliş15年

对我来说XAUTHORITY被设置为不再存在的文件:
pbhj

5

您正在以root用户身份运行xhost!

以普通用户身份运行xhost xhost +,然后成为root 用户,然后重试。

顺便说一句,正如其他人指出的,它xhost +允许来自任何主机的任何用户


设置了许多现代系统,因此xhost无法正常工作。如果是这样,那么至少要运行xhost +localhost,而不是xhost +
吉尔斯(Gilles)'所以

明白,这是一个好点。谢谢你的建议。
X田

这是我的问题!谢谢,一切都解决了!我只是从非根目录运行它。
Quidam

0

对我来说,XAUTHORITY被设置为不再存在的文件:

$ echo $XAUTHORITY

/tmp/xauth-1000-_0

所以我做了

unset XAUTHORITY

然后可以使用kdesudo以root用户身份连接到我的应用程序(在这种情况下kdesudo bleachbit


0

以普通用户身份运行

xhost + localhost

然后通过启用超级用户

sudo su 

终于去服务器的例子

cd /usr/local/Ampps

最终运行./Ampps

谢谢我在2020年


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.