WSL2 不会在 Windows 11 上使用 Xming

Sim*_*ola 3 xming ubuntu windows-subsystem-for-linux wsl2 windows-11

我在 Windows 11 上将 WSL2 与 Ubuntu 20.04 结合使用。我注意到,当您打开 xmGrace 或 Gnuplot 等 GUI 应用程序时,WSLg 会通过“远程桌面连接”打开 GUI 应用程序。所以即使我安装了Xming也没有使用它。问题是 WSLg 的 GUI 界面有几个问题 —— 例如,xmGrace 中的顶部菜单栏根本不起作用。gnuplot 也有类似的问题。

在 Cygwin 上,使用 Xming 并且两个应用程序都可以完美运行。WSL 是否可以在 Windows 11 上使用 Xming 代替 WSLg?

Not*_*1ds 5

简短回答:

尝试运行:

export DISPLAY="$(hostname).local:0"
Run Code Online (Sandbox Code Playgroud)

这应该允许xmgracegnuplot以及任何其他 X 客户端)利用 Xming。

解释:

即使在 Windows 11 上,您仍然应该能够将 Xming 与 WSL2 结合使用,但您需要DISPLAY适当地设置变量,以确保 X 客户端(例如xmgracegnuplot)显示在适当的 X 服务器上。

默认情况下,在使用 WSLg 的 Windows 11 上DISPLAY=:0,它将流量发送到符号链接到 WSLg localhost:0X 套接字的 X 套接字/tmp/.X11-unix(正如您所注意到的,它使用 RDP 和 RAILS)。

由于 WSL2 在与 Windows 网络分离的虚拟网络内运行,因此您需要指向WindowsDISPLAY网络上的接口。可以使用 Windows 计算机的 mDNS 名称找到此接口,通常是“计算机名称”+“.local”。在 WSL 下,这通常是."$(localhost).local"

如果由于某种原因失败,请尝试更笨拙的版本:

export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0
Run Code Online (Sandbox Code Playgroud)