Wsl2简单配置
本文最后更新于:2022年8月3日 上午
Wsl2简单配置
wsl2 安装
- 在微软网站 手动下载安装包,此处以Ubuntu18为例

-
将其移动到你需要的盘,并更改后缀appx为zip,后解压

-
双击运行
ubuntu1804.exe
-
安装成功,并使用
wsl -l -v查看

若您已经安装在了C盘,还可使用该项目,根据说明即可。
./LxRunOffline m -n Ubuntu -d E:\Ubuntu
将Ubuntu迁移到E:\Ubuntu
图形界面配置
网上的很多教程都是安装轻量的 xfce4 桌面,Xfce 虽然很轻量级,但是不够现代,界面风格太丑了,看起来有点过时了。想要传统的 Ubuntu 体验,那就请安装GNOME桌面环境,本教程将指导您安装 Ubuntu 的默认桌面环境 GNOME。
WSL2 中的 Ubuntu 20.04 不能运行默认版本的 GNOME,原因是:sudo apt install 默认安装的 GNOME 版本是高于3.34的,GNOME 从 3.34 版本开始就完全依赖 systemd 了,WSL2中是没有systemd的,自然也就运行不了新版的 GNOME。所以这里要先想办法让 systemd 可以使用。
而本人虽然安装了Ubuntu2004的双系统,但是wsl2跑docker还是比较好用的。因此对我来讲图形界面也是比较必要的。正好Couteau教我用Gnome + xrdp的方案解决,下面简单记录使用过程:
个人环境是windows 11 其中wsl2为ubuntu2004
更新系统包版本
1 | |
安装多线程下载工具
1 | |
可以提升安装包下载速度
安装apt-fast
1 | |
此处选择使用apt-fast替换apt

设置最大连接数为5,并选择Yes

安装Gnome
1 | |
经过一段时间的下载安装后……

打开.bashrc 文件,vi ~/.bashrc 并添加下面执行命令到文件末尾
1 | |
执行成功后,我重启ubuntu。在 Windows 终端中打开一个新的 PowerShell 窗口输入
1 | |
可见的确是关闭了,随后重启ubuntu

安装vcxsrv
https://sourceforge.net/projects/vcxsrv/
下载并安装安装包

打开XLaunch(VcXsrv的应用名),进行如下设置
选择One large window或One window without titlebar。display number中输入 0。

选中禁用访问控制,Disable Access Control ,否则会无法访问

配置完成后会出现一个大黑框,此时再terminal中输入
1 | |
等待数分钟, gnome 连接完成即可进入Ubuntu GNome桌面环境了

不过可能遇到些许问题,最后给出我遇到的两个问题。
Xrdp
参考教程[5]:https://zhuanlan.zhihu.com/p/149501381
个人觉得VcXsrv有些麻烦,尝试下Xrdp
1 | |
修改xrdp默认端口
由于xrdp安装好后默认配置使用的是和Windows远程桌面相同的3389 端口,为了防止和Windows系统远程桌面冲突,建议修改成其他的端口
1 | |
# 为当前用户指定登录session类型
注意这一步很重要,如果不设置的话会导致后面远程桌面连接上闪退
1 | |
启动服务
若你的wsl未安装systemd,需要手动启动
1 | |
若安装了systemd,则可以[6]使用如下命令:
1 | |
(不过我这里的开机启动还是不好使,每次使用需要sudo systemctl restart xrdp
Win+R 输入mstsc 打开远程桌面连接,输入`localhost:port port为上面你修改的port,此处为3390

按照提示输入用户名,密码 ,即可连接成功


并且两个之间应该是互不影响的,配置完成后Gnome仍可使用。
遇见问题以及解决
运行gnome-session+ VcXsrv 仍然黑屏
参考【5】:https://blog.csdn.net/qq_24310247/article/details/115604727
在防火墙通过VX应用即可,
windos安全中心——防火墙和网络保护——允许应用通过防火墙
即可
WARNING: Using null backend for session tracking

此问题在此处 [2]给了比较好的解答,即在wsl2中安装systemd,而具体问题之前也提到过,gnome桌面是基于systemd,而WSL不支持systemd,所以需要先安装systemd。
具体安装方式可以参照博客[3],具体命令如下:
-
安装git
1
sudo apt install git -
运行如下命令
1
2
3
4git clone https://github.com/DamionGans/ubuntu-wsl2-systemd-script.git
cd ubuntu-wsl2-systemd-script/
bash ubuntu-wsl2-systemd-script.sh
# Enter your password and wait until the script has finished然后重新启动ubuntu shell并尝试运行systemctl
powershell中关闭wsl
1
2wsl --shutdown
wsl -l -v
运行systemctl
1 | |
没有错误的话即可运行
参考
- https://blog.csdn.net/HackEle/article/details/122572418
- https://blog.csdn.net/liyunxin_c_language/article/details/114107994
- https://www.5axxw.com/wiki/content/k34hu0
- https://blog.csdn.net/qq_24310247/article/details/115604727
- https://zhuanlan.zhihu.com/p/149501381
- https://blog.csdn.net/qq_43726212/article/details/115979628
- XRDP 省略输入密码步骤