使用 Vcxsrv 啟動 XCFE4 不起作用

使用 Vcxsrv 啟動 XCFE4 不起作用
  • 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_DISPLAYWSLg 提供的變量,並且會拒絕運行,因為 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 會產生一個對話框,要求您批准或拒絕連接第一次使用。如果您過去曾建立過連接,則可能已為您建立了此規則。但是,如果您錯過了該對話框(有時會彈出在後面其他視窗),那麼可能已經實施了您需要修復的“拒絕”規則。

相關內容