玩命加载中 . . .

wsl2 Ubuntu 配置 GUI 及 gnome 桌面


wsl2 Ubuntu 配置 GUI 及 gnome 桌面

💡 Note:

本文撰写于2021.2.26,文中的内容已经过时,微软于2021.7月份已经通过 Windows 预览体验计划发布了 WSLg,无需配置即可实现 GUI 界面。

折腾了许久的 wsl2,经历了无数次重置与 reinstall 之后终于完成了大概的配置。这里记录一下过程。

我安装的是 Ubuntu,这些操作也只在 Ubuntu 上有实验成功。总的来说,各种问题还是不少的。在配置完成后,比起在物理机上装系统还是多很多小问题。酌情尝试,按需选择

准备工作

首先进行准备工作。网络上的教程很多都是安装轻量的 xfce4 桌面,但我一直使用 gnome,所以对它有种执念(没什么好处)。gnome 是依赖 systemd 的,但 wsl2 作为一个小虚拟机, systemd 是无法使用的,所以这里要先想办法让 systemd 可以使用。有下面两种方法:

💡 Note:

我尝试过使用 genie,但并没有成功。于是转而使用第二种方案。第二种安装方式也很简单:

git clone https://github.com/DamionGans/ubuntu-wsl2-systemd-script.git
cd ubuntu-wsl2-systemd-script/
bash ubuntu-wsl2-systemd-script.sh

然后把下面这句放进 .bashrc.zshrc 文件里
source /usr/sbin/start-systemd-namespace

配置完可以用如下指令来实验一下 systemd 是否正常运行

systemctl

实现桌面环境

在 Windows 上安装 X-Server

我们可以用 x410 这个工具来在 Windows 中运行 wsl2 的 GUI Desktop。这个工具是收费的,也有免费的 VcXsrv 可以使用。总之先把这些工具下载下来。这是用于在 Windows 上现实 Linux 窗口的。

打开 x410 或 VcXsrv,注意,如果有防火墙窗口弹出,一定要把公用和专用网络都打勾再点允许。如果错过了可以在控制面板进行设置:

安装 Ubuntu-desktop 并配置通信

可以通过如下指令直接安装桌面环境:

sudo apt install ubuntu-desktop

安装过程可能有些慢,需要耐心等待。安装结束后,进行下一步

接下来创建一个 gnome.sh 文件并加入如下内容:

export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0.0;
export XDG_SESSION_TYPE="x11"
export XDG_RUNTIME_DIR=/home/mond/.cache/xdg
export XDG_SESSION_CLASS="user"
export XDG_SESSION_DESKTOP=ubuntu
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
export DESKTOP_SESSION=ubuntu
export GDMSESSION=ubuntu
export GNOME_SHELL_SESSION_MODE=ubuntu

gnome-session "$@"

之后直接运行这个脚本就可以打开桌面环境了。

attention:

注意,在笔者的尝试下,如果是使用 x410 的话,要选择 Floating Desktop 模式才会正常出现桌面环境。

另外一种方法

在上面工作的基础上,有另外一种方法,可以不用安装 X-Server 软件就能实现打开 Ubuntu 桌面。

首先在 WSL2 中安装并打开 xrdp 服务:

sudo apt install xrdp
sudo systemctl start xrdp

完成后在 Windows 中打开任务栏上的开始或搜索界面,键入 远程桌面连接,或者直接在开始菜单中找到 Windows 附件 其中的远程桌面连接并打开。

打开后使用 localhost:3389 来连接 Ubuntu 桌面。


文章作者: Mond
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC 4.0 许可协议。转载请注明来源 Mond !
  目录