跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / Bash

Windows 下使用 WSL2 创建 Ubuntu 子系统并配置图形桌面

综述由AI生成在 Windows 环境下利用 WSL2 创建 Ubuntu 子系统的完整流程。主要步骤包括开启 Windows 虚拟化功能、安装 WSL2 及 Ubuntu 发行版、将系统镜像迁移至指定磁盘路径、配置 Xfce4 图形桌面并通过 Xrdp 进行远程连接。此外还涵盖了中文语言包与输入法设置、解决黑屏及弹窗授权问题、禁用冲突服务(WSLg/colord),以及使用 tmux 保持后台会话运行的方法。

CryptoLab发布于 2026/3/29更新于 2026/5/2934 浏览
Windows 下使用 WSL2 创建 Ubuntu 子系统并配置图形桌面

Windows 下使用 WSL2 创建 Ubuntu 子系统(更改安装位置与启动图形桌面)

本文介绍如何使用 WSL2 创建 Ubuntu 子系统,并更改安装位置到其他磁盘,并启动图形桌面 Xfce4。

一、打开 Windows 的三个虚拟化基础功能

控制面板 - 程序和功能 - 启动或关闭 Windows 功能,勾选Hyper-v、适用于 Linux 的 Windows 子系统、虚拟机平台完成后等待启动后根据提示重启电脑。

二、安装 WSL2 和 Ubuntu

1. 安装 WSL2
  1. 打开 PowerShell 输入 wsl --install,完成后显示 适用于 Linux 的 Windows 子系统已安装。,其他错误信息可以忽略。
  2. 输入 wsl.exe --update,进度条完成后即可。
wsl --install wsl.exe --update 

可以直接下载 wsl 的离线安装包。

2. 安装 Ubuntu
  1. 打开 Microsoft Store 搜索 Ubuntu,选择合适的版本获取并安装。这里以 Ubuntu 22.04 LTS 为例。
  2. 安装完成后可以在开始菜单打开 Ubuntu,会弹出下列终端界面以及 wsl 的帮助界面。
  3. 第一次启动 Ubuntu 会提示输入用户名和密码,输入后显示下列界面,此时即可通过终端进行操作。

三、更改 Ubuntu 安装位置

1. 关闭 Ubuntu 系统

运行 PowerShell,输入 wsl --shutdown。再输入 wsl -l -v 查看 Ubuntu-22.04 的运行状态,STATE 为 Stopped 即说明已关闭。

wsl --shutdown wsl -l -v 

2. 创建目录。

在合适的磁盘上创建一个目录,例如 E 盘的 E:\Ubuntu2204。

3. 导出镜像。

在 PowerShell 中输入下列命令,将 Ubuntu 导出到指定目录,并等待操作完成。

wsl --export Ubuntu-22.04 E:\Ubuntu2204.tar 

4. 注销原系统。

在 wsl 中注销原有的 Ubuntu 系统,powershell 中输入 wsl --unregister Ubuntu-22.04。完成后输入 wsl -l -v 查看,提示 适用于 Linux 的 Windows 子系统没有已安装的分发。 即为卸载成功。

wsl --unregister Ubuntu-22.04 wsl -l -v 

5. 导入镜像。

在 powershell 中输入 wsl --import Ubuntu-22.04 E:\Ubuntu2204 E:\Ubuntu2204.tar,将之前导出的镜像导入到新的 Ubuntu 系统。在 powershell 中输入 wsl -l -v 查看,出现 Ubuntu-22.04 的 NAME 即为导入成功。

wsl --import Ubuntu-22.04 E:\Ubuntu2204 E:\Ubuntu2204.tar wsl -l -v 

6. 更改默认用户。

在 powershell 中输入 ubuntu2204.exe config --default-user [YourUesrName],将新的 Ubuntu 系统默认用户设置为 [YourUesrName]。

如更改默认用户为 tdc,则输入下列命令:

ubuntu2204.exe config --default-user tdc 

7. 启动 Ubuntu 子系统。

在开始菜单中搜索 Ubuntu 并运行,出现终端界面即为成功。

8. 删除文件。

删除导出的镜像文件 E:\Ubuntu2204.tar。

Tips: 可以通过上述方法备份和恢复 Ubuntu 系统。

Tips: 在 Windows 的资源管理器中,按住 Shift 键,右键空白处或者文件夹,即可选择 在此处打开 Linux shell,从而实现快速启动 Ubuntu 子系统并切换终端目录。

