喜大奔普,wsl原生支持GUI了
前两天偶然发现,WSL2 竟然原生支持 GUI 了,这个可能是 Win11 给我带来的唯一惊喜吧~
使用方式
用一个来形容使用体验就是爽! 现在可以完全抛弃双系统,什么 X11 的也统统消失吧~
首先看下基本使用方式:
- 在 WSL2 的命令行输入命令后,会直接出现一个窗口显示对应的 GUI
- 在 Windows11 的开始菜单中点击图标启动(可以直接在搜索栏中搜索程序)
当你在 WSL2 中安装新的应用程序后,会像 Ubuntu 一样在菜单中生成图标
- 在使用时,windows 应用和 Linux 应用之间可以使用 Alt-Tab 键无缝切换
- 跨 Windows 和 Linux 应用剪切 + 粘贴
安装步骤
- 系统要求:需要使用 Windows 11 内部版本 22000 或更高版本(刚好满足~)
检查 WSL 版本
只有 WSL2 才支持原生 GUI,输入 wsl -l -v
命令,查看当前 WSL 版本
升级 WSL2 (已安装的忽略)
由于 WSL2 使用虚拟机方式,提供了完整的 Linux 内核的功能,所以需要开启虚拟化功能(PowerShell 中管理员身份运行):
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
安装 WSL2 内核包
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi将 WSL 2 设置为默认版本
打开 PowerShell 并运行以下命令,以在安装新的 Linux 发行版时将 WSL 2 设置为默认版本(PowerShell 中管理员身份运行):wsl --set-default-version 2
WSL2 升级
- 输入 WSL 更新命令(PowerShell 中管理员身份运行):
wsl --update
- 重新启动 WSL (PowerShell 中管理员身份运行):
wsl --shutdown
执行完上面步骤后,就可以正常像 Ubuntu 中一样使用带 GUI 的程序了。
我在 WSL2 中安装了一套完整的桌面系统进行测试,在启动 GNOME 后,会显示一套 Ubuntu 的桌面 GUI, 状态栏和图标等一应俱全。甚至还可以使用 Crtl-Alt+T 快捷键去启动终端。
缺点
- 太占系统资源,由于 WSL 默认是安装在 C 盘,我一套软件安装下来后,发现 C 盘直接红了(本来也快了)
同时在任务管理器中可以看到 WSL2 所占用的内存,在正常使用时内存占用远比直接运行 Ubuntu 的内存占用高不少。
总结
WSL2 的这个功能让我感觉非常好,可以省去 X11 麻烦的配置,而且 GUI 的使用体验更好。
但是一个完整的桌面系统就没必要了,毕竟使用 WSL 的目的,并不是看上了 Linux 的桌面才使用的。
使用 VSCode 的终端加文本编辑功能,配合原生支持的 GUI 窗口已经足够满足大部分需求了。
而那些资源占用虽然有点多,但这是 WSL2 无法避免的(好像微软出品的软件内存就没低过。。。。)