无法通过命令行打开图形应用程序?

时间:2013-01-18 05:03:09

标签: bash fedora

我无法通过终端在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命令也适用于其他情况。

在研究问题时I came across many similar cases with no clear solution. The following link has a user with a similar problem(虽然在我的情况下使用ssh和Ubuntu,而不是本地和Fedora)。

提前致谢!

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

由于正在定义DISPLAY,因此这可能是权限问题。你是如何开始X的? (据我所知,通常X是以root身份启动的,当您登录时,您被授予访问权限,以便不会发生这些问题,除非您从与您记录的帐户不同的帐户运行sudo进入X with。)

您需要提供正确的“cookie”文件才能访问会话(只是root不足以进入)。对于用户而言,这通常是~/.Xauthority,因此执行xauth merge /home/<user>/.Xauthority应该可以解决问题。

或者您尝试了gksu

答案 2 :(得分:0)

我实际需要这个(从CLI用不同的用户运行X应用程序),有效的workarround是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

答案 3 :(得分:0)

我知道这是5岁的帖子,但是我花费很多时间来解决安装 Pixar渲染器的问题。然后,我想发送自己的解决方案,也许可以帮助别人

问题是由于此“ sudoer(此处为string xml_string = @"<File>...</File>"; var xml = XElement.Parse(xml_string); var empty = xml.Descendants() .Where(d => d.Elements().Count() == 0 && d.Value.Trim() == "") .Select(d => d.Parent); empty.Remove(); )无法访问图形空间”。 (我不知道它是否总是或有时。我在Ubuntu 16.04上遇到了这个问题)

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

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

Terminal

让我知道您的反馈