Wsl2简单配置

本文最后更新于:2022年8月3日 上午

Wsl2简单配置

wsl2 安装

  1. 微软网站 手动下载安装包,此处以Ubuntu18为例

image-20220722183926455

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

    image-20220722184359221

  2. 双击运行ubuntu1804.exe

    image-20220722184525374

  3. 安装成功,并使用wsl -l -v 查看

    image-20220722184635175

image-20220722184810793

若您已经安装在了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
sudo apt update && sudo apt upgrade -y

安装多线程下载工具

1
sudo apt install axel

可以提升安装包下载速度

安装apt-fast

1
2
sudo add-apt-repository ppa:apt-fast/stable
sudo apt -y install apt-fast

此处选择使用apt-fast替换apt

image-20220722192023341

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

image-20220722192053799

安装Gnome

1
sudo apt-fast install ubuntu-desktop gnome

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

image-20220722192404053

打开.bashrc 文件,vi ~/.bashrc 并添加下面执行命令到文件末尾

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):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

执行成功后,我重启ubuntu。在 Windows 终端中打开一个新的 PowerShell 窗口输入

1
2
wsl --shutdown
wsl -l -v

可见的确是关闭了,随后重启ubuntu

image-20220722192839902

安装vcxsrv

https://sourceforge.net/projects/vcxsrv/

下载并安装安装包

image-20220722193205132

打开XLaunch(VcXsrv的应用名),进行如下设置

选择One large window或One window without titlebar。display number中输入 0。

image-20220722193424427

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

image-20220722193516425

配置完成后会出现一个大黑框,此时再terminal中输入

1
sudo gnome-session

等待数分钟, gnome 连接完成即可进入Ubuntu GNome桌面环境了

image-20220722202954549

不过可能遇到些许问题,最后给出我遇到的两个问题。

Xrdp

参考教程[5]:https://zhuanlan.zhihu.com/p/149501381

个人觉得VcXsrv有些麻烦,尝试下Xrdp

1
2
$ sudo apt update
$ sudo apt install -y xfce4 xrdp
image-20220722204606109

修改xrdp默认端口

由于xrdp安装好后默认配置使用的是和Windows远程桌面相同的3389 端口,为了防止和Windows系统远程桌面冲突,建议修改成其他的端口

1
2
3
$ sudo vim /etc/xrdp/xrdp.ini
# 修改下面这一行,将默认的3389改成其他端口即可
port=3390

# 为当前用户指定登录session类型

注意这一步很重要,如果不设置的话会导致后面远程桌面连接上闪退

1
2
3
4
$ vim ~/.xsession

# 写入下面内容(就一行)
xfce4-session

启动服务

若你的wsl未安装systemd,需要手动启动

1
sudo /etc/init.d/xrdp start

若安装了systemd,则可以[6]使用如下命令:

1
2
sudo systemctl enable xrdp
sudo systemctl restart xrdp

(不过我这里的开机启动还是不好使,每次使用需要sudo systemctl restart xrdp

Win+R 输入mstsc 打开远程桌面连接,输入`localhost:port port为上面你修改的port,此处为3390

image-20220722213800671

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

image-20220722205211789

image-20220722205304149

并且两个之间应该是互不影响的,配置完成后Gnome仍可使用。

遇见问题以及解决

运行gnome-session+ VcXsrv 仍然黑屏

参考【5】:https://blog.csdn.net/qq_24310247/article/details/115604727

在防火墙通过VX应用即可,

windos安全中心——防火墙和网络保护——允许应用通过防火墙

即可

WARNING: Using null backend for session tracking

image-20220722194659111

此问题在此处 [2]给了比较好的解答,即在wsl2中安装systemd,而具体问题之前也提到过,gnome桌面是基于systemd,而WSL不支持systemd,所以需要先安装systemd

具体安装方式可以参照博客[3],具体命令如下:

  • 安装git

    1
    sudo apt install git
  • 运行如下命令

    1
    2
    3
    4
    git 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
    2
    wsl --shutdown
    wsl -l -v

​ 运行systemctl

1
systemctl

没有错误的话即可运行

参考

  1. https://blog.csdn.net/HackEle/article/details/122572418
  2. https://blog.csdn.net/liyunxin_c_language/article/details/114107994
  3. https://www.5axxw.com/wiki/content/k34hu0
  4. https://blog.csdn.net/qq_24310247/article/details/115604727
  5. https://zhuanlan.zhihu.com/p/149501381
  6. https://blog.csdn.net/qq_43726212/article/details/115979628
  7. XRDP 省略输入密码步骤

Wsl2简单配置
http://example.com/2022/07/22/Introduction/wsl2-visualization/
作者
BFlame
发布于
2022年7月22日
许可协议