在WSL中安装XFCE需先确认WSL2与WSLg支持,满足则直接安装xfce4并运行startxfce4;否则需通过VcXsrv配置DISPLAY指向Windows主机IP(如172.28.128.1:0)后启动。

在Windows的WSL中安装图形化桌面(如XFCE),不是简单执行一条命令就能弹出窗口,必须先确认底层支持能力、配置好显示通路,再选择适配当前系统的安装路径。
确认WSL版本与GUI支持状态
打开PowerShell(无需管理员权限),运行:
wsl --version
若输出中显示 WSL 版本: 2.x 且内核版本 ≥ 5.10.60.1,同时看到 WSLg 支持: 是(或类似提示),说明你已具备原生GUI运行条件;若版本低于0.67.0或无WSLg字样,则跳过WSLg路径,直接走X Server方案。
这一步不可跳过——【用WSL1或未启用WSLg的WSL2强行启动xfce4会导致startxfce4命令静默失败,无报错也无窗口】。
方法一:启用WSLg后安装XFCE(推荐给Windows 11用户)
第一步:确保Ubuntu已更新到最新包索引
在Ubuntu终端中执行:
sudo apt update && sudo apt full-upgrade -y
第二步:安装XFCE核心组件与配套工具
sudo apt install xfce4 xfce4-goodies dbus-x11 -y
第三步:启动桌面
直接输入 startxfce4,几秒后自动弹出独立窗口,桌面即运行成功。此时所有GUI应用(gedit、mousepad、xfce4-terminal)均可直接调用,无需额外配置DISPLAY变量。
注意:首次启动可能稍慢,因WSLg需初始化GPU转发层;若窗口弹出后黑屏,检查Windows系统是否禁用了硬件加速(设置→系统→显示→图形设置→硬件加速GPU计划→开启)。
方法二:通过VcXsrv搭建X11显示通路(兼容Win10/Win11)
方法一:手动配置VcXsrv + DISPLAY变量
让 Windows 桌面程序在开机时静默自启并隐藏到系统托盘。特别适用于 Flutter、Electron 等无视 VBS/ProcessStartInfo 窗口样式、难以隐藏的顽固应用。提供「VBS 启动器 + Python ctypes/Win32 API」的隐藏窗口方案,可稳定把窗口收进托盘且不闪控制台。
① 下载并安装VcXsrv(https://sourceforge.net/projects/vcxsrv/),安装时勾选 “Disable access control”,否则后续连接会被拒绝。
② 启动VcXsrv,选择 “Multiple windows”,Display number 设为 0,其余默认下一步直至完成。
③ 在Ubuntu中获取Windows主机IP:
ip route | grep default | awk '{print $3}'
④ 将该IP写入环境变量:
echo "export DISPLAY=$(ip route | grep default | awk '{print $3}'):0" >> ~/.bashrc && source ~/.bashrc
方法二:使用一键脚本自动注入(适合反复重装者)
在Ubuntu中创建 setup-display.sh:
printf '#!/bin/bash\necho "export DISPLAY=$(ip route | grep default | awk \'{print \$3}\'):0" >> ~/.bashrc\nsource ~/.bashrc' > setup-display.sh && chmod +x setup-display.sh && ./setup-display.sh
安装XFCE并验证启动
运行以下命令一次性安装完整桌面环境:
sudo apt install xfce4 xfce4-goodies -y
安装完成后,执行:
startxfce4
若屏幕出现XFCE经典灰蓝面板、左下角应用程序菜单和顶部面板,说明安装成功;若报错 “Cannot open display”,请返回上一节检查DISPLAY值是否指向Windows主机IP,且VcXsrv正在运行。
这一步操作起来很简单,但 DISPLAY 值填错一个数字就会白等半分钟——【务必确认 echo $DISPLAY 输出形如 172.28.128.1:0,而非 localhost:0 或 127.0.0.1:0】。

















