中文站点-网站精选 - WSL2的图形化支持
WSL2的图形化支持
Information
1. 运行GUI应用
WSL2可以支持GUI了。
前提条件:
- Windows 11 内部版本 22000或更高版本
- 已安装适用于 GPU 的驱动程序
安装命令:
# 全新安装, 然后重启
wsl --install -d Ubuntu
# 现有WSL升级
wsl --update
wsl --shutdown
常用软件安装:
# gedit
sudo apt install gedit -y
# Nautilus
sudo apt install nautilus -y
2. 图形化桌面
只是图个新鲜,并不能提高多少效率。
安装环境:
- win11(非必须)
- WSL2支持GUI界面(可能非必须)
2.1 X server
linux的图形界面程序是典型的C/S结构,需要一个X server和X client(程序本身)才能正常运行、正常显示结果。
如果本地的操作系统是linux,且有图形界面,就表示本地已经运行了X server,则远程的图形界面X client会连接到本地的X server,即可运行。
如果本地的操作系统是windows,则需另外运行一个X server程序,然后远程的linux图形X client会连接本地的xserver,windows环境下推荐VcXsrv,如下。
下载后,安装默认选项安装即可。
2.2 ubuntu-desktop
GNOME 桌面,是 Ubuntu 默认的桌面,美观度和功能性都不错,安装也很简单。
# 首先,更新ubuntu
sudo apt update && sudo apt upgrade
# 通过tasksel安装
sudo apt install tasksel
sudo tasksel install ubuntu-desktop
# 通过apt安装
sudo apt install ubuntu-desktop
配置环境变量,这样后面可以通过 gnome-session
命令启动桌面。
# 配置环境变量,打开配置文件
sudo vi ~/.bashrc
# 在末尾添加如下两行后保存退出
export DISPLAY=$(grep -m 1 nameserver /etc/resolv.conf | awk '{print $2}'):0.0
export XDG_SESSION_TYPE=x11
# 应用修改
source ~/.bashrc
gnome桌面是基于 systemd
,而WSL不支持systemd,所以需要先安装systemd,这里用到github上的库,操作也很简单。
# 安装
git clone <https://github.com/DamionGans/ubuntu-wsl2-systemd-script.git>
cd ubuntu-wsl2-systemd-script/
bash ubuntu-wsl2-systemd-script.sh
# 测试,重启linux后执行,若无报错则成功
systemctl
这样安装好以后,windows开始菜单会出现好多应用,如果wsl2已更新到最新版本,是可以运行这些GUI应用的,所以如果是为了运行这些GUI应用,其实没必要安装图形化桌面。
2.3 显示管理器
这个工具的功能是在管理用户对话和鉴权时启动显示服务器并加载桌面。
GNOME 桌面默认使用 GDM3 作为显示管理器,从资源角度考虑它有点重;lightdm 是一个较为轻量级和资源友好且平台无关的显示管理器。
# 可选,非必须
sudo apt install lightdm
安装后系统会提示选择默认的显示管理器,因为多个只能选择一个。
2.4 具体流程
上述三个软件前者安装在windows下,后两个安装在linux下。
启动步骤如下:
- windows下启动Ubuntu终端
- windows下启动VcXsrv,按如下配置打开,后出现一个黑色窗口
之后在Ubuntu中执行如下命令:
# 若采用默认显示管理器
sudo service dbus restart
gnome-session
# 若采用lightdm显示管理器
sudo service lightdm start
gnome-session
此时可以在VcXsrv窗口看到Ubuntu桌面。