最大化和恢复按钮在 WSL GUI 窗口中不可见

USE*_*ER2 2 windows windows-subsystem-for-linux

我最近开始使用带有 GUI 的 WSL2。我从读这篇文章开始。我可以轻松使用应用程序,但是窗口没有最大化和恢复按钮,而只能关闭:

图像

我还看到了一个 YouTube 视频,其中有人说需要安装 Xming 才能运行 WSL GUI,但对我来说,它没有安装 Xming 就可以运行,并且安装 Xming 没有任何效果。

是因为我错过了一个步骤还是我的电脑的限制?

我使用的是 Windows 11。

Not*_*1ds 5

这是预料之中的,也是许多 GUI 应用程序在 Ubuntu 中运行的方式。您没有具体提及您正在使用哪些应用程序,但从屏幕截图来看,该应用程序似乎是使用 GTK 工具包编写的。默认情况下,GTK(又名 Gnome)应用程序不会在窗口标题区域中包含最小化或最大化图标。

其他应用程序可能使用其他工具包。例如,如果您安装xterm,您看到最小化和最大化图标。

但是,您可以通过运行以下命令向 GTK 应用程序添加最小化和最大化控件:

gsettings set org.gnome.desktop.wm.preferences button-layout "close,minimize,maximize:"
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息和选项,请参阅此答案。

对于 Xming,这是在 WSL 中运行 GUI 应用程序的另一种方法。在 Windows 11 下,您通常不需要 Xming,因为 WSL2 包含用于运行 Ubuntu GUI 应用程序的 WSLg 功能。

但是,如果您确实想使用 Xming,是的,您可能确实错过了一步。您需要:

  • 正确设置DISPLAY环境变量以指向 Xming 而不是 WSLg:

    • 小明: export DISPLAY=$(hostname).local:0
    • WSLg(默认):( export DISPLAY=:0自动配置)
  • 您还需要确保 Windows 防火墙允许从 WSL2 到 Windows 的连接(因为 WSL2 实际上位于单独的虚拟网络上)。使用 Windows Defender,您通常应该在第一次使用时看到“允许”弹出框,但如果您错过了它,则需要手动设置。