我们用Windows官方跑了跑Linux GUI应用程序,不愧是“胶水操作系统”

梦晨 萧箫 发自 凹非寺
量子位 报道 | 公众号 QbitAI

现在,Windows不仅是最好的Linux发行版,还是最好的Linux桌面了。

怎么回事?

原来是Windows官方的Linux子系统(WSL),终于支持Linux GUI了!

也就是说,你现在可以直接在Windows系统中运行喜欢的GUI编辑器&工具,来构建和测试Linux应用程序。

所以在“咕咕咕”一年后,微软终于实现了去年Build开发者大会上立下的flag:

  • 在Windows里运行Linux的IDE开发Linux程序

  • 在Windows里运行只支持Linux的GUI程序,或者在Linux环境测试你的程序

  • 支持GPU 3D加速

……

那么,实际上手体验后,效果究竟如何呢?我们帮你测试了一下。

使用体验

要使用WSLg,首先要加入Windows预览体验计划,并选择Dev渠道。

接下来将系统升级到最新预览版。

如果已经安装过WSL直接运行“wsl —update”就可以了。如果没有安装过,运行“wsl —install”就会默认安装最新带WSLg的版本。

不指定发行版的话默认安装Ubuntu

下载好之后需要重启,重启后就会自动安装了。

在Linux子系统里装了几个基础程序后回到Windows一看,好家伙,直接出现在开始菜单里了。

但是图标怎么都是小企鹅?

随便打开一个Gnome文件管理器试试。

拖动窗口和拖拽选取的时候还是能明显感觉到有一点掉帧(Surface Book 2)。

接下来安装VS Code的WSL插件。

在WSL里装个PyQt,写个最简单的demo,成功运行,跨平台调试以后就方便了。

电脑配置好的话也可以在WSL里安装Linux环境的开发工具。已经有人试过Pycharm的社区版是可以运行的。

调试的时候如果出现错误,安装一些依赖就行。

sudo apt-get install build-essential autoconf libtool

“最棒的Linux桌面”

这个名为WSLg的功能,目前相关代码已经开源,geek们又有的玩了。

具体到显示服务上,WSLg同时支持X11和Wayland两种协议,能通过微软内置的远程桌面进行连接。

据微软表示,相比之前的第三方实现,WSLg更加稳定方便。(毕竟是官方钦定)

WSLg基本上是以Wayland为基础开发的一个Linux桌面,并通过托管XWayland服务器,来支持X11应用程序。

微软选择了Weston,来作为WSLg的核心,即Wayland合成器的参考实现,包括一个重度扩展的RDP后端、一个RAIL/VAIL shell和一个X Window管理器。

换而言之,如果一个Linux程序能在Linux的Weston合成器中正常工作,那它也能在WSLg中正常工作。

如下图,是WSLg的整体结构。

这一架构的部分技术细节如下:

首先,是重度扩展RDP后端实现的功能。

例如,远程传输能在单个窗口显示,而非整个桌面。开发者采用RDP RAIL技术,将远程Linux应用程序集成到本地桌面上;同时,采用VAIL技术进行传输,在主机和客户端之间共享内存。

又或者,让Linux应用程序能在Windows桌面上实现缩放,以支持多显示器配置,同时支持单个显示器的DPI(图像输出分辨率)缩放。

值得一提的是,这次还增加了剪贴板功能,能在Linux和Windows应用程序之间直接复制文本、html和位图数据,比虚拟机更方便。当然,目前还不支持拖放操作。

然后,这次还增加了对音频输入和输出的支持

开发者编写了小型插件,用于在PulseAudio和RDP后端之间传输音频数据,让音频流通过RDP传输集成到本地或远程RDP客户端。

此外,还有后台 (用于启动、暂停Weston核心,以及建立到主机的RDP连接,并在传输中止时重启)、以及应用程序管理插件 (卸载、安装Linux应用)等功能。

不过,目前的“预览版”WSLg,仍然采用服务器端来移动和调整窗口大小,导致窗口移动和调整不像在本地操作一样流畅。

软件以外,WSLg还支持OpenGL应用程序的加速,可以运行更复杂的3D应用程序。

微软员工Steve Pronost做了一个简单的性能测试,独立显卡和核显加速效果都很明显。

而在今年早些时候,微软还在WSL中加入了机器学习的API DirectML。

加上现在GPU和Linux GUI应用程序也都已经支持,在WSL2上能直接运行英伟达CUDA加速功能,可以加速cuDNN、cuBLAS、TensorRT等CUDA-X库。

