GUI应用程序支持Windows子系统的Linux初始预览

2021-04-22 11:52:51

一年前在Build 2020中推出了我们的目标,使Linux GUI应用程序为Linux(WSL)带来Windows子系统来运行Linux GUI应用程序。我们很自豪地宣布这一高度预期和开源功能的第一次预览!我们已经授课了这个功能昵称:“WSLG”。请查看下面的视频或继续阅读以查看您可以使用此功能的内容,以及如何安装此功能,以及如何安装它。

WSL允许您运行Linux环境,并在此时关注启用命令行工具实用程序和应用程序。 GUI应用程序支持现在允许您使用您喜欢的Linux GUI应用程序。 WSL用于各种应用,工作负载和用例中,最终,由您使用GUI应用程序支持的内容。下面,我们突出了一些关键场景,帮助您坠入Windux环境中的运行应用程序。

Visual Studio代码具有令人惊叹的体验,使用VS代码远程创建一种方法,可以为您直接在Windows机器上进行全面的Linux IDE,请将扩展和设置跨Windows和不同的WSL Distrs进行,(您可以查看我们的入门VS代码教程在此处。WSLG将允许您运行其他IDE,如GEDIT,基于JETBRAINA的编辑器,GVIM等,以表达方式测试,构建和调试Linux应用程序。

以下是运行GEDIT和GVIM以直接在WSL中编辑Linux文件的示例。

您可以使用此功能运行任何可能只存在于Linux中的GUI应用程序,或在Linux环境中运行自己的应用程序或测试。这对想要测试其跨平台应用程序的开发人员来说,这可能非常有用,因为它们现在可以直接在Windows 10上运行它,然后在Linux内轻松进入Linux,而无需更改计算机或管理虚拟机。

让我们来看看WSL中运行TestCafe Studio的示例,以从Linux中运行的Microsoft Edge浏览器进行一些Web测试。

构建,测试和使用使用音频或麦克风的Linux应用程序内置音频支持

WSL上的Linux GUI应用程序还将包括开箱音频和麦克风支持。这个令人兴奋的方面将让您的应用程序播放音频线索并利用麦克风,非常适合建造,测试或使用电影播放器​​,电信应用程序等。

这是在Linux上运行的窃听录制一些音频并播放它的示例。

作为此功能的一部分,我们还支持支持GPU加速的3D图形!由于在MESA 21.0中完成的工作,任何正在进行复杂的3D渲染的任何应用程序都可以利用OpenGL来加速Windows 10计算机上的GPU。这将使您的一些更复杂的应用程序顺利运行,例如运行凉亭,机器人仿真工具。使用不同的WSL发行版默认将很快包含此经验,但是通过遵循本博客文章中的说明,可以立即访问它以获取正确的图形驱动程序,并确保您的发行版具有兼容的MESA版本..

您可以看到凉亭应用程序模拟探索虚拟洞穴的机器人,以及可视化机器人的相机馈送的RVIZ应用程序及其激光现场传感器的输出。感谢GPU加速的3D图形,我们可以在60 FPS运行此演示!

从上面的演示中,您可能已经注意到我们不需要手动启动X服务器。这是因为使用此功能,我们将自动启动包含Wayland,X服务器,脉冲音频服务器以及使Linux GUI应用程序与Windows通信所需的所有其他功能的伴侣系统发行版。完成使用GUI应用程序并终止WSL分发后,系统发行版也将自动结束其会话。

与WSL管道的其余部分一样,我们的意图是为此组件完全管理和无缝用户。我们的意图适用于此系统发行版对用户不可见,这就是为什么您在运行WSL -L -V时不会看到此系统的原因。最后,我们很高兴能够展示我们正在使用Microsoft的CBL-Mariner分发这个系统发行版! CBL-Mariner是一种内部Linux发行版,其传统上用于微软的云基础架构和边缘产品和服务,我们现在正在扩展它来支持WSL内部的GUI应用程序。您可以查看下面的图表,以查看此功能的体系结构的总体摘要。

对于我们所做的构成功能和深度技术细节的完整深入了解,请查看由开发人员撰写的博客文章可以实现此功能。

在我们将其完全滚入WSL体验之前,我们正在将此功能的推出作为初始预览。要使用Linux GUI应用程序支持,您需要确保您在Windows 10内部有人预览版本21364或更高版本。如果已安装WSL,则您需要执行的只是运行WSL -Update,您将设置为使用GUI应用程序。如果未启用WSL,则运行WSL --install将自动将WSLG作为初始WSL安装程序的一部分安装。

您可以在GitHub存储库中找到完整的安装说明README:https://github.com/microsoft/wslg。我们还强烈建议您在WSL中启用了GPU计算支持,以获得最佳性能,请参阅安装说明的本节,以了解如何确保启用该功能。

请在WSLG GitHub存储库上提交任何技术问题,或用于GUI应用程序支持的功能请求。对于一般的WSL问题,请在WSL存储库中提交。您还可以在Twitter @craigaloewen和使用此列表上的推特上的所有WSL团队成员跟进。请留在此博客上进行调整,以获取更多令人兴奋的WSL公告,我们迫不及待地想听听您对此新功能的看法。