本文将一步一步教你如何在WSL2 中 Ubuntu 配置运行 GNOME 桌面环境。
注意:如果您想要终极 Linux 桌面体验,我强烈建议您安装 Linux 作为你的主要操作系统。
网上的很多教程都是安装轻量的 xfce4 桌面,Xfce 虽然很轻量级,但是不够现代,界面风格太丑了,看起来有点过时了。想要传统的 Ubuntu 体验,那就请安装GNOME桌面环境,本教程将指导您安装 Ubuntu 的默认桌面环境 GNOME。
WSL2 中的 Ubuntu 20.04 不能运行默认版本的 GNOME,原因是:sudo apt install 默认安装的 GNOME 版本是高于3.34的,GNOME 从 3.34 版本开始就完全依赖 systemd 了,WSL2中是没有systemd的,自然也就运行不了新版的 GNOME。所以这里要先想办法让 systemd 可以使用。
现在请继续往下看,跟我一起你将拥有一个完整的 Ubuntu GUI,你将不必对所有事情都使用命令行。在开始设置之前,我安装了 Windows Terminal 作为我的终端应用程序。请注意,我已经安装了最新的 Linux 内核和 Ubuntu 20.04 的 WSL2。
一些相关教程:
- 如何在Windows 10上安装WSL 2 https://www.linuxmi.com/windows-10-wsl-2.html
- 在Windows 10中体验WSL运行Linux GUI应用程序 https://www.linuxmi.com/windows-10-wsl-linux-gui.html
你还需要下载VcXsrv。
开始你的Ubuntu
如果你在安装后第一次安装 Ubuntu,你可以很容易地将Ubuntu作为一个应用程序启动。但是就像我说的,我将使用Windows Terminal 来访问Ubuntu命令行。从Windows Terminal 启动Ubuntu会自动从Windows主目录打开命令行,而不是Ubuntu主目录。
你可以很容易地在终端中启动Ubuntu 20.04,点击顶部的向下箭头并选择Ubuntu。
将系统更新到最新
在继续安装之前,请确保拥有最新的包列表,并将已经安装的包升级到最新版本。
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt update && sudo apt upgrade -y
如下图:
安装多线程下载工具
先安装一款类似迅雷的下载工具软件,因为我们会下载一些大的软件包,即使网络带宽很好,这些下载也需要一些时间。 我们可以通过同时并行下载多个包来加快下载速度。
安装Axel
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install axel
这样就安装好了 axel 下载管理器,这能帮助我们通过使用多个连接同时下载多个文件。
安装 apt-fast
apt-fast 是一款替代 apt-get 提升下载速度的软件,通过安装这款软件来增加线程使下载软件速度加快。在下载软件包时,会大大缩短apt下载时间。使用过程与apt(apt-get)一样,只需要将apt(apt-get)改成apt-fast即可。
将PPA添加到资源列表
安装apt-fast
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt -y install apt-fast
安装过程中会有一些配置要完成:
因为 Ubuntu 20.04 使用 apt,所以我就选择它。
首先,它会询问用哪个包管理器替换 apt-fast。
请注意,我一直在使用 apt 并且我想使用 apt-fast 来代替它。
现在它将要求最大连接数。我现在使用默认值 5。
你也可以自己在 ${_MAXNUM} 变量中设置允许的连接数。
最后,选择Yes。
配置 apt-fast
1、现在我们配置开始apt-fast。
打开 apt-fast.conf 文件
linuxmi@linuxmi:~/www.linuxmi.com$ sudo nano /etc/apt-fast.conf
2、向下滚动直到您看到镜像配置。 删除第一个镜像数组的注释,如下所示:
OK,现在我们已经完成了 apt-fast 的配置。
安装 Gnome-Session
要获得原生 Ubuntu GUI,我们要下载安装 gnome-session 桌面环境。
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt-fast install ubuntu-desktop gnome
请使用apt-fast,其实安装也很快的。我们需要在开始GUI会话之前配置它。
打开你的 .bashrc 文件,里面有在启动时执行的所有命令:
并将这两行粘贴到.bashrc文件末尾:
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
export LIBGL_ALWAYS_INDIRECT=1
现在我们可以使用一个简单的脚本,它将为我们完成一些特别难的工作。请注意,你可能在你的Windows目录空间中使用Ubuntu,那就没有问题。但是如果你不想在你的windows工作空间中使用ubuntu文件,使用“cd~”导航到ubuntu的主目录。
linuxmi@linuxmi:~/www.linuxmi.com$ git clone https://github.com/DamionGans/ubuntu-wsl2-systemd-script.git
linuxmi@linuxmi:~/www.linuxmi.com$ cd ubuntu-wsl2-systemd-script/
linuxmi@linuxmi:~/www.linuxmi.com/ubuntu-wsl2-systemd-script$ bash ubuntu-wsl2-systemd-script.sh
这个脚本执行成功后,我们需要重启ubuntu。 在 Windows 终端中打开一个新的 PowerShell 窗口并键入:
linuxmi@linuxmi:~/www.linuxmi.com$ wsl --shutdown
继续,关闭现有的 ubuntu 选项卡并打开一个新选项卡。
打开下载好的了 VcXsrv。 启动 X server (XLaunch) 并执行以下步骤:
现在我们选择One large window或One window without titlebar。
在显示编号(display number)中输入 0。
在上图中,继续使用默认选择。我们将手动启动客户机。
这一步很重要。 确保选中“Disable Access Control(禁用访问控制)”选项,否则我们的 gnome-session 客户端将无法访问Server X。
并在最后一步单击完成。
完成这些步骤后,我们将看到一个黑色窗口,里面没有任何内容。 现在将在这个窗口中启动我们的 gnome-session。
转到 Ubuntu 终端并输入:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo gnome-session
现在等待 gnome 连接完成即可进入Ubuntu GNOME桌面环境了。
现在你的 Windows 中就有桌面版的 Ubuntu 20.04了,开心不!