我的 Cygwin X 64 位在 Windows 7 上运行良好。我升级到 Windows 10,但一切都停止了。
所以我删除了 Cygwin 并从头开始重新安装。我安装了 Cygwin X 1.18.4 (x86_64)。我使用 启动 X 服务器startxwin
。我只能在设置时让 xterm 工作DISPLAY=:0
。
如果我设置DISPLAY=localhost:0
我得到can't open display
。
另外,我不能让另一台计算机将 xterm 返回到 Cygwin X。我得到同样的错误。我什至尝试将 xterm 扔到 Linux 主机上,但出现了同样的错误。 Windows 防火墙已关闭,并且我xhost +
在所有主机上都进行了设置。
关于为什么我无法显式设置DISPLAY
localhost 或计算机的本地 IP 有什么建议吗?
谢谢
答案1
正如上面提到的
https://sourceware.org/ml/cygwin-announce/2015-10/msg00111.html
“-nolisten tcp”现在是默认值,因此服务器仅接受 unix 域套接字上的本地连接。添加了“-listen”选项,可用于恢复以前的行为。
答案2
这是您可以取消“-nolisten tcp”选项并运行的方法自动服务器:
<path-to-cygwin>\bin\run.exe -p /usr/X11R6/bin XWin -listen tcp -multiwindow -clipboard -silent-dup-error
答案3
ssh -Y host
我发现使用选项更好https://x.cygwin.com/docs/faq/cygwin-x-faq.html#q-ssh-no-x11forwarding
答案4
我的 DISPLAY 设置为“:0.0”,效果很好。我通过反复试验得到了这个设置,但 CYGWIN/X FAQ 确实这么说:
3.13. I upgraded and now X clients can't connect
A1:
Since X server 1.17, by default the server does not listen for TCP/IP
connections, only accepting local connections on a unix domain socket.
For local clients, use DISPLAY=:0.0, rather than DISPLAY=localhost:0.0,
DISPLAY=127.0.0.1:0.0, DISPLAY=::1:0.0, etc. See Q: 1.6..
A2:
For remote clients, rather than connecting over TCP/IP by explicitly
setting DISPLAY and allowing access using xhost or by disabling access
control, use ssh tunnelling with ssh -Y instead. (See the User's Guide
section on X forwarding using ssh for more details).
A3:
Use the -listen tcp option to restore the previous behaviour, allowing
the X server to open a TCP/IP socket as well e.g. startxwin -- -listen
tcp. See Q: 4.2..
CYGWIN/X 常见问题解答网址 https://x.cygwin.com/docs/faq/cygwin-x-faq.html