使用 Vagrant 时间歇性出现“错误:无法打开显示:localhost:10.0”

使用 Vagrant 时间歇性出现“错误:无法打开显示:localhost:10.0”

我已经设置了具有 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 就可以了。

相关内容