wsl2启动桌面_在 WSL2 中使用 Ubuntu 桌面環境

雖然微軟在 BUILD 2020 上已經宣佈,未來會讓 WSL2 可以執行 GUI 應用程式

事前準備

首先,對於一個習慣 Ubuntu 的我來說,如果可以體驗到完整的 Ubuntu 桌面是再好不過了,換句話說,我們需要在上面可以跑一個完整的 Gnome Shell 環境,並加上 Ubuntu 的 Extension 們。

取得完整 systemd 環境

Gnome Shell 從 3.34 版開始,就已經跟 systemd 整合

也因此,在 WSL2 的系統裡面,其實是沒有啓用 systemd 的,我們可以簡單的透過下面的方式來檢查看看:

$ systemctl

System has not been booted with systemd as init system (PID 1). Can't operate.

Failed to connect to bus: Host is down

$ ps u -q 1

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

root 1 0.0 0.0 908 592 ? Sl 10:31 0:00 /init

可以很明顯的看到,當我們執行 systemctl 的時候,會顯示出我們的 init system (PID 1) 並非 systemd,而是微軟提供的 /init。

那我們如果想要擁有一個 systemd 環境的話,該怎麼辦呢?

由於 systemd 必須以 PID 1 的方式執行,所以直接執行 systemd 是沒有用的,但多虧了 Linux Namespace 我們可以在 WSL2 中建立新的 Namespace 並把 systemd 作為 PID 1 來執行,也就是在 WSL2 中再多加一層 PID Namespace,使得我們可以建築一個 systemd 的環境並跳進這個新的 Namespace 中。

所幸,我們不需要自己來研究這部分該如何操作,GitHub 上已經有幾個專案可以直接拿來參考並使用:

$ git clone https://github.com/DamionGans/ubuntu-wsl2-systemd-script.git

Cloning into 'ubuntu-wsl2-systemd-script'...

remote: Enumerating objects: 76, done.

remote: Counting objects: 100% (76/76), done.

remote: Compressing objects: 100% (55/55), done.

remote: Total 76 (delta 40), reused 41 (delta 21), pack-reused 0

Unpacking objects: 100% (76/76), 19.46 KiB | 996.00 KiB/s, done.

$ cd ubuntu-wsl2-systemd-script/

ubuntu-wsl2-systemd-script $ bash ubuntu-wsl2-systemd-script.sh

[sudo] password for davy:

Hit:1 http://security.ubuntu.com/ubuntu focal-security InRelease

Hit:2 http://archive.ubuntu.com/ubuntu focal InRelease

Hit:3 http://archive.ubuntu.com/ubuntu focal-updates InRelease

Hit:4 http://archive.ubuntu.com/ubuntu focal-backports InRelease

Reading package lists... Done

(Reading database ... 31836 files and directories currently installed.)

Preparing to unpack .../0-dbus-user-session_1.12.16-2ubuntu2.1_amd64.deb ...

Unpacking dbus-user-session (1.12.16-2ubuntu2.1) over (1.12.16-2ubuntu2) ...

Preparing to unpack .../1-dbus-x11_1.12.16-2ubuntu2.1_amd64.deb ...

Unpacking dbus-x11 (1.12.16-2ubuntu2.1) over (1.12.16-2u

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在WSL 2安装可视化桌面环境,你可以按照以下步骤进行操作: 1. 首先,确保你已经在Windows 10上安装了WSL 2,并且已经启用了适用于WSL 2的Windows子系统功能。你可以在Microsoft官方文档找到详细的安装和配置指南。 2. 打开Microsoft Store,并搜索适用于WSL的Linux发行版。常见的选择包括Ubuntu、Debian、Kali等。选择一个你喜欢的发行版并安装。 3. 打开已安装的Linux发行版,进行初始化和设置。根据你选择的发行版,可能需要创建一个用户名和密码。 4. 安装一个X服务器软件,它将允许你在WSL运行Linux应用程序的图形界面。在Windows上,你可以使用X410、VcXsrv等软件。你可以从它们的官方网站下载并安装。 5. 在WSL,通过运行以下命令来配置X服务器软件: ``` export DISPLAY=:0 echo "export DISPLAY=:0" >> ~/.bashrc ``` 6. 安装并配置你喜欢的桌面环境,如Xfce、GNOME、KDE等。你可以在发行版的软件仓库找到这些桌面环境的软件包,并按照它们的安装指南进行安装。 7. 启动X服务器软件(如X410或VcXsrv),然后在WSL运行以下命令启动桌面环境: ``` startxfce4 ``` 或者 ``` gnome-session ``` 根据你选择的桌面环境,选择适合的命令进行启动。 8. 如果一切顺利,你应该能够在Windows上看到一个窗口,显示你选择的Linux桌面环境的界面。 请注意,这只是一个简单的指南,你可能会遇到一些问题和挑战。但是,按照这些步骤进行操作,你应该能够在WSL 2成功安装和运行可视化桌面环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值