我在 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"
这应该允许xmgrace
(gnuplot
以及任何其他 X 客户端)使用 Xming。
解释:
即使在 Windows 11 上,您仍然可以将 Xming 与 WSL2 结合使用,但您需要DISPLAY
适当地设置变量以确保 X 客户端(例如xmgrace
)gnuplot
显示在适当的 X 服务器上。
默认情况下,在带有 WSLg 的 Windows 11 上DISPLAY=:0
,它会将流量发送到localhost:0
X 套接字/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