Tips: 在 Windows 的资源管理器中,输入 \wsl$ 即可访问 Ubuntu 的文件系统,该系统是通过网络接口访问的,可右键该文件夹并选择 映射网络驱动器 将其映射为带有盘符的目录,从而实现快速访问 Ubuntu 文件。

四、配置图形桌面

更新软件

在 Ubuntu 终端中运行 sudo apt update && sudo apt upgrade -y,等待更新完成。

方案 1:使用 Ubuntu-desktop(失败)

在 Ubuntu 终端中运行下列命令,等待安装完成。

sudo apt purge -y acpid acpi-support modemmanager 
sudo apt-mark hold acpid acpi-support modemmanager 
sudo apt install ubuntu-desktop gnome -y 

我这里出现 Setup 界面后会出现如下错误,无法启动。

方案 2:使用 xUbuntu-desktop(xfce4)

1. 安装 Xubuntu-desktop

在 Ubuntu 终端中运行下列命令,等待安装完成。

sudo apt purge -y acpid acpi-support modemmanager 
sudo apt-mark hold acpid acpi-support modemmanager 
sudo apt install -y xubuntu-desktop 

也可以安装更为精简的 xfce4 和 xfce4-goodies:

sudo apt install -y xfce4 xfce4-goodies 

xubuntu-desktop 相比于 xfce4,xubuntu-desktop 会安装更多的软件,如 Firefox(浏览器)、gmusicbrowser(音频)、Parole(视频)、Ristretto(照片管理)、Abiword/Gnumeric(办公)等。

在开始安装时,会弹出下列设置,这里选择轻量化的Lightdm显示管理器。

2. 安装 Xrdp

在 Ubuntu 终端中运行下列命令,等待安装完成。

sudo apt install -y xrdp 

3. 配置 Xrdp

添加 xrdp 用户

sudo adduser xrdp ssl-cert 

配置端口号。编辑 /etc/xrdp/xrdp.ini 文件:

sudo nano /etc/xrdp/xrdp.ini 

该文件内容如下,; 开头的为注释;将 port=3389 修改为需要的端口,并保存。

; Examples: 
;port=3389
;port=unix://./tmp/xrdp.socket 
;port=tcp://.:3389 127.0.0.1:3389 
;port=tcp://:3389 *:3389 
;port=tcp://<any ipv4 format addr>:3389 192.168.1.1:3389 
;port=tcp6://.:3389 ::1:3389 
;port=tcp6://:3389 *:3389 
;port=tcp6://{<any ipv6 format addr>}:3389 {FC00:0:0:0:0:0:0:1}:3389 
;port=vsock://<cid>:<port>
port=3389;'port' above should be connected to with vsock instead of tcp 
; use this only with number alone in port above 

配置防火墙,此处的 3389 端口号与 /etc/xrdp/xrdp.ini 文件中的端口号保持一致。

sudo ufw allow 3389

编辑 /etc/xrdp/startwm.sh 文件

sudo nano /etc/xrdp/startwm.sh 

将其内容替换为下列内容:

#!/bin/sh
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
export XDG_CACHE_HOME="$HOME/.cache"
export XDG_CONFIG_HOME="$HOME/.config"
mkdir -p "$XDG_CACHE_HOME" "$XDG_CONFIG_HOME"
xfce4-session 

完成配置后重新启动 Xrdp,在 Ubuntu 终端中运行下列命令,等待启动完成。

sudo systemctl restart xrdp 

4. 黑屏问题

安装 mesa 并将其添加到 Xrdp 的启动脚本 /etc/xrdp/startwm.sh 中。

sudo apt install libgl1-mesa-glx 
sudo nano /etc/xrdp/startwm.sh 

添加以下内容:

export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/mesa/ 

重新启动 Xrdp:

sudo systemctl restart xrdp 

6. 连接 Xrdp

使用 Windows 的远程桌面连接连接到 Ubuntu 系统,设置目标为 localhost:3389,3389 为上述设置的端口号。

输入用户名和密码即可登录到桌面。

五、配置 Xfce4 桌面

1. 设置中文

在 Ubuntu 终端中运行下列命令选择语音和编码。

sudo dpkg-reconfigure locales 

第一个界面划到最下面按下 Space 勾选 zh_CN.UTF-8 UTF-8,按 Enter 确定,第二个界面选择 zh_CN.UTF-8,按 Enter 确定。

在 Ubuntu 终端中运行下列命令安装语言字体包。

sudo apt-get install fonts-arphic-bsmi00lp fonts-arphic-gbsn00lp 

