WSL2中的Ubuntu上運行GNOME的問題
WSL2 + Ubuntu 18.04
在Win10上的WSL2中安裝Ubuntu 18.04,在這個Ubuntu中安裝運行gnome沒問題,sudo apt install安裝的gnome版本是3.28.1。
實際操作步驟如下:
一、Win10這一側,用開源的VcXsrv:
vcxsrv.exe -ac -wgl -fullscreen -dpms
二、WSL2中執行如下命令啟動gnome-session並重定向DISPLAY,注意修改DISPLAY中的IP為Win10的IP(不能是127.0.0.1了,因為WSL2是真的虛擬機了;WSL1是可以用127.0.0.1的)。
也可以把LIBGL_ALWAYS_INDIRECT改為1試試,我記得是改了后不行。
sudo service start dbus sudo apt install gnome gnome-session export DISPLAY=192.168.2.73:0.0 export XDG_SESSION_TYPE="x11" export XDG_RUNTIME_DIR=~/xdg export XDG_SESSION_CLASS="user" export XDG_SESSION_DESKTOP=ubuntu export XDG_CURRENT_DESKTOP=ubuntu:GNOME export DESKTOP_SESSION=ubuntu export GDMSESSION=ubuntu export LIBGL_ALWAYS_INDIRECT=0 gnome-session &
WSL2 + Ubuntu 20.04
WSL2中的Ubuntu 20.04不能運行默認版本的gnome,原因是:
sudo apt install默認安裝的gnome版本是高於3.34的,而gnome從3.34版本開始就完全依賴systemd了(參考這里),WSL2中是沒有systemd的,自然也就運行不了新版的gnome。
但我們可以運行Cinnamon,因為Cinnamon是基於gnome的老版本改的,不依賴於systemd,所以可以運行。如下:
sudo apt install cinnamon-desktop-environment lightdm export DISPLAY=192.168.2.73:0.0 cinnamon-session &
也可以試試在Ubuntu 20.04上安裝老版本(3.34以下,不包括3.34版本)的gnome看看,我沒試。
XFCE這種輕量級的桌面是可以運行在很多Linux發行版上的,包括上面說的Ubuntu 20.04,我都試過,但界面風格太丑了,不想用。
微軟自家給WSL2中的系統設定的GUI方案是Wayland + RDP,但還是期貨,要再等等了,參看這個帖子。