我已经安装 Debian 8 一周了,但我无法使用 root 用户从控制台运行任何图形应用程序。事实上,当我运行 xampp (或任何其他程序)时,我收到以下错误
root# /opt/lampp/manager-linux-x64.run
No protocol specified
No protocol specified
Unknown Error couldn't connect to display ":0"
我已经用谷歌搜索了该错误并尝试了任何建议,但尚未解决问题。
这是我的 Xauthority
root# echo $XAUTHORITY
/root/.Xauthority
这是我的 DISPLAY 变量
root# echo $DISPLAY
:0
奇怪的事实是,对于我的用户(不是 root 用户),我没有任何问题,我可以运行任何图形应用程序。 DISPLAY 变量与根变量相同:
user# echo $DISPLAY
:0
我也尝试了这里的建议 -->为什么我无法从“root”运行 GUI 应用程序:“未指定协议”?:
root# xauth + root
xauth: (argv):1: unknown command "+"
和命令
export XAUTHORITY=~/.Xauthority
没有任何影响
答案1
我只使用xhost +
然后跑sudo ./manager-linux-x64.run
,它就为我而来。
答案2
我已经使用命令解决了这个问题su -
。
这里su -
是和之间的区别su
答案3
您应该正确使用该xhost
命令。您可以使用xhost +IP
或xhost +Username
。
对于 root 用户,您需要运行的命令是:xhost +root
或对于本地主机上的每个用户:xhost +localhost
。
终于可以运行了
$ xhost +
这将xserver
暂时删除 ACL。
您可以阅读 xhost 上的联机帮助页man xhost
,看到它接受一个参数,而您传递的是两个参数+
,username
而不是 1 个参数,即+username
或+IP
。