三年磨一剑,Rust 桌面终于来了
2025年12月11日,System76 正式发布了 Pop!_OS 24.04 LTS 和 COSMIC 桌面环境。
这个系统作者我已经使用了3个多月,因为他是一个唯一不用你折腾n卡驱动的linux系统
说实话,当我第一次听说有人要用 Rust 从零开始写一个完整的桌面环境时,我的反应是:“这帮人是不是疯了?” 毕竟,桌面环境这玩意儿,GNOME 和 KDE 已经折腾了二十多年,代码量都是以百万行计的。用一门相对年轻的语言重新造轮子?听起来就像是用筷子吃牛排——能吃,但何必呢?
但 System76 还真就这么干了。三年时间,大约20万行 Rust 代码,他们交出了一份让人刮目相看的答卷。
COSMIC 到底是个啥?
先说清楚一件事:COSMIC 不是主题,不是 GNOME 的魔改版,也不是什么皮肤。
它是一个从头开始用 Rust 写的完整桌面环境。自己的 iced 工具包,自己的 Wayland 合成器,每一个组件从第一天起就是为内存安全设计的。
这就好比什么呢?想象一下,你家小区的物业一直用的是二十年前的管理系统,虽然能用,但经常出bug,偶尔还会把你的快递送到隔壁老王家。现在有人说:“我们不修了,直接用最新的技术重新写一套。” 这就是 System76 干的事。

技术架构长这样
COSMIC 的架构分成几层:
1. 自研 Wayland 合成器 (cosmic-comp)
没有 X11 的历史包袱,纯 Wayland 实现。这意味着更好的安全隔离、更流畅的渲染,以及不用再处理那些十几年前的兼容性补丁。
2. iced 工具包
System76 深度参与开发的跨平台 GUI 库。响应式设计,GPU 加速,专门为现代硬件优化。
3. 内存安全
每一行代码都是 Rust。内存泄漏、缓冲区溢出、释放后使用这些困扰 C/C++ 桌面环境的老毛病?在结构上就不可能发生。这不是理论,这是工程现实。
第一印象:快,真的快
我在虚拟机里跑了一下(是的,我的主力机不敢冒险装测试版),结果让我有点意外:
- 启动到桌面:8秒
- 空闲内存占用:780MB
作为对比,GNOME Shell 空闲时通常要吃掉 1.4GB 内存。COSMIC 几乎只要一半。
当然,虚拟机环境下我确实注意到打开和关闭应用时有些卡顿。不确定是虚拟化的锅还是真实存在的问题,但看到一些裸机用户也报告了类似情况,所以可能不完全是我的环境问题。

