wsl确实是个好东西,不过之前配了好几次都没有成功,因为wsl本身确实是有bug。当时配的时候查到GitHub上的一个issue还没被修好。现在重新配一下。
我的环境是Windows11家庭版。区别于win10,win11安装完默认就是wsl2。
首先打开windows应用商店。搜索栏搜索“商店”就可以。搜索ubuntu18,点击安装。
这个时候我知道有人要说了,啊,我应用商店打开报错啊什么的,我之前也是那样连不上服务器。自己去查,这个很好解决的。
下载完成后点击打开,会让你输入用户名、密码、确认密码。输入密码是不会显示的,直接输入之后回车就可以。
因为暂时还没有配置图形界面,所以不能用gedit
,要用vim编辑源。我从来不备份原文件,反正也不会再换回来。
sudo vim /etc/apt/source.list
进去之后一直按d
,d
是vim里面删除一行的快捷键。删除干净了之后按i
进入编辑模式。
复制下面的源,鼠标右键单击即可粘贴。
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
粘贴之后按Esc
键退回命令模式,输入:wq
,回车保存并退出,截图如下。
更新软件源列表
sudo apt-get update
下面来安装gnome。我不喜欢xfce4,虽然确实是小巧方便,但是我就是用不习惯。明明是个完整版的Ubuntu发行版,安装xfce4之后搞得跟个小树莓派一样,成何体统!
另外,我个人感觉Ubuntu18及之后的发行版里的gnome确实是比之前好看,相反win11的UI属实是有点拉跨。系统UI倒是还行,云母色的设计很和谐耐看。但是实际用起来,各种应用的风格不统一,根本达不到和谐的程度,还不如毛玻璃透明好看。
WSL 不支持 systemd 而 Gnome 桌面又是基于 systemd,所以先解决这个问题。
sudo apt update
sudo apt install git
git clone https://github.com/DamionGans/ubuntu-wsl2-systemd-script.git
cd ubuntu-wsl2-systemd-script/
bash ubuntu-wsl2-systemd-script.sh
这个脚本执行完了会专门一句话说明执行成功的,中间弹了什么东西你别去管他。
安装完systemd之后,退回windows终端(直接叉掉这个终端就行),务必输入
wsl --shutdown
彻底关闭wsl运行的ubuntu,不然它不算完全关闭。
先确认你wsl版本为wsl2。win11应该默认就是wsl2,如果不是的话,升级方法如下:
wsl -l -v
如果你后面的版本是1,那么需要升级,请使用
wsl --set-version 2
命令将
替换为要更新的 Linux 发行版的名称。 例如,
wsl --set-version Ubuntu-20.04 2
会将 Ubuntu 20.04 发行版设置为使用 WSL 2。
然后再在windows终端键入
wsl
重启ubuntu终端。输入
systemctl
确认systemctl能用,出来一堆东西就行,失败的话会是
System has not been booted with systemd as init system (PID 1). Can't operate.
确认无误时候,安装gnome桌面
sudo apt update
sudo apt install -y ubuntu-desktop
安装内容将近2GB,但凡你网稍微逊一点都要安装好久。我开的手机流量都安装了一个小时。一开始下载的挺快后面不知道咋回事变成一百多kb了。。。
然后安装 Xrdp
sudo apt install -y xrdp
sudo adduser xrdp ssl-cert
sudo systemctl restart xrdp
查看一下配置文件中的端口(默认:3389)
vim /etc/xrdp/xrdp.ini
配置防火墙
sudo ufw allow 3389
远程桌面链接
键入用户名密码,ok
进去之后可能会弹出两个认证框,cancel取消就行了,不用管。
关机的时候也会有个认证
输入密码,点右边那个就可以关机了。
windows终端:
wsl
但是我个人没有解决的一个问题是,每次重启都需要重新输入
sudo systemctl restart xrdp
然后启动远程链接。
不知道有没有什么更好的方法可以少输这么一个命令。