这意味着开发者能直接在WSL上训练神经网络,不必再单独安装一个Linux系统了。

WSLg的开发人员表示,他们会继续完善这个项目,改进用户体验。

套娃开始

现在Windows可以运行Linux程序了,Linux也早就能运行Windows程序了。

脑洞大的网友想到这已经坐不住了:如果在WSL下运行Wine,是不是等于套娃了一个Windows?

先来一个简单的,在WSLg里的Linux下跑一个Wine下的IE。

注意看时间,8分钟以后,这事就收不住了:WSLg下Linux的Chrome里跑一个JavaScript写的Windows3.1。

另外有消息称,微软在WSL的基础上正在开发安卓子系统。

没想到Windows成了一个“胶水操作系统”。

参考链接:
[1]https://devblogs.microsoft.com/commandline/the-initial-preview-of-gui-app-support-is-now-available-for-the-windows-subsystem-for-linux-2/
[2]https://devblogs.microsoft.com/commandline/wslg-architecture/
[3]https://www.hanselman.com/blog/can-you-really-develop-with-linux-gui-apps-on-windows-10-with-wslg-how-about-pycharm
[4]https://twitter.com/shanselman/status/1385381521679286276

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/39487.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用了一下国产免费 AI 代码补全工具,真不错!

作者:去伪存真 原文:https://juejin.cn/post/7216992973418217533 前言 ChatGPT把AI带火了,我就在想,能用它做点什么呢,总不能只让它给我们带来焦虑,也要让我们从科技浪潮中分得一点红利吧。一番查找下来&a…

AI设计 | 如何让零基础小白在3分钟内利用AI人工智能设计Logo?

作为一个缺乏基础知识的初学者,你或许会认为Logo设计很难。但是,AI人工智能这个神奇的工具可以帮助你轻松地设计出自己的Logo,让整个过程变得愉快且简单。只要按照我的步骤并跟随我,你可以成为一位杰出的Logo设计师,不…

Tushare接口+LSTM模型预测股票走势

Tushare接口LSTM模型预测股票走势 Tushare ID:423115 Tushare接口优势以及使用方法 Tushare是一款国内使用较为热门的财经接口,数据源稳定不易出错,速度较快,能符合开发的需求,下面讲讲使用的基本方法。 注册账号 …

基于LSTM的对股票走势的预测

下图是基于LSTM的对股票走势的预测的结果 项目附件说明 本次实验项目文件有以下文件夹:stockPredict 文件夹。 1、根目录下存放使用的 python 代码。 2、data 文件夹下存放获取到的股票数据。 3、model 文件夹中包含已经训练好的模型。 4、img 文件夹中包含测试数据表现折线…

股票价、量走势图绘制

在证券投资分析领域中价、量走势分布图是投资者常用的一个参考方面。本案例主要介绍股票每日收盘价格、成交量的走势图以及月交易量分布饼图的绘制技能,并进一步介绍了子图的绘制方法 。 今有股票代码600000行情交易数据表(trd.xlsx)&#xf…

动态分析股票走势算法图,股票趋势预测算法

股票动态市盈率怎么计算出来的? 谈论起市盈率,这可真是有人爱,有人恨,有人认为有用,也认为无用。这个市盈率到底有没有用,咋用? 在为大家介绍我使用市盈率买股票的方法之前,先和大…

(个人简历一)用纯html写个人简历

效果 实现代码 用纯table实现 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>简历</title></head><body><table border"1" cellspacing"0" align"center"><t…

一位优秀前端工程师的简历应该怎么写?

​如今前端市场的从业人员很多且鱼龙混杂&#xff0c;真正的高手大牛非常稀缺&#xff0c;呈典型的金字塔形状&#xff0c;所以前端的招聘也是很多猎头及HR的痛点所在。那么在这种混乱的环境中&#xff0c;如何才能让自己突出重围&#xff1f;需要实力&#xff0c;更需要技巧。…

简历解析步骤(第一步)技术与实现(1)识文字,取信息

简历解析步骤&#xff08;第一步&#xff09;技术与实现&#xff08;1&#xff09;识文字&#xff0c;取信息 在上篇文章中&#xff0c;我们讲解了简历解析的理论。一般情况下&#xff0c;我们会以图片或文档的形式收到简历&#xff0c;为了实现解析&#xff0c;首先需要将其中…

实战简历编写,打造硬核敲门砖

