我在 Hyper-V 上运行 Arch Linux 机器,并使用 Windows X11 Server (VcXsrv) 作为 GUI。它运行得非常好(因为它将 X Windows 作为 Windows 10 中的本机窗口 - 我可以这样做Alt+Tab;它几乎就像我的 Windows 10 窗口管理器 :-))除了一个问题:如果我锁或者暂停我的机器可能由于这里提到的问题: WSL2 X11 程序“消失”。最糟的是所有工序都完好无损。
看起来 TCP/IP 是个问题;但如果我在同一台机器上,为什么 TCP/IP 会成为问题?我能做到吗不是锁定或暂停期间断开连接?
或者,如果我可以存储窗口 ID 或类似的东西,是否有办法重新连接 X Windows?这似乎是一个简单的问题,但似乎没有直接的解决方案。
我可以使用screen
来保存我的终端工作(但即使这样终端窗口也会打开),但这X
就是问题所在。我在xpra
这里读到重新连接到丢失的 X11 会话,但我怀疑它是否可以在 Windows 中创建会话?
重现此问题的步骤非常简单:
- 使用 Hyper-V 创建 VM。
- 使用 Hyper-V 的“连接”打开控制台。
- 在 Windows 上启动 VcXsrv。
- 类型
DISPLAY=<host.ip.address:0.0> xterm
。 - 锁定或暂停 Windows。
那ing又怎么样disown
?
我的启动脚本如下所示:
#!/usr/bin/bash
"${@}" &>/dev/null &
disown
我的启动脚本中 ing会不会disown
是问题所在?我偶尔会退出 Hyper-V 控制台(尤其是在启动 GUI 程序后)——这会是个问题吗?
编辑:保持 Hyper-V 控制台打开也无法解决问题。即使在前台执行也disown
无济于事。