我的XWin服务器在我的本地计算机上运行(Windows 7)。当我打开一个cygwin shell并输入emacs时,emacs的图形显示会按预期出现 现在我尝试在我的本地计算机上显示远程应用程序。在cygwin中,我输入:
ssh -X root@.....
(我也尝试了 ssh -Y root @ ... ,结果相同。)我使用密码登录,然后收到这个有趣的消息:
/usr/bin/xauth: creating new authority file /root/.Xauthority
然后我尝试打开xeyes。这就是我期望在我的本地机器上弹出一个窗口,其中有一个跟随鼠标光标的眼睛。相反,我得到一些神秘的错误信息:
root@debian:~# xeyes
connect /tmp/.X11-unix/X0: Bad file number
Error: Can't open display: localhost:10.0
这是我在Linux上的故障排除功能的范围:
root@debian:~# echo $DISPLAY
localhost:10.0
我对Linux很新。如何让远程服务器了解我的本地XWin服务器?看起来它应该很简单,因为我已经通过ssh建立了连接。
更新的
所以我猜cygwin有这个“功能”,如果你把DISPLAY设置为:0,它意味着不同于localhost:0。根据建议将DISPLAY设置为127.0.0.1:0或localhost:0将解决问题。
答案 0 :(得分:2)
你在Cygwin之外使用XWin,这可能会导致问题。尝试设置DISPLAY = 127.0.0.1:0,如下所示:
http://cygwin.com/ml/cygwin-xfree/2002-10/msg00065.html
在“使用Cygwin的OpenSSH和XWin-32”下
答案 1 :(得分:1)
我认为此处有2条错误消息。第一个是因为SSH客户端根本无法连接到本地计算机上的X显示器(/tmp/.X11-unix/X0表示:0)。这导致服务器端的第二个错误。如果你在本地运行cygwin xeyes会发生什么?