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 省略输入密码步骤