感谢大佬的教程,此处做文字版整理和补充:

在Windows 11上 使用 WSL 安装并运行带有图形界面的 Ubuntu 24.04_哔哩哔哩_bilibili

win+R输入control,打开控制面板找到程序

选择启用或关闭Windows功能

把虚拟相关的都打开,包括Virtual Machine Platform,Windows虚拟机监控程序平台,适用于Linux的Windows子系统,然后重启电脑生效。

win+R输入cmd,打开命令行窗口,输入:

1
wsl --update

更新完成后输入

1
wsl -v

检查版本内核信息

如果以前安装过linux系统,可以查看已安装的 WSL 发行版

1
wsl --list --verbose

删除多余的 Ubuntu 发行版,如

1
wsl --unregister Ubuntu-24.04

执行后,该 Ubuntu 发行版的所有数据(文件、配置、已安装的软件等)会被彻底删除,且无法恢复。

输入

1
wsl --list --online

列出可安装的linux发行版

选择所需版本下载,这里我们输入

1
wsl --install Ubuntu-24.04

安装完成后,输入

1
wsl -l -v

确认安装成功

输入

1
wsl

系统会提示输入用户名和密码

设置好后会进入Ubuntu的Shell环境。此后有两种进入方式:

  1. 在Windows搜索框中搜索Ubuntu
  2. 在cmd窗口中输入wsl

确认系统版本

1
cat /etc/os-release

接下来使用包管理器对Ubuntu系统进行更新

1
sudo apt update

安装neofetch和htop验证系统完整性

1
sudo apt install neofetch htop

运行neofetch,艺术风格展示系统信息概览

1
neofetch

htop会显示系统运行情况

1
htop

由此,我们可以确认wsl和Ubuntu可以正常使用

安装几个图形界面应用测试,这里 -y 代表安装过程中自动回答yes

1
sudo apt install gimp blender -y

完成后首次启动gimp,你就能感受到加载极为流畅

1
gimp

不仅如此,当你打开Windows的开始菜单,也能看到在Ubuntu中安装的软件整齐排列

你完全可以像对待win软件一样对待它们,比如固定到桌面上,直接打开,但在Ubuntu里启动会更快

随后,我们将添加一个高效的图形化桌面,XFCE 4。执行以下命令

1
sudo apt install xfce4-goodies

接下来我们安装xrdp(X Remote Desktop Protocol),它是远程访问的桥梁

1
sudo apt install xrdp

安装完成后按顺序输入以下命令:

1
2
3
4
sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.bak 
sudo sed -i 's/3389/3390/g' /etc/xrdp/xrdp.ini
sudo sed -i 's/max_bpp=32/#max_bpp=32\nmax_bpp=128/g' /etc/xrdp/xrdp.ini
sudo sed -i 's/xserverbpp=24/#xserverbpp=24\nxserverbpp=128/g' /etc/xrdp/xrdp.ini sudo /etc/init.d/xrdp start

使用nano编辑启动脚本

1
sudo nano /etc/xrdp/startwm.sh

修改如下,注释最后两行代码,并添加三行代码

Ctrl + O保存,Ctrl + X退出

再次重启xrdp保证生效:

1
sudo /etc/init.d/xrdp start

在Windows桌面菜单搜索栏里搜索远程桌面连接,输入

1
localhost:3390

点击连接后如果出现以下bug:

安装ufw

1
sudo apt update && sudo apt install ufw -y

启用防火墙并允许 3390 端口的 TCP 连接

1
2
sudo ufw enable 
sudo ufw allow 3390/tcp

检查防火墙规则是否生效

1
sudo ufw status

正常会显示

1
2
3
4
5
6
Status: active 

To Action From
-- ------ ----
3390/tcp ALLOW Anywhere
3390/tcp (v6) ALLOW Anywhere (v6)

 WSL 终端中获取 IP 地址,输出类似 172.28.156.89

1
ip addr show eth0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}'

在原先localhost:3390的地方更换为172.28.156.89:3390

连接后输入之前设置的Ubuntu用户名和密码,点击OK

恭喜你,进入了桌面环境,在右上角处可以log out退出