问题描述:在MacOS中用ssh -X连接远程服务器,刚开始时X11转播正常,能正常开启图像界面,如用ipython画图之类的。但一段时间后当需要再次开启某个图像界面时报错:
QXcbConnection: Could not connect to display localhost:10.0
Aborted (core dumped)
此时需要断开当前ssh连接重新登录后才可以继续使用图像界面,如此反复,相当烦人。
解决方案:这一问题具体的原因分析参见http://b.kl3in.com/2012/01/x11-display-forwarding-fails-after-some-time/,貌似是X11对不信任连接的转播超时所致。结合上面连接里的正文和评论,可能有如下三种解决方法:
(1)在本地(MacOS)的 ~/.ssh/config 文件中(不存在的话自己创建一个)添加如下一行(在我自己的MacOS Sierra测试成功)
ForwardX11Trusted yes
(2)换用ssh -Y连接远程服务器绕来这一问题,但可能会有安全上的问题(?)
(3)更改X11转播超时的时间,即在本地(MacOS)的 /etc/ssh_config 或 /etc/ssh/ssh_config 中添加如下一行
ForwardX11Timeout 596h