Windows 的 Linux 子系统(WSL)即将带来图形化应用

2020-10-04
3分钟阅读时长

Windows 上的 Linux 正在继续发展,功能越来越强大。现在,图形化的 Linux 程序正在被整合到 WSL 中。

在微软 Build 2020 虚拟开发者大会上,微软 CEO 萨提亚·纳德拉宣布 Windows 的 Linux 子系统(WSL)2.0 即将支持 Linux GUI 和应用程序。现在这一天比以往任何时候都要近。在最近的 X.Org 开发者大会(XDC)上,微软合作伙伴开发者负责人 Steve Pronovost 透露,微软已经可以在 WSL 中运行图形化的 Linux 应用。

一直以来,虽然都可以在 WSL 上运行 GIMP 图形编辑器Evolution 电子邮件客户端LibreOffice 等 Linux 图形程序,但这并不容易。你必须安装一个第三方 X Window 显示服务器,比如 Windows 10 中的 VcXsrv Windows X Server,然后对 Windows 和 Linux 做一些调整,让它们顺利地一起工作X Window 系统几乎是所有 Linux 图形用户界面的基础。

现在,微软已经将 Wayland 显示服务器移植到 WSL 中。Wayland 是最流行的 X Window 兼容的显示服务器。在 WSL2 中,它通过远程桌面协议(RDP)连接将图形化的 Linux 应用程序连接到主 Windows 显示器上。这意味着你可以在同一个桌面屏幕上同时运行 Linux 和 Windows GUI 应用程序。

Pronovost 解释道:

WSL 本质上是在 Windows 托管的虚拟机里面运行 Linux,我们将应用程序(控制台程序,现在还有 GUI 程序)整合回你的 Windows 桌面,这样你就可以在统一的体验里面同时运行 Win32 和 Linux 应用程序。由于 Linux 是在虚拟机中运行,我们不能运行期望直接访问 GPU 的原生 GPU 驱动程序(除非我们做一些类似于离散设备分配的事情,并将其中一个宿主机 GPU 分配给虚拟机……但那样宿主机将失去对该 GPU 的访问!)。有了GPU-PV(GPU 准虚拟化),我们基本上可以在 Linux 中投射宿主机 GPU,让 Linux 和 Windows 进程共享同一个物理 GPU,而不需要固定的资源分区。

微软 WSL 项目经理 Craig Loewen 在 Twitter 上补充道,使用第三方 X 服务器和内置 Wayland 服务器的关键区别在于。“你不需要启动显示服务器,我们会为你处理。”此外,它还带有“与 Windows 的完美集成”,例如投影和 Linux 图标支持。

Loewen 还表示,你可以在其中运行 Linux Web 浏览器。“我们还没有用完整的桌面环境(DE)对它进行充分测试,因为我们想先专注于运行经常被问及的应用,主要是 IDE(集成开发环境),这样你就可以在一个完整的 Linux 环境中运行这些应用,”他说。

不过,先别太兴奋。Loewen 继续说道:“我们还没有制定测试通道的时间表,不过,这项工作通常会在接下来几个月内提供给 Insiders 试用。”

微软将 Linux 整合到 Windows 中已经有一段时间了。四年前,微软推出了 WSL,将 Linux Bash shell 带到了 Windows 10 中。通过 Bash 和 WSL,你可以运行大多数 Linux shell 工具和流行的 Linux 编程语言。

随着时间的推移,Linux 更成为 Windows 桌面上的一等公民。多个 Linux 发行版,从 Ubuntu 开始,随后是红帽 Fedora 和 SUSE Linux 企业桌面版(SLED) 都进入了 Windows 商店。随后,微软用 WSL 2 取代了将 Linux 内核调用转换为 Windows 调用的 WSL 翻译层。这一更新是在精简版 Hyper-V 管理程序上运行的微软自己的 Linux 内核附带的。

最近,从 Windows 10 Insider Preview build 20211 开始,Windows 用户可以访问 Linux 文件系统。这包括访问 Windows 本身不支持的 Linux 文件系统,例如 ext4。这也意味着,如果你用不同的磁盘双启动 Windows 和 Linux,现在可以从 Windows 访问 Linux 文件。有了这个功能,你可以通过管理权限从 Windows 文件资源管理器和 PowerShell 窗口访问 Linux 文件。

按照现在的发展速度,我对 Windows 11 可能会运行在 Linux 之上的“疯狂”预测,也许会成为现实!