在 WSL 上运行 GUI 命令时出错

在 WSL 上运行 GUI 命令时出错

我在 Windows 10 上配置了 vcxsrv 以及 GUI 运行所需的其他步骤。现在我在 WSL 上输入 gvim 命令,大约 5-10 分钟后,它显示了以下错误消息

E233: cannot open display
Press ENTER or type command to continue
E852: The child process failed to start the GUI

还在 .bashrc 文件中添加了以下行
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
如果我运行该命令,startxfce4它只会显示消息:
/usr/bin/startxfce4:X 服务器已在显示器 172.26.32.1:0 上运行,然后冻结,
这可能是什么原因?有什么想法如何在 WSL2 上运行 GUI?

答案1

顺便说一句,我将有将其放在评论中(因为这对您来说不是一个完整的解决方案)但评论中没有足够的空间容纳所有这些信息。

首先,您不需要运行完整的窗口管理器作为导出的显示。

这不是 VNC(它好得多)。

在这种情况下,WINDOWS vcxsrv 是您的窗口管理器。

首先,跳过花哨的export DISPLAY命令..只需手动输入即可,直到它正常工作。如export DISPLAY=<IPADDR_HERE>:0.0

使用命令从 Windows 获取该地址wsl hostname -I

现在,添加 xterm 并使用它来测试导出的显示是否工作(它具有尽可能少的依赖关系)。

现在,使用该 xterm 尝试启动 gvim。

当您使该场景正常运行时,您可以返回尝试自动化该功能。

在 WSL1 或 WSL2 下使用 x11 转发没有什么特别之处。你可以听取 Linux 论坛上人们的建议,了解如何操作。

相关内容