惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
Cybersecurity and Infrastructure Security Agency CISA
WordPress大学
WordPress大学
人人都是产品经理
人人都是产品经理
小众软件
小众软件
博客园 - 【当耐特】
爱范儿
爱范儿
美团技术团队
Jina AI
Jina AI
Hugging Face - Blog
Hugging Face - Blog
博客园 - 聂微东
月光博客
月光博客
宝玉的分享
宝玉的分享
V
V2EX
Blog — PlanetScale
Blog — PlanetScale
Spread Privacy
Spread Privacy
博客园 - 叶小钗
量子位
Security Archives - TechRepublic
Security Archives - TechRepublic
Google DeepMind News
Google DeepMind News
L
LINUX DO - 热门话题
Hacker News - Newest:
Hacker News - Newest: "LLM"
P
Privacy International News Feed
Y
Y Combinator Blog
P
Proofpoint News Feed
NISL@THU
NISL@THU
The Last Watchdog
The Last Watchdog
S
Secure Thoughts
G
Google Developers Blog
Hacker News: Ask HN
Hacker News: Ask HN
Help Net Security
Help Net Security
I
InfoQ
Cisco Talos Blog
Cisco Talos Blog
Google Online Security Blog
Google Online Security Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Recent Announcements
Recent Announcements
Simon Willison's Weblog
Simon Willison's Weblog
Vercel News
Vercel News
Recent Commits to openclaw:main
Recent Commits to openclaw:main
T
Threat Research - Cisco Blogs
GbyAI
GbyAI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
C
CXSECURITY Database RSS Feed - CXSecurity.com
V
Vulnerabilities – Threatpost
B
Blog
Stack Overflow Blog
Stack Overflow Blog
Microsoft Azure Blog
Microsoft Azure Blog
N
News | PayPal Newsroom
J
Java Code Geeks
Latest news
Latest news
H
Hackread – Cybersecurity News, Data Breaches, AI and More

ddadaal.me

fork subgen实现纯本地AI视频字幕生成和翻译 - ddadaal.me 把nanobot关进Docker后,如何同时保留浏览器可视化与自动化 - ddadaal.me 可划分显存 != 统一内存:AI Max+ 395 64G AI推理性能 2025年总结 - ddadaal.me 14寸16核32线程:搭载AMD AI Max+ 395的HP战99 Ultra使用感受 Node是并发性能的绊脚石吗?测试Express服务器的基准并发能力 - ddadaal.me 用大模型总结文章:效果很好,但是玄学 - ddadaal.me 2024年总结 - ddadaal.me 在西雅图,给生活换个环境 - ddadaal.me 从调库到翻源代码:给wakapi增加SQL Server支持 - ddadaal.me 增加自制博客点击量统计 - ddadaal.me 博客集成AI文章总结功能 - ddadaal.me 2023年总结 - ddadaal.me 博客的发展2:重写,重生 - ddadaal.me 2022年总结 - ddadaal.me 2021年总结 - ddadaal.me 我的第一个真实项目:总结和经验 - ddadaal.me 一次生产环境的文件丢失事故:复盘和教训 - ddadaal.me react-typed-i18n: 使用Template Literal Types实现强类型的i18n - ddadaal.me 借助Docker,把VPN当作HTTP代理来用 - ddadaal.me 2020年总结 - ddadaal.me 美好的回忆和未知的未来:写在研究生开学前 - ddadaal.me 使用X11 Forwarding在WSL 2中运行GUI程序 - ddadaal.me 在小手机已经消失的时代,我选择了Galaxy S20 - ddadaal.me 使用PowerShell脚本让UWP应用使用localhost上的系统代理 - ddadaal.me 安装Arch Linux并使用N卡玩Steam游戏 - ddadaal.me 可靠性、辅助功能和多屏协同:我对智能手表的体验和看法 - ddadaal.me 从VSCode到Vim到……两个都用? - ddadaal.me 2019年总结 - ddadaal.me 入手4K显示器:LG 27UL550 - ddadaal.me 暗色模式上线 - ddadaal.me 修复gatsby-transformer-remark插件中文词数统计错误问题 - ddadaal.me 折腾Linux: 从实体机到Win10 - ddadaal.me 从viccrubs改名为ddadaal - ddadaal.me A React Form Component Performance Optimization with Profiler 博客的发展一:RSS,国内托管…… - ddadaal.me 2016至2019,和南京大学微软学生俱乐部一起成长 - ddadaal.me 北大信科 | 上交软院 | 南大软院夏令营经历 使用MVC、MVP、MVVM和FRP实现Android局域网群聊应用 - ddadaal.me 2019年春微软实习面试经验 - ddadaal.me Strongly Typed i18n with TypeScript A Kotlin DI Framework in 50 Lines and Thoughts on Kotlin 7天Hackathon,Web前端极速入门指南 - ddadaal.me An Infinite Loop Caused by Updating a Map during Iteration Simstate and Why - ddadaal.me 2018年总结 - ddadaal.me MSRA DKI组前端面经 - ddadaal.me Safety/Security and Extensibility/Scalability in Software System Design and Architecture 微软听听文档体验报告 - ddadaal.me 正则语法分析器和LALR(1)词法分析器 - ddadaal.me 新博客正式上线 - ddadaal.me 写代码要动脑子! - ddadaal.me 2017年总结 - ddadaal.me Python语言实现的符合本福特定律的十进制固定长度随机数发生器 - ddadaal.me 院自建GitLab CI配置实录 - ddadaal.me C++测例查看器 - ddadaal.me C++插件在VS2017上无法使用的分析 - ddadaal.me
wslg初体验:最佳Linux发行版? - ddadaal.me
2021-04-23 · via ddadaal.me

