wsl下安装Ubuntu图形化界面步骤及命令

说明:本文档适用于 WSL2 Ubuntu,使用 xrdp + Xubuntu桌面,Windows远程桌面连接; 第7小节是VMware虚拟机剪贴板方案,WSL不需要open-vm-tools,仅作备忘。

1、设置root密码、切换root

sudo passwd root      # 设置root账号密码
su root               # 切换到root账号(原文sudo root是错误命令,修正)
cd ~                  # 返回root主目录

2、替换清华国内apt源,提速

cd /etc/apt/
cp sources.list sources.list.bak    # 备份原有源文件
cd ~

# 替换为清华源
sudo sed -i "s@http://.*archive.ubuntu.com@[https://mirrors.tuna.tsinghua.edu.cn](https://mirrors.tuna.tsinghua.edu.cn)@g" /etc/apt/sources.list
sudo sed -i "s@http://.*security.ubuntu.com@[https://mirrors.tuna.tsinghua.edu.cn](https://mirrors.tuna.tsinghua.edu.cn)@g" /etc/apt/sources.list

sudo apt update          # 更新软件包索引
sudo apt upgrade         # 更新已安装软件包

3、安装图形桌面 + xrdp远程桌面服务

# 安装xubuntu桌面环境(轻量XFCE桌面,原文注释写gnome是笔误)
sudo apt-get install xubuntu-desktop

# 安装xrdp远程桌面服务
sudo apt install -y xrdp

# 修改xrdp端口:默认3389和Windows冲突,改为3390
sudo sed -i 's/port=3389/port=3390/g' /etc/xrdp/xrdp.ini

# 放行防火墙端口
sudo ufw allow 3390

# 重启xrdp服务(WSL重启后需要重新启动xrdp)
sudo service xrdp restart

4、Windows远程桌面连接

打开Windows「远程桌面连接」

  • 计算机:localhost:3390
  • 用户名:WSL的Ubuntu普通用户名(不要用root登录xrdp) 点击连接,输入密码即可进入图形桌面。

5、安装中文语言包

sudo apt install -y language-pack-zh-hans
sudo dpkg-reconfigure locales

交互界面:

  1. 选中 zh_CN.UTF-8
  2. 再选择默认语言为 zh_CN.UTF-8

6、查看Ubuntu版本(neofetch)

sudo apt install neofetch
neofetch

7、VMware虚拟机剪贴板互通(WSL无需这部分,仅备忘)

适用场景:VMware虚拟机Ubuntu,WSL不需要VMware-tools/open-vm-tools

# 方式1:官方VMware-tools
sudo ./vmware-install.pl

# 方式2:开源open-vm-tools
sudo apt-get autoremove open-vm-tools
sudo apt-get install open-vm-tools
sudo apt-get install open-vm-tools-desktop
sudo reboot

8、网络图标消失恢复(NetworkManager)

ll /var/lib/NetworkManager/
cat /var/lib/NetworkManager/NetworkManager.state

rm -rf /var/lib/NetworkManager/NetworkManager.state

systemctl status network-manager
systemctl stop network-manager
systemctl start network-manager
systemctl status network-manager

cat /var/lib/NetworkManager/NetworkManager.state

重要注意事项

  1. sudo root 命令无效,切换root用 su root;
  2. xubuntu-desktop 是XFCE桌面,不是Gnome;
  3. WSL2环境默认没有systemd,systemctl 命令默认不可用;如果要用systemctl需要额外开启WSL systemd支持;
  4. WSL重启后xrdp服务不会自启,每次重启WSL需要手动执行 sudo service xrdp restart;
  5. 生产环境不建议直接开放xrdp公网访问。