WSL2 将不会在 Windows 11 上使用 Xming

WSL2 将不会在 Windows 11 上使用 Xming

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

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

答案1

简短回答:

尝试运行:

export DISPLAY="$(hostname).local:0"

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

解释:

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

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

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

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

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

相关内容