启动带有 GUI 的应用程序时,没有错误消息,但没有显示窗口。我的显示变量设置为 192.168.128.1:0(不知道是否有帮助)。
在搭载 Ryzen 5 2500U 的 AMD 笔记本电脑上运行。
答案1
我暂时只做一个假设,但请使用我在评论中请求的附加详细信息来编辑您的问题,以便我们确保将来的其他用户可以更轻松地找到您的问题。
我的假设:
- 你之前运行的是 Windows 10
- 在某些时候,您要么在 Windows 10 中的 WSL 下使用 X 服务器(例如 VcXsrv 或 GWSL),要么尝试这样做。
- 你已将 Windows 10 版本升级到 Windows 11
- 您已
wsl --update
在 Windows 11 中运行更新您的 WSL 版本以包含 WSLg。 - 您现在正尝试使用 Windows 11 中的 WSLg 功能来启动 GUI 应用程序。
让$DISPLAY
我192.168.128.1:0
这么想,因为$DISPLAY
新安装的 Windows 11 Ubuntu 中的默认设置就是:0
。
尝试:
cd ~
grep -r --exclude-dir=* DISPLAY
如果您在启动配置文件中发现任何结果.bashrc
,请编辑启动文件以删除您过去所做的任何自定义显示设置。
答案2
我正好有这个问题
~$ grep DISPLAY .bashrc
export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0 # in WSL 2
这是‘Windows 上的 Ubuntu’,当我将机器升级到 Win11 时它就在我的机器上,随后我将其升级到 Jammy Jellyfish 22.04.03。
我还从 Windows 商店获取了 Ubuntu 22.04.02,并在升级到 Windows 11 后安装了它。它的 GUI 没有问题,其 DISPLAY 设置为“:0”
declare -x DISPLAY=:0
效果很好。所以这一切都如 @NotTheDr01ds 所说,但我可以断言问题出在 .bashrc 文件中,通过注释掉该行,问题就会得到解决——我不知道它在哪里设置,但你不必明确将 DISPLAY 设置为 :0
~$ grep -B1 DISPLAY ~/.bashrc
# from https://wiki.ubuntu.com/WSL#Running_Graphical_Applications
# export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0 # in WSL 2