定制化:GNOME 做不到的,这里都有
GNOME 的哲学是"通过删减来实现简洁"。System76 的回应是"通过选项来实现强大"。
打开设置应用,你会发现:
- Dock 位置:左、右、上、下,随你选
- 面板配置:浮动、居中、自动隐藏,都行
- 窗口管理行为:想怎么来怎么来
- 主题系统:深色/浅色自动切换,强调色只出现在选中元素上(不会像某些系统那样到处都是)
我花了10分钟就配好了自己喜欢的工作流。Dock 放底部(没办法,macOS 用久了的习惯),Super 键打开启动器。这些在 GNOME 上要装三个扩展,而且每次更新都可能挂掉。
还有个视觉密度选项特别贴心:
- 宽松:GNOME 风格的大间距
- 舒适:默认,类似 Mint
- 紧凑:信息密集型
平铺窗口:这才是杀手锏
说真的,在试用 COSMIC 之前,我对平铺窗口管理器一直无感。我不想所有窗口都被平铺,我喜欢用鼠标,我喜欢完整的桌面环境。
但 COSMIC 的做法改变了我的想法。
点击平铺小程序,点击"平铺当前工作区",搞定。这个工作区现在就是平铺的了。每个新窗口自动平铺。Super + 方向键在窗口间导航,Super + Shift 移动窗口。你甚至可以把窗口拖到一起创建标签组。
最妙的是:你可以同时拥有平铺和浮动的工作区。
工作区1:平铺的终端、浏览器、文件管理器和笔记应用,用来写代码。工作区2:浮动窗口,VLC 全屏看视频,文件浏览器随便放。
在平铺工作区里,Super + G 可以让单个窗口浮动。需要一个计算器浮在平铺布局上面?Super + G。再按一次就平铺回去。
用了几个小时后,我已经离不开这个功能了。
说说不足的地方
三年开发不可能消除所有毛病,诚实地说几个问题:
原生应用比较基础
COSMIC 自带的应用都很简单。文件管理器有网格视图、列表视图、标签页、基本搜索,就这些。终端支持配置文件和透明度。文本编辑器很简约。如果你觉得 GNOME 的文件管理器功能都不够用,COSMIC 的默认应用会让你觉得更简陋。
没有扩展系统
这是故意的。System76 认为核心功能不应该依赖扩展。有小程序系统(剪贴板管理器、系统监视器、天气小部件),但不是 GNOME 那种扩展生态。
KDE 应用兼容性差
GNOME 应用能很好地跟随 COSMIC 的主题。KDE 应用?Flatpak 版本不跟主题但至少能用,仓库版本直接废了。Dolphin 不跟随深色模式,图标也坏了。如果需要 KDE 应用,用 Flatpak。
文档稀缺
目前主要靠 GitHub issues 和社区论坛。

为什么这件事很重要?
COSMIC 的意义超出了 Pop!_OS 用户群体。
它验证了 Rust 可以用于大规模 GUI 开发。
在 COSMIC 之前,Rust 桌面开发意味着命令行工具、系统实用程序或小型应用。最大的 Rust GUI 项目要么是实验性的,要么范围有限。
现在我们知道了:
- Rust 可以处理复杂的 GUI 应用(不只是 CLI 工具)
- iced 工具包已经可以用于桌面级项目
- 内存安全不需要牺牲性能
- 一个小团队(System76 的桌面团队不到20人)可以构建完整的桌面环境
它打破了 GTK/Qt 的二十年垄断。
25年来,Linux 桌面意味着 GTK 或 Qt,GNOME 或 KDE。COSMIC 引入了第三条路:用 Rust 写,基于 iced,独立于两大工具包。
我不是说 COSMIC 会取代 GTK 或 Qt,那不现实。但它证明了替代方案是可行的。其他项目现在可以指着 COSMIC 说:“看,Rust 桌面开发在规模上是可行的。”
谁应该试试?
如果你符合以下情况,可以考虑切换到 Pop!_OS 24.04:
- 想要平铺窗口管理但不想手动配置
- 多显示器混合 DPI 设置在其他桌面上让你抓狂
- 重视定制化,受够了 GNOME 的"我说了算"
- 想在桌面上运行生产级 Rust 基础设施
- 已经在用 Pop!_OS(这就是你等待的升级)
- 开发者,想要一个干净、快速的环境(平铺功能对终端重度用户特别友好)
- 对 GNOME 定制限制感到沮丧,但还没准备好接受 KDE 的复杂性
写在最后
System76 用三年时间证明了一件事:用现代语言重新思考桌面环境是可能的。
COSMIC 1.0 不完美,原生应用还很基础,文档还很稀缺,某些地方还需要打磨。但作为第一个版本,这个稳定性已经相当惊人了。我见过成熟桌面环境有更多毛病。
最重要的是,System76 有不同于社区项目的激励机制。他们卖预装 Pop!_OS 和 COSMIC 的笔记本和台式机。客户会要求修复 bug、添加功能、实现设置。如果 System76 不交付,他们会失去销售。这是质量的强制函数。
Linux 桌面的未来,可能比我们想象的更有趣。
觉得这篇文章有用? 如果你也对 Rust 或 Linux 桌面感兴趣,别忘了点赞、收藏,方便以后查阅。转发给你那些还在折腾 N 卡驱动的朋友,说不定能救他们一命。有问题或者想法,评论区见!
