0

我无法通过终端在 linux 中打开图形应用程序(在本例中为 Sublime Text 2)。我正在使用 Fedora 17。对于我尝试通过命令行打开的其他图形应用程序,我也收到此错误。

[root@computer djproject]# sublime settings.py
No protocol specified

(sublime:4202): Gtk-WARNING **: cannot open display: :0

此外,当我尝试这样做时,我会遇到相同类型的错误:

sudo sublime

请注意,在上面的命令中,我以没有 root 访问权限的普通用户身份登录。'sublime' 也映射到 Sublime Text 2,我之前在其他场景中测试过,所以这不是问题。另外,我已将此特定用户设置为有效的sudoer,并且 sudo 命令也适用于其他情况。

在研究这个问题时,我遇到了许多没有明确解决方案的类似案例。以下链接有一个有类似问题的用户(尽管在 Ubuntu 上使用 ssh,而不是在我的情况下使用本地和 Fedora)。

提前致谢!

4

4 回答 4

1

我花了很多时间试图解决这个问题,并在找到修复程序时遇到了这个线程。我的问题只是我在 byobu 会话中运行我的命令。我打开了一个新的终端选项卡并成功运行了相同的命令。

于 2013-09-24T19:36:45.060 回答
0

我实际上需要这个(使用不同的用户从 CLI 运行 X 应用程序),有效的解决方法是 SSH -X:

user1 拥有 X
user2 是第二个想要从 CLI 运行 X 程序的用户,在这个例子中,eclipse ide

user1:~$ ssh -X user2@localhost
The authenticity of host 'localhost (127.0.0.1)' can't be established.
ECDSA key fingerprint is 
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
user2@localhost's password: 
Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-44-generic x86_64)

user2:~$ 
user2:~$ /opt/eclipse/eclipse
于 2015-01-23T13:56:39.587 回答
0

由于DISPLAY正在定义,这可能是权限问题。你是如何开始 X 的?(据我所知,X 通常是由 root 启动的,当您登录时,您被授予访问权限,这样就不会发生这些问题,除非您使用sudo的帐户与您登录 X 时使用的帐户不同。)

您需要提供正确的“cookie”文件来访问会话(仅仅作为 root 是不够的)。对于用户来说,这通常是~/.Xauthority,所以执行xauth merge /home/<user>/.Xauthority应该可以解决问题。

或者你试过gksu吗?

于 2013-01-18T11:16:39.683 回答
0

我知道这是 5 年前的帖子,但我花了很多时间来解决安装Pixar Renderman 的此类问题。然后我喜欢发送我的解决方案,也许可以帮助其他人

问题是因为这个“sudoer(here root)无法访问图形空间”。(我不知道总是或有时。我在 Ubuntu 16.04 上遇到了这个问题)

执行以下操作解决了我的问题:

首先,Terminal以图形用户身份启动,++Alt然后 ,执行这些行CtrlT

$ unset XAUTHORITY
$ xhost add $DISPLAY . 123f
$ xhost +local:all
$ sudo xclock # or any graphical program needs sudoer 

让我知道你的反馈

于 2018-12-20T18:34:23.157 回答