- WSL 版本:1.0.3.0
- Ubuntu 版本:22.04.1 LTS
Vcxsrv 依然是黑色的。
我已将其添加export DISPLAY=:172.X.XXX.X:0.0
到我的.bashrc
文件中。
当我运行命令时sudo startxfce4
,出现以下消息:
(xfwm4:4818): xfwm4-WARNING **: 15:06:25.234: Could not find a screen to manage, exiting
(xfsettingsd:4826): libupower-glib-WARNING **: 15:06:25.308: Couldn’t connect to proxy: Could not connect: No such file or directory
xfsettingsd: Another clipboard manager is already running.
(xfsettingsd:4826): xfsettingsd-WARNING **: 15:06:25.656: Failed to get the _NET_NUMBER_OF_DESKTOPS property.
答案1
需要解决的几个问题:
首先,您尝试使用 运行
startxfce4
。sudo
这是一个问题,因为 (a) 您确实不想以 root 身份运行桌面,并且 (b)sudo
默认情况下不会将环境变量从您的用户传递到会话sudo
,因此没有DISPLAY
设置。其次,即使你以普通用户身份运行,Xfce4 也会看到
WAYLAND_DISPLAY
WSLg 提供的变量,并会拒绝运行,因为 WSL 上的 Wayland 是由 Weston 提供的,而 Weston 提供了自己的窗口管理器(请参阅这个答案了解详情)。
我能够使用以下命令以全屏 VcXsrv 会话运行 Xfce4:
使用“一个没有标题栏的窗口”、“不启动客户端”和“禁用访问控制”运行 Xlaunch。
在 Ubuntu 中:
export DISPLAY=$(hostname).local:0 export WAYLAND_DISPLAY= startxfce4
export DISPLAY
我在那里使用的表格有效不管WSL 的 IP 地址、WSL2 网络交换机或 Windows 本身。但是,它确实要求您使用内置的 WSL2 解析器。这可能还需要防火墙规则。通常,Windows Defender 会生成一个对话框,要求您批准或拒绝连接第一次使用。如果您以前曾建立过连接,那么可能已为您创建了此规则。但是,如果您错过了对话框(有时会弹出在后面如果您在其他窗口上也看到了“拒绝”规则,则可能已实施该规则,您需要进行修复。