错误:无法打开显示器:localhost:0.0 - 尝试从CentOS 6.2 64位打开Firefox并在Win7上显示

24

我正在使用Windows7电脑,尝试让Firefox在CentOS机器上打开但显示在当前屏幕上。在终端输入firefox时,我收到以下错误:

Error: cannot open display: localhost:0.0

我使用以下命令来设置显示:

$ export DISPLAY=localhost:0.0

有些网站建议使用以下方法,但这也没有起作用:

$ export DISPLAY=:0.0

我正在使用PuTTY,启用了X11转发选项,并在Windows上运行XMing。另外,CentOS上的sshd_config文件似乎也设置正确:

$ cat /etc/ssh/sshd_config |grep -i x11
#X11Forwarding no
X11Forwarding yes
#X11DisplayOffset 10
X11UseLocalhost yes

我查看了许多页面并在StackOverflow上搜索,但都没有帮助到我。提前感谢您。


这个问题可能更适合在http://superuser.com/上提问。此外,在Xming中有一个“XLaunch”实用程序,它允许连接到远程服务器并启动应用程序,而无需显式使用PuTTY等工具。你试过吗?它有效吗? - aland
2
尝试不设置DISPLAY变量...实际上你应该不需要它。 - Scott
@aland 我在互联网上查看了XLaunch实用程序,但我不知道你说的“尝试在没有PuTTY的情况下启动应用程序”是什么意思。我只是注意到XMing有一个命令处理器,但我不知道如何使用它。此外,我也不太确定如何迁移我的问题。 - SaiyanGirl
当我尝试这样做时,我会得到以下错误信息:“Error: no display specified”。互联网上的所有建议都说我应该设置显示变量以解决此错误,但对我来说似乎没有任何效果 :( - SaiyanGirl
@Dana XLaunch是XMing发行版的一部分,它是用于配置XMing的GUI。顺便说一下,您不应手动指定DISPLAY变量,PuTTY应该为您完成这项工作。对于远程服务器,您的X可能不是:0.0,而是其他内容(通常是:10.0);尽管您的XMing认为自己是:0.0,但PuTTY会进行端口转发以隐藏它,因为:0.0可能已被其他用户或默认的X或其他东西占用,所以它会自动查找一些可用的X显示编号并使用它。 - aland
@Dana 只有版主可以迁移问题,您应该将您的问题标记为属于 SU。 - aland
5个回答

16

所以,事实证明,在centOS上并没有安装X11。似乎没有任何迹象表明它没有被安装。我运行了以下命令,现在firefox可以打开:

yum groupinstall 'X Window System' 

希望这个答案能够帮助到其他感到困惑的人 :)


非常感谢。这也解决了我的问题。我在网上搜索了很久才找到这个解决方案。现在我只需要让gvim找到字体,就可以开始了... - some
1
这个问题可以通过安装X11字体来解决。(在Fedora中:使用“yum search fonts”获取字体列表,然后安装相关的X11字体) - some
我有同样的问题,但我没有ROOT权限。在这种情况下有解决方案吗? - SAAD

5
我曾经遇到这个问题,通过修复我的/etc/hosts文件来解决它。它无法解析本地主机名...详细信息请参见:http://itvictories.com/node/6 实际上,99%的错误都与/etc/hosts文件有关。
X服务器只是无法解析本地主机,所有后续操作都会失败。
请确保您有像以下记录一样的记录:
127.0.0.1 localhost

在您的 /etc/hosts 文件中。

你能在这里发布答案吗,而不是提供一个指向它的链接吗? - cheesemacfly
1
链接对我来说无法加载 =/。我收到了内部服务器错误。你能在这里发布你的答案吗?谢谢。 - SaiyanGirl
链接已经失效。我在我的/etc/hosts文件中有127.0.0.1本地主机,但仍然无法工作。 - jturi
在我的情况下,我在我的/etc/hosts文件中也有127.0.0.1 localhost,但仍然无法工作。 - Anshul Singhal

3

我遇到了这个错误信息:

Error: Can't open display: localhost:13.0

这对我有用:

export DISPLAY="localhost:10.0"

你可以使用这个工具:
export DISPLAY="127.0.0.1:10.0"

xauth list 这将打印所有显示器的授权条目。检查要使用的数字。
- shubham agarwal
导出DISPLAY="localhost:10.0" 这对我有效。非常感谢。 通过MobaXTerm v21.2访问Centos 8 带有Dwm的X11选项卡 <--- 我想。 - carrabino

1

开始之前,请确保已安装:

yum install -y xorg-x11-server-Xorg xorg-x11-xauth xorg-x11-apps
  1. 启动 xmingcygwin
  2. 与 X11 转发建立连接(在 putty 中不要忘记将 X 显示位置设置为 localhost:0.0)
  3. 编辑 sshd.cong 并重新启动
     cat /etc/ssh/sshd_config | grep X
                             X11Forwarding yes
                             X11DisplayOffset 10
AddressFamily inet

4. 没有 X11 转发功能,您将受到 X11 安全机制的限制,因此您必须: 授权远程服务器使用某种方法(例如 xhost 命令)与本地 X 服务器建立连接。 设置显示环境变量以将输出重定向到本地计算机的 X 服务器。 在本示例中: 192.168.2.223 是服务器的 IP 地址 192.168.2.2 是安装了 X 服务器的本地计算机的 IP 地址。也可以使用 localhost。
blablaco@blablaco01 ~
$ xhost 192.168.2.223
192.168.2.223 being added to access control list

blablaco@blablaco01 ~
$ ssh -l root 192.168.2.223
root@192.168.2.223s password:
Last login: Sat May 22 18:59:04 2010 from etcetc
[root@oel5u5 ~]# export DISPLAY=192.168.2.2:0.0
[root@oel5u5 ~]# echo $DISPLAY
192.168.2.2:0.0
[root@oel5u5 ~]# xclock&

然后必须启动xclock应用程序。

在putty或mobaxterm上进行检查,不要在远程桌面管理软件中检查。 对于使用sudo的用户要小心。


0
在我的情况下,问题是由于.Xauthority文件不匹配引起的。最初出现了“Invalid MIT-MAGIC-COOKIE-1”错误,然后是“Error: cannot open display: :0.0”。
从我正在运行vncserver的用户重新生成.Xauthority文件,并通过重新启动vnc服务和dbus服务重置密码,这为我解决了问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接