安裝完 Windows 10 WSL2 (Windows Subsystem for Linux version 2),就可以透過 Windows Terminal 執行已安裝的 Linux (如 Ubuntu)。不過只能執行 Console 模式,如果要執行 Linux 版的桌面環境,Windows 11 是已經有內建可以直接執行 Linux GUI 應用程式,可以參考:「在 Windows 子系統 Linux 版 (預覽版上執行 Linux GUI 應用程式)」。
而 Windows 10 截住目前版號應該還是無法執行執行 Linux GUI App,需要再另行安裝設定。一般是有兩種方式:
- 使用 RDP (Remote Desktop Protocol)。這是 Windows based 內建的通訊協定,所以並不需要另外安裝應用程式。
- VcXsrv (Windows X Server)。這是第三方基於 xorg 的 Windows X Server,需要另行下載安裝。
我是採用 RDP 方式設定連接 WSL2 的 Ubuntu XFCE,設定算是蠻簡單且不需安裝其它套件。具體設定可以參考:
- WSL2 Ubuntu GUI (Youtube)。
- Linux on Windows: WSL with Desktop Environment via RDP。
- WSL2 + Docker + xfce4安装及使用。
至於採以 VcXsrv 方式連接,我就沒有試過,也無從比較相對於 RDP 的效能、穩定度等。其具體設定可以參考:
- How to Install Ubuntu Desktop With a Graphical User Interface in WSL2。
- win10+WSL+安装VcXsrv Windows X Server。
底下是個人安裝 WSL2 下的 Ubuntu (20.04.4 LTS) XFCE 桌面環境設定摘要:
使用 Windows Terminal 進入 WSL2 Ubuntu Shell,執行下列指令更新儲庫與套件。
$ sudo apt update && sudo apt upgrade
安裝 xfce4 桌面所需套件。
$ sudo apt install -y xrdp
$ sudo apt install -y xfce4
$ sudo apt install -y xfce4-goodies
修改 xrdp 相關設定。
$ sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.bak
$ sudo sed -i 's/3389/3390/g' /etc/xrdp/xrdp.ini
$ sudo sed -i 's/max_bpp=32/#max_bpp=32\nmax_bpp=128/g' /etc/xrdp/xrdp.ini
$ sudo sed -i 's/xserverbpp=24/#xserverbpp=24\nxserverbpp=128/g' /etc/xrdp/xrdp.ini
$ echo xfce4-session > ~/.xsession
編輯 xrdp (startwm.sh) 檔案內容。
$ sudo nano /etc/xrdp/startwm.sh
找到並註解 (comment) 底下兩行陳述:
# test -x /etc/X11/Xsession && exec /etc/X11/Xsession
# exec /bin/sh /etc/X11/Xsession
加入底下一行:
# xfce
startxfce4
啟動 RDP Service:
$ sudo /etc/init.d/xrdp start
可以查看 xrdp 啟動狀態:
$ sudo /etc/init.d/xrdp status
* xrdp-sesman is running
* xrdp is running
設定完成後就可以回到 Windows 10 環境內,執行「遠端桌面連線 (Remote Desktop Connection)」,輸入 ip 地址為「localhost:3090」。
連線如正常,即可以登入至 XFCE 登錄管理,輸入原來在 Linux 所使用的賬戶/密碼,即可成功登入 XFCE 桌面環境。
注意下在遠端桌面管理,記得勾選「智慧縮放」,如此當視窗縮放時,XFCE 桌面也會跟著一同縮放。
每隔一段時間會來你這裡逛一下。常常可以挖到寶 – 譬如這篇。謝謝。^_^
謝謝您的支持 :XD
現在大都把短文直接寫道 FB (軟體社群或個人FB),較少有更新 Blog。
打算今年還是要好好回來把 Blog 經營好。
Windows 11 直接支援執行Linux GUI Application了。
是的,它可以透過 WSLg 直接執行。
Windows 10 則必須更新到 21364 以後也可以。