实战简历编写&#xff0c;打造硬核敲门砖 1.自我介绍2. 技能描述3.工作经历4.项目经历4.1 商城4.2 进销存 自我评价教育经历 1.自我介绍 简历开篇就是介绍自己&#xff0c;忌长篇大论&#xff0c;那么点时间&#xff0c;相信你自己作为面试官&#xff0c;也不想去看阅读理解 …

1小时学会不打代码制作一个网页精美简历(1)

作者简介 作者名&#xff1a;1_bit 简介&#xff1a;CSDN博客专家&#xff0c;2020年博客之星TOP5&#xff0c;蓝桥签约作者。15-16年曾在网上直播&#xff0c;带领一批程序小白走上程序员之路。欢迎各位小白加我咨询我相关信息&#xff0c;迷茫的你会找到答案。系列教程将会在…

如何写好的前端简历

识别亮点&#xff1f; 亮点应该是那些能让你显得与众不同的经历&#xff0c;比如说&#xff1a; 做过一些深度的性能优化&#xff0c;并且有比较大的性能收益&#xff0c;能量化提升空间的。 做过一些业务逻辑特别复杂、业务影响力特别大的项目。 推进过一些制度、工具&#xf…

前端开发工程师简历

简历是什么 找工作之前投递的个人信息和工作能力----不全面 应该是&#xff1a;个人当前阶段的价值体现 前者&#xff1a;我能卖多少钱&#xff1b;后者&#xff1a;我现在值多少钱 建议&#xff1a;每隔半年/一年给自己做总结的时候写一份简历&#xff08;相当于个人价值总结…

前端 100 问:能搞懂80%的请把简历给我

更新&#xff1a;目前已达到『1.2W』Star了&#xff0c;谢谢大家的支持&#xff0c;最近折腾了一个博客网站出来&#xff0c;方便大家阅读&#xff0c;后续会有更多内容和更多优化&#xff0c;猛戳这里查看 ------ 以下是正文 ------ 引言 半年时间&#xff0c;几千人参与&a…

前端工程师简历怎么写?

其实前端工程师并不少&#xff0c;但很多时候合适的前端工程师难找。可能是由于程序员比较内向&#xff0c;前端工程师都没有把自己最厉害的那一面表现出来。今天我们来聊聊前端工程师的简历怎么写&#xff0c;希望能够对大家有帮助。 简历的重要性 简历的作用其实一直被忽…

前端简历模板

个人资料 姓名&#xff1a;嘻嘻 性别&#xff1a;女 电话&#xff1a;12132323613 邮箱&#xff1a;12132143285163.com 现居地&#xff1a;上海市 工作年限&#xff1a;3年 求职意向 期望职位&#xff1a;前端开发工程师期望薪资&#xff1a;面议 工作性质&#xff1a;…

如何写简历,Web前端简历

面试官到底想看什么样的简历&#xff1f; 面试一直是程序员跳槽时期非常热门的话题,虽然现在已经过了跳槽的旺季,下一轮跳槽需要年底才会出现,但是当跳槽季的时候你再看这篇文章可能已经晚了,过冬的粮食永远不是冬天准备的,而是秋收的时候。 点个关注,点个收藏,需要的时候就防…

黑马程序员教你如何写出优秀的前端工程师简历

对于一名想找工作的前端开发工程师而言&#xff0c;简历直接关系到面试概率甚至薪资水平&#xff0c;其重要性已不用多说。在HR快速筛选简历的情况下&#xff0c;你的简历要脱颖而出&#xff0c;就得在短时间内将自己的亮点展示给招聘方。具体怎么做&#xff1f;黑马程序员前端…

教你如何写初/高级前端简历

进击的web前端开发 前端企鹅圈&#xff1a;784783012 分享学习方法和需要注意的细节 110 人赞同了该文章 1. 前言 本文仅是针对初高级技术岗位哈。 参与了部门的实习生招聘工作&#xff0c;收到了很多同学的简历。发现有一些同学的简历写得不是很好看。 但是&#xff0c;仔细…

前端程序员简历模板整理和下载

大家好&#xff0c;我是漫步 昨天分享了关于制作简历的一些建议&#xff0c;总的来说有这几个方面要点要记住&#xff1a; 排版工整&#xff1a;不要出现错别字&#xff0c;版面清晰&#xff0c;段落自然&#xff0c;字体适中&#xff0c;简洁工整。 突出重点&#xff1a;突出…