昨晚我在机器上安装了debian。现在,我不明白为什么以root用户身份运行时无法从终端运行GUI应用程序。
例如:
sudo -i
glxgears
生成以下输出:
No protocol specified
Error: couldn't open display :0
但是,当我第一次打开终端时,可以glxgears
从用户帐户运行。只有在我这样做之后sudo -i
,问题才会浮出水面。对于我尝试运行的任何GUI应用程序,都会发生这种情况。我认为它可能与X11有关,但我不确定。
访问X服务器需要做两件事:
$DISPLAY
指向正确显示的变量(通常为:0
)认证信息可以通过明确指定$XAUTHORITY
,~/.Xauthority
否则默认为。
如果为您的用户设置了$DISPLAY
和$XAUTHORITY
,sudo
也将它们设置为新的外壳,一切都应该正常工作。
如果未设置它们,则它们可能默认为错误的值,并且您无法启动X应用程序。
在Debian$XAUTHORITY
中通常没有明确设置。只需添加
export XAUTHORITY=~/.Xauthority
您.bashrc
或明确地说XAUTHORITY=~/.Xauthority sudo ...
,一切都应该工作。
您还可以xauth list
用来检查是否有正确的身份验证信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句