喜大奔普,wsl原生支持GUI了

前两天偶然发现,WSL2 竟然原生支持 GUI 了,这个可能是 Win11 给我带来的唯一惊喜吧~

使用方式

用一个来形容使用体验就是爽! 现在可以完全抛弃双系统,什么 X11 的也统统消失吧~

首先看下基本使用方式:

  1. 在 WSL2 的命令行输入命令后,会直接出现一个窗口显示对应的 GUI

 nautilus ~

  1. 在 Windows11 的开始菜单中点击图标启动(可以直接在搜索栏中搜索程序)

当你在 WSL2 中安装新的应用程序后,会像 Ubuntu 一样在菜单中生成图标

  • 在使用时,windows 应用和 Linux 应用之间可以使用 Alt-Tab 键无缝切换
  • 跨 Windows 和 Linux 应用剪切 + 粘贴

安装步骤

  • 系统要求:需要使用 Windows 11 内部版本 22000 或更高版本(刚好满足~)

检查 WSL 版本

只有 WSL2 才支持原生 GUI,输入 wsl -l -v 命令,查看当前 WSL 版本
VERSION 显示 2 才可以

升级 WSL2 (已安装的忽略)

  1. 由于 WSL2 使用虚拟机方式,提供了完整的 Linux 内核的功能,所以需要开启虚拟化功能(PowerShell 中管理员身份运行):

    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  2. 安装 WSL2 内核包
    https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

  3. 将 WSL 2 设置为默认版本
    打开 PowerShell 并运行以下命令,以在安装新的 Linux 发行版时将 WSL 2 设置为默认版本(PowerShell 中管理员身份运行):

    wsl --set-default-version 2

WSL2 升级

  1. 输入 WSL 更新命令(PowerShell 中管理员身份运行):
wsl --update
  1. 重新启动 WSL (PowerShell 中管理员身份运行):
wsl --shutdown

执行完上面步骤后,就可以正常像 Ubuntu 中一样使用带 GUI 的程序了。

我在 WSL2 中安装了一套完整的桌面系统进行测试,在启动 GNOME 后,会显示一套 Ubuntu 的桌面 GUI, 状态栏和图标等一应俱全。甚至还可以使用 Crtl-Alt+T 快捷键去启动终端。

缺点

  1. 太占系统资源,由于 WSL 默认是安装在 C 盘,我一套软件安装下来后,发现 C 盘直接红了(本来也快了)

同时在任务管理器中可以看到 WSL2 所占用的内存,在正常使用时内存占用远比直接运行 Ubuntu 的内存占用高不少。

总结

WSL2 的这个功能让我感觉非常好,可以省去 X11 麻烦的配置,而且 GUI 的使用体验更好。

但是一个完整的桌面系统就没必要了,毕竟使用 WSL 的目的,并不是看上了 Linux 的桌面才使用的。

使用 VSCode 的终端加文本编辑功能,配合原生支持的 GUI 窗口已经足够满足大部分需求了。

而那些资源占用虽然有点多,但这是 WSL2 无法避免的(好像微软出品的软件内存就没低过。。。。)


喜大奔普,wsl原生支持GUI了
https://gary-hobson.github.io/2022/09/04/喜大奔普,wsl原生支持GUI了/
作者
非典型技术宅
发布于
2022年9月4日
许可协议