首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >xhost:无法打开显示"0“

xhost:无法打开显示"0“
EN

Ask Ubuntu用户
提问于 2019-01-11 18:33:50
回答 4查看 54.6K关注 0票数 3

我已经将/usr/local/stata/xstata作为根用户,权限为755。

当我试图通过终端从非根帐户运行这个程序时,我得到:

代码语言:javascript
复制
user@host ~ % /usr/local/stata/xstata-mp
(xstata-mp:8030): Gtk-WARNING **: 10:09:24.384: cannot open display: 0

“这很奇怪,”我想,我只是知道我在我的.zshrc中设置了.zshrc,“那么,也许在运行这个命令时我需要显式地这样做?”所以我试着:

代码语言:javascript
复制
user@host ~ % DISPLAY=0 /usr/local/stata/stata-mp
(xstata-mp:8201): Gtk-WARNING **: 10:13:28.638: cannot open display: 0

Edit: per @steeldriver 's的评论我也尝试过显示=:0

我周围有一个为什么gksu/gksudo不使用Wayland,或者用sudo启动一个图形应用程序?,它看起来很有希望(虽然我不使用Wayland,但我在Ubuntu18.10上,Wayland仍然被安装)。我尝试使用以下命令作为user@host,并在管理帐户中使用su:

代码语言:javascript
复制
user@host ~ % xhost -si:localuser:root
xhost:  unable to open display "0"

我走投无路,试着:

代码语言:javascript
复制
user@host ~ % DISPLAY=0 xhost -si:localuser:root
xhost:  unable to open display "0"

我试过其他显示号码都没有用。我想“我是个新手,也许localhost真的意味着和尝试上面提到的排列。

代码语言:javascript
复制
user@host ~ % xhost -si:user:root
xhost:  unable to open display "0"

原来我是个新手,但没什么用。:)

<#>How我能让xhost魔术化吗?

EDIT 3-22-2019:

代码语言:javascript
复制
pgrep -a Xorg
3907 /usr/lib/xorg/Xorg vt1 -displayfd 3 -auth /run/user/123/gdm/Xauthority -background none -noreset -keeptty -verbose 3
7370 /usr/lib/xorg/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -background none -noreset -keeptty -verbose 3
EN

回答 4

Ask Ubuntu用户

回答已采纳

发布于 2019-03-23 19:34:27

由于某些原因(很可能与我是上述菜鸟有关),虽然echo $DISPLAY返回:0,但如果我键入who,我会看到我的显示实际上是:1 (?!),因此如果我调用DISPLAY=:1 /usr/local/stata/stata-mp,程序就会启动而不会出错。

重申我对unable to open display #的解决方案:

  1. 键入who并注意实际显示号(如果有冒号,则包括冒号)
  2. 对于所需的命令(例如,xhost/usr/local/stata/stata-mp),键入DISPLAY=[INSERT NUMBER YOU NOTED HERE] [x COMMAND HERE]

我会乐意支持和接受另一个答案,这可以帮助我理解这个看似不一致的行为。

票数 3
EN

Ask Ubuntu用户

发布于 2019-04-01 18:06:03

试试xhost +si:localuser:root

这将告诉您正在使用的xserver (无论是显示:0或:1,还是其他地方)来接受来自本地用户的连接,称为“root”--也就是说,使用SUID到root的程序,或者您在前面执行了sudo

票数 2
EN

Ask Ubuntu用户

发布于 2020-07-10 20:43:26

xauth或xhost方案都不允许root通过"su“或使用"sudo”启动的应用程序从运行根的终端打开Debian 10 (Buster)或Ubuntu 20.04中的显示。

有人(我不记得是谁)张贴了(我不记得在哪里)在/etc/amam.d/su和/etc/amam.d/sudo中添加了以下一行:

会话可选pam_xauth.so

如果(a)在发行版中更容易找到,或者(b)在分发中这样做,这将是有帮助的。

票数 2
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1108934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档