我已经设置了ForwardX11 yes
,/etc/ssh/ssh_config
通常可以让我在 CentOS5 上打开 GUI 程序ssh -X server
但在 CentOS6 上执行同样的事情时,我得到了
# firefox -no-remote
Error: no display specified
#
可能出了什么问题?
更新
尝试过以下
# firefox -no-remote
Error: no display specified
# echo $DISPLAY
# export DISPLAY=localhost:0.0
# echo $DISPLAY
localhost:0.0
# firefox -no-remote
Error: cannot open display: localhost:0.0
#
更新 2
~$ echo $DISPLAY
:0.0
~$ export DISPLAY=localhost:0.0
~$ ssh -X root@net2
[root@net2 ~]# xclock
Error: Can't open display:
[root@net2 ~]#
答案1
将 ForwardX11 更改为 yes 后,您是否重新启动了 sshd 服务器?即,通过输入:
# /etc/init.d/sshd restart
另外,您可以先尝试使用一些更简单的东西,例如 xclock 来隔离它是否与 Firefox 有关(以证明至少您的远程 X11 工作正常)。
# /usr/bin/xclock &
您可能需要先安装它。
# yum install xorg-x11-xauth
安装 xorg-x11-xauth 后,退出 X11 窗口,然后按照上述操作重新登录。然后您可以执行以下操作:
# yum install xclock
# /usr/bin/xclock &
您可能还需要使用 xhost。我相信它位于 xorg-x11-server-utils 中。
# yum install xorg-x11-server-utils
# xhost + enter.your.server.address.com
如果这对您有用,那么这是 Firefox 设置问题。这可能是您需要绕过的安全相关问题,才能让 Firefox 按照您尝试的方式远程工作。我记得必须设置 Firefox 内部的某些内容才能按照您尝试的方式通过 SSH 远程访问它。最后,它使用起来太慢了(在我让它工作之后),我放弃了使用它。
答案2
提示中的井号表示您已在终端中执行了su
或?或者您以 root 身份在 GUI 中运行?sudo
无论如何,您需要在启动 SSH 连接之前设置 DISPLAY 变量。类似于export DISPLAY=localhost:0.0
,但这取决于您如何运行本地 X 服务器。
您可以通过运行来检查变量是否在提示中设置echo $DISPLAY
。它应该返回一些内容。