安装完成后,重启 Ubuntu 系统。

2. 设置中文输入法

在 Ubuntu 终端中运行下列命令安装 fcitx 输入法与中文输入法包。

sudo apt install fcitx fcitx-googlepinyin 

安装完成后,在启动项中添加 fcitx,并设置默认输入法为 fcitx。

配置 .bashrc 文件

sudo nano ~/.bashrc 

添加以下内容:

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx 

启动输入法

fcitx 
一些问题

1. 弹出提示:需要授权来创建色彩管理设备

每次启动 Ubuntu 系统,都会弹出提示:需要授权来创建色彩管理设备。 在 Ubuntu 终端中运行下列命令,禁用 colord。

systemctl status colord # 检查是否仍在运行
sudo systemctl stop colord # 强制停止
sudo systemctl disable colord # 禁用开机自启
sudo systemctl mask colord # 彻底屏蔽(防止被其他服务依赖启动)

2. 部分 GUI 软件在 Windows 中打开

新版 WSL2 默认启用 WSLg,WSLg 允许在 Windows 中运行 GUI 软件,我们使用了 RDP 访问 Ubuntu 系统,因此不再需要 WSLg,因此需要禁用 WSLg。

在 PowerShell 中运行下列命令,修改 WSL 的配置文件。

wsl --shutdown notepad "$env:USERPROFILE\.wslconfig"

添加下列内容并保存:

[wsl2]
guiApplications=false 

随后重启几次 WSL 即可正常。

3. 后台运行 WSL

运行 WSL 需要开启一个 Ubuntu 终端,一旦终端关闭,WSL 就会停止运行,RDP 也会断开连接。 可以使用 tmux 终端复用工具在单个终端窗口中创建持久化的会话,即使关闭终端,会话仍能在后台运行。

安装 tmux 终端复用工具:

sudo apt install tmux 

创建 tmux 会话:可以创建匿名会话或命名会话。命名会话可以方便管理会话,例如,可以创建多个会话,并分别运行不同的任务。

tmux # 创建匿名会话
tmux new -s <会话名># 创建命名会话(推荐)

如:创建命名会话 daemon:

tmux new -s daemon 

此时会进入名为 daemon 的会话,将该会话后台运行:先按 Ctrl+B,松开后再按 D。

此时关闭终端,会话 daemon 依然在后台运行,并且 WSL 仍然正常运行。

重新连接会话:

tmux attach -t <会话名># 重新连接指定会话
tmux ls# 查看所有会话列表

如:重新连接会话 daemon:

tmux attach -t daemon 

关闭会话:在会话内按 Ctrl+D;或者输入 exit。

一键部署脚本 (未经验证,谨慎使用)

1. Windows 端操作

以管理员权限打开 PowerShell,运行下列命令:(自行修改安装目录路径)

# 启用必要功能并重启
Enable-WindowsOptionalFeature-Online -FeatureName Microsoft-Windows-Subsystem-Linux, VirtualMachinePlatform -NoRestart
wsl --install
wsl --set-default-version 2
Restart-Computer-Force # 重启后继续执行
$ubuntuDir = "E:\Ubuntu2204"
mkdir $ubuntuDir
wsl --install -d Ubuntu-22.04
wsl --shutdown
wsl --export Ubuntu-22.04 "$ubuntuDir\Ubuntu2204.tar"
wsl --unregister Ubuntu-22.04
wsl --import Ubuntu-22.04 $ubuntuDir "$ubuntuDir\Ubuntu2204.tar" --version 2
ubuntu2204.exe config --default-user $env:USERNAME
Remove-Item "$ubuntuDir\Ubuntu2204.tar"
# 禁用 WSLg 避免 GUI 冲突
echo "[wsl2]`nguiApplications=false" | Out-File "$env:USERPROFILE\.wslconfig" -Encoding ASCII 
2. Ubuntu 端操作

启动 wsl,在 Ubuntu 终端中运行下列命令:(自行修改使用的桌面环境 xubuntu-desktop/xfce4)

