通过 WSL 在 Windows 10 上运行 Linux GUI 应用

原文地址: https://www.xda-developers.com/run-gui-linux-apps-windows-10-wsl/ (opens new window)

限量阿里云优惠券 (opens new window)

# 正文

Windows 可能是最受欢迎的桌面操作系统, 但这并不意味着它可以做所有事情. 例如, 如果要运行诸如 JetBrains Projector 服务器 (opens new window) 之类的应用, 则将需要基于 Unix 的系统, 比如 Linux.

微软不久前推出了 Windows Subsystem for Linux(WSL), 它带来了直接从 Windows 中运行 Linux 应用程序的支持.

但是 WSL 仍受到一些限制: WSL 1 甚至没有使用完整的 Linux 内核, 因此许多应用程序仍然无法正常工作. WSL 2 进行了很多改进, 但是仍然缺少 GUI 应用程序支持.

当然, 您也可以在 Windows 上安装 X Server (opens new window), 配置一些端口转发, 并在 WSL 中设置一个自动环境变量来实现这个功能, 但这很麻烦, 而且并不总是很有效.

接下来, 让我们介绍一下 WSLg.

# WSLg: 在 Windows 10 上运行带有 GUI 的 Linux 应用

WSLg 是 Microsoft 对 Linux GUI 应用的解决方案. 下面是由 Microsoft 提供的 WSLg 工作原理图.

WSLg 架构图 上图介绍了大量的内容, 但是基本思想实际上与您自己手动设置 X Server 的方法非常相似.

实际上, X Server 运行在用户看不见的并行 WSL 实例上, 然后 Windows 使用远程桌面协议将视频和音频从这个不可见实例传输到 Windows 端.

微软还表示, 即使通过这样的层层调用, Linux 应用程序也应该能够利用到您的 GPU, 并具有诸如 OpenGL pass-through 之类的优势.

当前, 这需要来自 AMD, Intel 或 NVIDIA 的特殊驱动程序, 但计划是在将来把这些驱动和 WSLg 捆绑在一起以便用户使用.

这个特性可能会在今年下半年的 Windows 21H2 到来, 与其一起的还有大量的 UI 更新 (opens new window).

Windows Developer Platform 的项目经理 Craig Loewen 在 Twitter 上确认 (opens new window), 在下一个主要 Windows 版本中, 所有用户都将获得对 Linux GUI 应用程序的支持.

# 特性

目前, WSLg 看起来似乎功能齐全. 您将获得 Linux GUI 应用程序完整的视频和音频支持, 以及 3D 加速功能.

当在 WSL 实例中安装新的 GUI 应用程序时, 它甚至会被添加到开始菜单中, 以便您可以直接启动它. 应用程序将显示在与对应 WSL 实例同名的文件夹下.

# 已知问题

当然, 这是一个早期版本, 并且存在一些错误. 您可以在 WSLg GitHub 存储库 (opens new window) 中查看问题的完整列表.

# 如何获得WSLg?

当前, 最简单的方法是更新到 Windows 10 Insider 的最新 Developer Ring 版本(内部版本 21364 或更高版本). 完成此操作后, 您只需在命令提示符或 PowerShell 窗口中运行 wsl –update , 然后运行 wsl –shutdown 后再次打开 WSL 实例并运行 Linux GUI 应用即可. 假设一切顺利, 您将看到这些 GUI 应用程序看起来几乎像原生 Windows 应用程序一样. 否则, 请查阅 GitHub 问题列表, 或根据需要提交自己的问题.

# 其他资源

有关如何运行带有 GUI 的 Linux 应用程序的更多信息, 请参考以下资源:

# 推广

欢迎大家点击下方的图片领取限量 阿里云优惠券 (opens new window), 新购续费更优惠: 限量阿里云优惠券 (opens new window)