官方教程写的不够细致,踩了不少坑,甚至玩坏了好几次,总结一下经验。
首先放出官方文档:
使用 WSL 运行 Linux GUI 应用 | Microsoft Learn
能搜到这个csdn说明应该已经看过微软的文档了吧,毕竟这篇博客的名字和官方文档是一样的(起名字苦手)。
使用 systemd 通过 WSL 管理 Linux 服务 | Microsoft Learn
从这个教程里截取出来部分内容,(需要完成这些内容):
可以看到,教程中着重提到了systemd,在之后会讲到。
首先是驱动部分,驱动部分不需要文档中所说的vGpu驱动,因为英伟达已经继承在桌面驱动里了,只需要一个桌面驱动就可以了(一般不会有问题,如果担心的话可以在官网下个最新的)。
然后着重说一下systemd。
wsl的ubuntu默认是不使用systemd的,虽然在wsl.conf中systemd=true,但是并不会运行。而且系统中已经安装了systemd,我白丝不得其解。
无所谓,我们可以再装一下。
参考了:
注意这里有个问题,目前的ubuntu-wsl2-systemd-script有一点小坑,
在git到的ubuntu-wsl2-systemd-script/enter-systemd-namespce中,应该做这样的一个替换:这两处-a应该改为-m -p,否则会出现问题。
出现问题的话可以看:解决nsenter: cannot open /proc/xxx/ns/time: No such file or directory-CSDN博客
# 安装
git clone https://github.com/DamionGans/ubuntu-wsl2-systemd-script.git
cd ubuntu-wsl2-systemd-script/
#不要忘记改文件
sudo vim enter-systemd-namespace
bash ubuntu-wsl2-systemd-script.sh
# 测试,重启linux后执行,若无报错则成功
systemctl
如此则systemd成功,可以安装一些软件试一下了,在开始菜单里应该也会出现很多跟ubuntu相关的快捷方式了。
sudo apt install gedit
gedit
应当可以看到gedit的界面了