在告诉我有很多与 X11 转发错误相关的帖子之前,让我先介绍一下我所做的事情:
我已经安装了以下软件包:
yum install -y xorg-x11-app*
yum install -y xorg-x11-server-utils
yum groupinstall -y 'X Window System'
yum install -y xorg-x11-xauth xorg-x11-fonts-* xorg-x11-utils xterm
yum -y groupinstall fonts
另外,我取消了以下设置的注释/etc/ssh/ssh_config
X11Forwarding yes
在我的 Windows 8 PC 上,我运行了 Xming。然后在 PuTTy 上选中“启用 X11 转发”,并将 X 显示位置设置为“:0.0”。然后我再次打开 PuTTy 并连接到我的虚拟机。然后我运行了以下命令:
xhost +
export DISPLAY=:0.0
xclock
这是导致的错误:
Error: Can't open display: :0.0
有人知道我做错了什么吗?或者我还需要做什么来解决该问题?让我告诉你,我以前做过这个,但只针对 CentOS 7 桌面安装,并且它没有托管在 Hyper-V VM 上。
提前致谢。
答案1
export DISPLAY=:0.0
不要这样做。如果 ssh 正在转发 X,那么它将把 DISPLAY 变量设置为正确的值。你用“:0.0”覆盖了正确的值,这是不是此处的正确值。
DISPLAY 值“:0.0”表示连接到在同一台计算机上运行的默认 X 显示器。因此,您告诉 X 程序连接到在远程计算机上运行的 X 服务器(并且可能显示在远程计算机的屏幕上)。
如果您检查一下,您可能会发现 DISPLAY 已设置为“localhost:10”或类似值。该值告诉您的 X 应用程序连接到 SSH 设置的端口以接收转发的 X 连接。
对于这一点:
xhost +
xhost 设置 X 显示器的访问权限。您几乎肯定不需要在这里运行它,并且您正在打开显示器,以便网络上的其他人可以连接到您的显示器。除非您知道有必要,否则不要运行它。
答案2
yum 安装 xauth
这提供了允许创建 Xauthority 文件的部分。