✨AI全文摘要

DeepSeek R1DeepSeek R1 8B

微软在Build 2020提出WSL2的GUI与GPU支持,一年后推出wslg预览版。通过最新Windows Insider版本测试,可直接运行Linux图形程序如xclock、VSCode和网易云音乐,支持剪贴板同步与音频输出,简化开发环境配置。但仍存在高DPI模糊、Windows输入法不兼容、QQ截图导致崩溃等问题。wslg采用Wayland和RDP协议架构,官方集成无需手动配置X Server。尽管功能尚不完善,其官方支持及GPU加速使Windows进一步融合Linux生态,成为更具竞争力的开发平台。

Azure AI部署的DeepSeek-R1模型推理

wslg

Build 2020上微软给大家画了个饼,说官方正在做WSL2的GUI和GPU支持。

Build 2020上WSL 2的GUI支持图片(来源:https://devblogs.microsoft.com/commandline/the-windows-subsystem-for-linux-build-2020-summary/#wsl-gui)
Build 2020上WSL 2的GUI支持图片(来源:https://devblogs.microsoft.com/commandline/the-windows-subsystem-for-linux-build-2020-summary/#wsl-gui)

大家都知道一些常见开发工具在Windows上运行效率很低(如IDEA的启动速度在Windows上速度比Linux下慢了1倍(相关文章))。

要是GUI和GPU都能用了,那WSL 2和Linux用起来还有什么区别?开发工具在WSL2跑,其他软件在Windows上,best of two worlds,岂不美哉?Linux桌面受到致命打击。

没想到这一等就是一年。最近微软终于放出了官方的GUI解决方案wslg的预览版(GitHub),可以在Insider build上公开测试了。

GitHub仓库
GitHub仓库

当然了,我马不停蹄地格掉了一个移动SSD,装上了Windows 10 Insider Dev版,开始测试。

环境要求

仓库里说,系统版本要求为21362或以上,还推荐安装一个更新的显卡驱动。

环境要求
环境要求

我本机是RTX 3070,于是就安装NVIDIA版本的。从NVIDIA官方网站可以看到,这个显卡驱动允许了WSL2使用GPU跑CUDA,使得需要GPU的计算任务(比如机器学习)也可以直接在WSL2上跑。这使得大家以后可以在Windows下跑机器学习了,Linux桌面再次受到致命打击。

CUDA on WSL驱动
CUDA on WSL驱动

直接从Windows Insider下载下来的ISO是21354版本的,还需要更新一次系统才能到21362+。更新之后为21364,可以正常运行wslg了。

21364版本
21364版本

接下来都是在截止2021/4/23能够获得的最新的Windows版本(21364)和wslg版本1.0.17上体验的。由于还是预览版,所以很多功能不能用都是正常的

安装WSL2,运行GUI程序!

现在安装WSL2很简单,不需要去控制面板里自己打开各种功能,只需要运行wsl --install即可安装WSL2的所有部件(已经安装好了没有截图)。

我们先拿使用X11 Forwarding在WSL 2中运行GUI程序中提到的几个软件试试水。

安装饼直接运行xclock,一个时钟出现了!

xclock
xclock

ohhhhhhh!无缝体验,不需要再去折腾什么DISPLAY环境变量,Windows的X Server,直接运行就可以了!

然后我们再用个复杂一点VSCode进行测试,也能正常运行。

VSCode
VSCode

把VSCode的titleBarStyle设置为custom后,使用vcxsrv的方案不能拖动窗口,但是wslg方案可以正常拖动。

拖动窗口
拖动窗口

再启动一个网易云音乐,可以发现音乐也可以正常播放。根据wslg的主页,wslg也通过对音频输入输出有完全的支持。

网易云音乐
网易云音乐

剪贴板也是双向同步的。

剪贴板同步
剪贴板同步

看起来很promising啊!

发现的问题

兴奋没一会,就发现了不少问题。这些问题使用官方的Ubuntu发行版也没有解决。

高DPI

我的显示器4K分辨率的,平时开的150%缩放,直接打开应用可以发现是糊的,看起来并不支持DPI缩放。

去Issues里查,确实有相关Issue(#23),里面提供了一个打开这个功能的解决方案,但是结果确实更糊了……

糊了的xclock
糊了的xclock

上面的拖动VSCode的动画打开这个功能后录制的,也可以看出VSCode已经糊得看不清了。

这看起来应该是个bug,因为已有的vcxsrv可以很完美地实现缩放。

Windows IME支持

我在文章中提到IME支持的问题。Linux下配置输入法也是一件比较麻烦的事情,如果能够直接使用Windows这边的输入法在Linux程序中输入程序,就会极大提高用户体验。

很遗憾的是看到当前版本的wslg仍然不支持直接使用Windows的输入法在Linux下进行输入。不知道微软有没有发现非英语国家的开发者确实有这个需求,也可能技术上有一些困难,如果以后可以做就更好了。

不能直接使用Windows输入法
不能直接使用Windows输入法

但是实在想要IME的话,还是可以直接在Linux下配置IME,虽然有点小问题(#8),但是总比没有用好嘛。

QQ截图使wslg崩溃

这是个很奇怪的bug。看下面gif,一开始使用Windows自带的Win+Shift+S截图没有问题,但是如果使用QQ截图,就会使得当前Linux程序崩溃,无法重新启动,即使重启WSL都不行,需要重启整个Windows才能解决……

QQ截图使wslg崩溃
QQ截图使wslg崩溃

其他发现

除了这些问题,我还有一些其他发现:

  1. 现在的WSL2内核已经升级到5.10了,这比之前的4.19提高了不少。虽然用起来并没有什么不同,但是对于版本强迫症的我来说是一个极大的安慰。
内核版本
内核版本
  1. 开始菜单里每个发行版的文件夹里会显示所安装的程序,个人猜测是读取desktop文件的。另外,Ubuntu里的程序是有图标的,Arch里的没有。Ubuntu不愧是有官方背书的(
Arch目录
Arch目录
Ubuntu目录
Ubuntu目录

总结

可以发现,现在的wslg的功能和普通的X Server差不多,甚至目前有的方案还不如(比如HiDPI支持)。

从GitHub的README上可以看到,这个项目并不是通过X11 Forwarding实现的,而是借用了Wayland的Compositor以及RDP协议,看起来架构复杂不少,带来的优势其实我暂时并没有发现,希望有大佬科普科普。

但是即使这样,由于wslg有官方背书,用户体验比自己折腾X Server和DISPLAY变量的X11 Forwarding方案好一些。再加上开始菜单的集成、GPU计算等等功能,可以说有了wslg,Windows朝着最佳Linux发行版又跨了一大步。通过WSL2和wslg,Windows完全兼容了Linux生态,Linux能做的Windows都能做,而反过来现在不行,由于Windows闭源的特性,可能以后也永远不行。