我已经设置了具有 X 转发功能的 Vagrant VM。我使用以下命令连接到它(以提高 X 性能):
ssh -c arcfour,blowfish-cbc -XC vagrant@VM-NAME
这工作正常;我登录到虚拟机,每当我启动 X Windows 应用程序时,它就会呈现在我的本地 X 客户端中。
然而,使用大约 15 - 30 分钟后,启动 X Windows 应用程序时开始出现以下错误:
vagrant@VM-NAME:~/$ firefox
Error: cannot open display: localhost:10.0
这种情况会一直持续,直到我断开 SSH 连接并重新连接。奇怪的是,我已经启动的任何 X Windows 应用程序都保持正常运行。
无论我是否使用 tmux,都会发生此错误。我的系统详细信息如下:
主持人
Mac OS X 10.7.5
VirtualBox 4.2.6 r82870
客户
Ubuntu 12.04 (precise)
Kernel 3.2.0-35-generic (#55-Ubuntu SMP Wed Dec 5 17:42:16 UTC 2012)
Xorg 1.11.3 (29 August 2012 12:12:33AM)
我已经在虚拟机上安装了完整的 ubuntu-desktop 包。
有什么办法可以解决这个问题吗?我发现很多关于 X 转发不起作用的文档和问题报告根本,但与最终的失败无关。
注意:我已将 SSH 客户端和 XQuartz 升级到最新版本,但问题仍然存在。不是但是,如果我使用常规vagrant ssh
命令连接到虚拟机,就会发生这种情况。
答案1
我在 Stack Exchange 上回答过相关问题:
Error: cannot open display: localhost:10.0
与 Vagrant间歇性合作
简而言之,在 ssh 配置中使用 -Y 就可以了。