X Server Windows
X Window通过软件工具及架构协议来建立操作系统所用的图形用户界面,此后则逐渐扩展适用到各形各色的其他操作系统上,几乎所有的操作系统都能支持与使用X Window,GNOME和KDE也都是以X Window为基础建构成的。
如果想要 WSL 拥有图形界面,可以使用的 X Server Windows 有 VcXSrv、Xming 和 X410。
VcXSrv:https://sourceforge.net/projects/vcxsrv/
Xming:https://sourceforge.net/projects/xming/
X410:https://x410.dev/
X410
X410 名字的全称 X Server 4(for) Windows 10。

WSL Xfce图形界面
是否可以在 Windows10 和 Linux 子系统(WSL)上运行 Linux GUI 桌面?当然!只需从 Microsoft Store 获得 X410,输入一些命令,即可使用 Linux GUI 桌面!
安装 Xfce Linux GUI 桌面
sudo apt update && sudo apt -y upgrade
sudo apt install xfce4 xfce4-terminal gtk2-engines-pixbuf
通过设置 DISPLAY 环境变量告诉 Xfce 使用 X410
export DISPLAY=127.0.0.1:0.0
启动Xfce
xfce4-session
这样,Linux GUI 桌面现已准备就绪!

安装设置中文界面,请看 《Windows10 子系统 Ubuntu18.04 Xfce图形界面》文章。
安一个前卫的终端 Tilix
Linux的终端仿真器数量众多。本示例使用Tilix,因为我们想尝试一些新的东西。
sudo apt install tilix
设置打开默认终端 > 所有应用程序 --> 设置 --> 首选应用程序 --> 实用程序 --> 终端模拟器
tilix -e "%s"


卸载电源管理器和屏保
为WSL使用正常,防止出现意外行为,卸载一些Xfce4相关组件。
电源管理器(xfce4-power-manager)
屏幕保护(xscreensaver,gnome-screensaver,light-locker)
sudo apt purge xfce4-power-manager xscreensaver gnome-screensaver light-locker
与 Windows 10 共享字体
找到Windows字体文件夹 如果Windows字体文件夹为“ C\Windows\Fonts”,则其等效的WSL路径为“ /mnt/c/Windows/Fonts”。
将Windows字体文件夹路径添加到 /etc/fonts/local.conf 创建具有root特权的'local.conf'文件并添加以下行:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<dir>/mnt/c/Windows/Fonts</dir>
</fontconfig>
启动 X410 查看字体

在 Ubuntu 18.04 中启用声音
WSL当前不支持声音设备。因此,当您在X410中打开GUI桌面或应用程序时,除了基本的系统铃声(例如 CTRL + G)之外,您将听不到其他任何声音。我们希望Microsoft在WSL的将来版本中添加支持。
同时...有一种解决方法...
PulseAudio 下载
PulseAudio:https://www.freedesktop.org/wiki/Software/PulseAudio/Ports/Windows/Support/
可执行文件, PulseAudio 1.1版可用于Windows。它确实是一个旧版本,但可以在Windows 10上使用。需要科学上网,我这里提供一下下载:PulseAudio 1.1
修改配置文件
编辑 'etc\pulse\default.pa'
| Line 42 | |
|---|---|
| FROM | load-module module-waveout sinkname=output sourcename=input |
| TO | load-module module-waveout sinkname=output sourcename=input record=0 |
| Line 61 | |
|---|---|
| FROM | #load-module module-native-protocol-tcp |
| TO | load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 |
编辑 'etc\pulse\daemon.conf'
| Line 39 | |
|---|---|
| FROM | ; exit-idle-time = 20 |
| TO | exit-idle-time = -1 |
运行 PulseAudio
“pulseaudio.exe”是我们 Linux 应用程序所需的 PulseAudio 服务器(也称为守护程序)的可执行文件。路径:bin\pulseaudio.exe
首次运行 pulseaudio.exe 时,您将看到“ Windows防火墙警报”弹出窗口,询问您是否要允许其他设备连接到服务器。由于我们将仅使用回送地址(= 127.0.0.1),因此应选择“取消”;您不必允许其他设备。
享受声音

建立批处理 快速启动 WSL Xfce图形界面
在 Windows 10 下,创建一个批处理文件,名为 start-ubuntu-xfce-desktop.bat。

编辑批处理文件
start /B x410.exe /desktop
start "" /B "C:\Develop\WSL\PulseAudio\bin\pulseaudio.exe"
ubuntu1804.exe run "if [ -z \"$(pidof xfce4-session)\" ]; then export DISPLAY=127.0.0.1:0.0; export PULSE_SERVER=tcp:127.0.0.1; xfce4-session; pkill '(gpg|ssh)-agent'; taskkill.exe /IM x410.exe; taskkill.exe /IM pulseaudio.exe /F; fi;"
这样只要双击这个批处理命令,就可以直接运行 Ubuntu 18.04 Xfce图形桌面。
总结
在 WSL 中的 Ubuntu 18.04,开发环境需要什么安什么,Xfce 也没装自定义的桌面主题扩展,没安浏览器,为了测试声音装了个VLC播放器,能在Windows下做的都不用在Linux下搞,以简为主,可以为硬盘节省不少空间。
用 Ubuntu 时,终端和图形桌面,都可以即用即起(秒起),舒服~




