我已经在远程 ubuntu 机器上安装了 SSH,并且启用了远程桌面。我正在尝试在 Windows 机器上使用 X-windows。
我已经安装了 Cygwin/X - 但是用户指南告诉我如何在 Windows 中运行 XServer。我想连接到我的 Ubuntu 机器(我已验证此机器 X11 + 端口转发已正确完成,因为我可以从远程 Linux 机器通过 ssh -x 进入该机器)。
我已经做好了这但我收到以下错误:
2 [main] Xwin 9192 fork:子进程 -1 - 在初始化之前等待 longjmp 时死亡,重试 0,退出代码 0x600,errno 11
有人能解释一下如何使用 Windows Cygwin/X 并打开远程 Ubuntu 机器的窗口吗?
答案1
可能与 Xwin 无关,但可能是 fork() 的问题
尝试这个:
Due to issues with Cygwin's fork() and DLL base address
conflicts, one should rebase their Cygwin system to prevent fork()
failures. Use the following procedure to rebase your system:
a. install the Cygwin rebase package (if necessary)
b. shutdown all Cygwin processes
c. start bash (do not use rxvt)
d. execute rebaseall (in the bash window)
答案2
从 Windows 连接到 Linux 机器的最简单方法是使用类似 PuTTY(可免费下载)之类的程序。
如果您无法连接 PuTTY,那么您可能遇到了防火墙网络问题(尽管根据您的描述,Nifle 对 DLL 问题的建议听起来是正确的)。
PuTTY 还将为您提供 X11 转发,因此您不必直接使用 ssh -x。
如果 PuTTY 可以工作,而 Cygwin shell 中的 ssh -x 不工作,则尝试 Nifle 的 forking/rebase 解决方案。
如果您想要让 X Forwarding 与 Cygwin/X 和 PuTTY 作为终端窗口一起工作,请按照我的说明进行操作:如何使用 PuTTY 和 Xming 在 Windows 上实现 X11 转发功能?至少,您可能需要配置 Cygwin/X 的 -listen tcp 位,这样它才能接受传入的 X 连接(如果您从 Cygwin 上运行的 bash 进行 X 转发,则 XAUTHORITY 参数可能已经设置,因此说明的第二部分将毫无意义)