
- 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 提供了自己的視窗管理器(請參閱這個答案了解詳情)。
我能夠使用以下指令讓 Xfce4 透過全螢幕 VcXsrv 會話運作:
使用「沒有標題列的一個視窗」、「不啟動客戶端」和「停用存取控制」來執行 Xlaunch。
在Ubuntu中:
export DISPLAY=$(hostname).local:0 export WAYLAND_DISPLAY= startxfce4
export DISPLAY
我在那裡使用的表格有效不管WSL、WSL2 網路交換器或 Windows 本身的 IP 位址。但是,它確實要求您使用內建的 WSL2 解析器。這可能還需要防火牆規則。通常,Windows Defender 會產生一個對話框,要求您批准或拒絕連接第一次使用。如果您過去曾建立過連接,則可能已為您建立了此規則。但是,如果您錯過了該對話框(有時會彈出在後面其他視窗),那麼可能已經實施了您需要修復的“拒絕”規則。