我无法通过终端在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)。
提前致谢!
答案 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
让我知道您的反馈