#!/bin/bash
# 更新系统并安装 Xfce4 + xrdp
sudo apt update && sudo apt upgrade -y
# 使用 xubuntu-desktop:
# sudo apt purge -y acpid acpi-support modemmanager
# sudo apt-mark hold acpid acpi-support modemmanager
# sudo apt install -y xubuntu-desktop
# 使用 xfce4
sudo apt install -y xfce4 xfce4-goodies
# 安装配置 xrdp
sudo apt install -y xrdp
sudo adduser xrdp ssl-cert
sudo sed -i 's/port=3389/port=3390/g' /etc/xrdp/xrdp.ini
sudo ufw allow 3390
# 修复黑屏问题
sudo apt install -y libgl1-mesa-glx
echo "export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/mesa/" | sudo tee -a /etc/xrdp/startwm.sh
sudo tee /etc/xrdp/startwm.sh > /dev/null <<'EOF'
#!/bin/sh
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
export XDG_CACHE_HOME="$HOME/.cache"
export XDG_CONFIG_HOME="$HOME/.config"
mkdir -p "$XDG_CACHE_HOME" "$XDG_CONFIG_HOME"
xfce4-session
EOF
sudo chmod +x /etc/xrdp/startwm.sh
sudo systemctl restart xrdp
# 设置中文环境
sudo apt install -y locales fonts-arphic-*
sudo locale-gen zh_CN.UTF-8
sudo update-locale LANG=zh_CN.UTF-8
# 安装中文输入法
sudo apt install -y fcitx fcitx-googlepinyin
echo "export GTK_IM_MODULE=fcitx" >> ~/.bashrc
echo "export QT_IM_MODULE=fcitx" >> ~/.bashrc
echo "export XMODIFIERS=@im=fcitx" >> ~/.bashrc
# 禁用 colord 服务
sudo systemctl mask colord --now
# 安装 tmux 保持后台运行
sudo apt install -y tmux
tmux new -s xrdp-daemon -d "sudo /usr/sbin/xrdp"

其他相关参考

  1. WSL2 中使用 USB 设备
  2. WSL2 中使用 VSCode

目录

  1. Windows 下使用 WSL2 创建 Ubuntu 子系统(更改安装位置与启动图形桌面)
  2. 一、打开 Windows 的三个虚拟化基础功能
  3. 二、安装 WSL2 和 Ubuntu
  4. 1. 安装 WSL2
  5. 2. 安装 Ubuntu
  6. 三、更改 Ubuntu 安装位置
  7. 四、配置图形桌面
  8. 方案 1:使用 Ubuntu-desktop(失败)
  9. 方案 2:使用 xUbuntu-desktop(xfce4)
  10. 五、配置 Xfce4 桌面
  11. 1. 设置中文
  12. 2. 设置中文输入法
  13. 一些问题
  14. 一键部署脚本 (未经验证,谨慎使用)
  15. 1. Windows 端操作
  16. 启用必要功能并重启
  17. 禁用 WSLg 避免 GUI 冲突
  18. 2. Ubuntu 端操作
  19. 更新系统并安装 Xfce4 + xrdp
  20. 使用 xubuntu-desktop:
  21. sudo apt purge -y acpid acpi-support modemmanager
  22. sudo apt-mark hold acpid acpi-support modemmanager
  23. sudo apt install -y xubuntu-desktop
  24. 使用 xfce4
  25. 安装配置 xrdp
  26. 修复黑屏问题
  27. 设置中文环境
  28. 安装中文输入法
  29. 禁用 colord 服务
  30. 安装 tmux 保持后台运行
  31. 其他相关参考
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • C++ std::map 容器核心机制与实战应用
  • 无人机 CAAC 执照及电力巡检在线模拟训练系统解析
  • Linux 泰山派 RK3566 驱动开发:环境搭建与内核编译
  • OpenCore Legacy Patcher 老款 Mac 系统安装与常见问题修复指南
  • OpenClaw 多机器人团队协作构建指南
  • WebGIS 体感温度实证分析:中国火炉城市火力评估
  • Java Web 开发基础:Spring Web MVC 详解
  • 若依(RuoYi)低代码框架深度剖析与选型指南
  • faster-whisper 快速安装与使用指南
  • Spring Boot + jQuery 前后端分离图书管理系统实战
  • .NET 集成 GoView 低代码可视化大屏实战
  • 运动想象脑电特征分析:ERSP 值计算与保存(Python 版)
  • SpringBoot 整合 Neo4j 图数据库项目实战
  • 双足机器人 2-RSS-1U 并联踝关节设计与运动学解析
  • AIGC 时代的网络安全威胁与应急响应机制构建
  • Linux 下 OpenClaw 快速安装、初始化及 Web UI 配置指南
  • OpenCode:开源版 Claude Code,支持多模型与远程终端
  • C++ 红黑树设计与实现详解
  • OpenClaw 架构解析:从 Skills、MCP、RAG、Memory 到 AI Agent
  • Qt 与 Web 混合编程:CEF 与 QCefView 深度解析

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online