我想在 Parallels VM 中运行的 Ubuntu 12.04 桌面上启动一个简单的 X 应用程序,尽管我可以让所有 X 应用程序和服务器在我的 VM 网络中很好地协同运行,但 Ubuntu VM X 服务器上显示的 OS X xterm 存在问题,如下所示:
我在 Parallels Desktop 8 for Mac 中有一个运行 Ubuntu 12.04 的虚拟机,它运行的是 Mavericks 10.9.1 和 XQuartz 2.7.5
我可以从 Ubuntu VM 上启动 OSX 主机 X 服务器的 twm 上的 xterm
parallels@parallels-Parallels-Virtual-Platform:~$ xterm -display 192.168.0.2:0
我可以从主机笔记本电脑(192.168.0.2)顺利通过 ssh 进入 Ubuntu VM(10.211.55.8)
ssh [email protected]
当从 OSX 运行 xterm 以在 linux VM 上显示时,会出现错误 - 我xhost +
在 linux VM 上做过 - 这没有帮助。错误很简单,但很难消除 - 我读过我们网站和其他地方的许多不同帖子 - 对我来说没有一个有用:
xterm -display 10.211.55.8:0
xterm: Xt error: Can't open display: 10.211.55.8:0
我甚至尝试过使用旧方法,但也无法使其工作 - 这些是那些错误 - 执行此命令似乎也会弄乱哪个服务器认为它是 192.168.0.2,但那是不同的问题...:ssh -X [email protected]
whmcclos@Williams-MacBook-Pro:~$ ssh -X [email protected]
Warning: untrusted X11 forwarding setup failed: xauth key data not generated
Warning: No xauth data; using fake authentication data for X11 forwarding.
Welcome to Ubuntu 12.04.3 LTS (GNU/Linux 3.2.0-53-generic x86_64)
* Documentation: https://help.ubuntu.com/
217 packages can be updated.
92 updates are security updates.
提醒自己 — — 是时候更新 Ubuntu VM 中的某些软件包了……
答案1
以下是该问题的部分解决方案:
在 OS X Mavericks XQuartz 端,按如下方式更改 /etc/sshd_config 参数
whmcclos@Williams-MacBook-Pro:/etc$ egrep '^(X11Forwarding|X11UseLocalhost)' /etc/sshd_config
X11Forwarding yes
X11UseLocalhost no
在 Ubuntu Linux 12.04 Parallels VM 端,更改 /etc/ssh/sshd_config 参数如下
parallels@parallels-Parallels-Virtual-Platform:~$ egrep '^(X11Forwarding|X11UseLocalhost)' /etc/ssh/sshd_config
X11Forwarding yes
X11UseLocalhost no
然后,从 Ubuntu Linux 12.04 Parallels VM 打开一个终端,使用 X11 转发选项 -X 通过 ssh 进入 Mavericks OSX 服务器,并启动所需的 X 应用程序:
parallels@parallels-Parallels-Virtual-Platform:/etc/ssh$ ssh -X [email protected]
Last login: Mon Jan 13 19:07:22 2014 from 192.168.0.72
whmcclos@Williams-MacBook-Pro:~$ xemacs &
[1] 7088
以下图片证明了该方法的有效性
不幸的是,这并不能使我们像以前那样完成这项任务,即我们曾经做过这样的事情 - 这仍然可能吗?
parallels@parallels-Parallels-Virtual-Platform:~$ xhost +
access control disabled, clients can connect from any host
parallels@parallels-Parallels-Virtual-Platform:~$ ssh whmcclos@mbp
Last login: Mon Jan 13 19:47:31 2014 from 192.168.0.72
whmcclos@Williams-MacBook-Pro:~$ export DISPLAY=192.168.0.72:0
whmcclos@Williams-MacBook-Pro:~$ xterm
xterm: Xt error: Can't open display: 192.168.0.72:0
whmcclos@Williams-MacBook-Pro:~$
有趣的是,当我使用 -X 开关进行 ssh 时,DISPLAY 环境变量会被设置为一些我从未想到过的东西——值得思考的事情:
parallels@parallels-Parallels-Virtual-Platform:~$ ssh -X whmcclos@mbp
Last login: Mon Jan 13 19:48:12 2014 from 192.168.0.72
whmcclos@Williams-MacBook-Pro:~$ echo $DISPLAY
Williams-MacBook-Pro.local:10.0