提前了解一下 System76 新的基于 Rust 的 COSMIC 桌面

开发 前端
如果你还不知道,System76 的开发者一直在 致力于开发一个新的桌面环境(被称为 COSMIC),它是用 Rust 编写的,Rust 是一种内存安全的超快编程语言。

提前了解一下 Pop!_OS 即将推出的基于 Rust 的 COSMIC 桌面环境。仅供参考。

如果你还不知道,System76 的开发者一直在 致力于开发一个新的桌面环境(被称为 COSMIC),它是用 Rust 编写的,Rust 是一种内存安全的超快编程语言。

从头开始创建一个桌面环境不是一件小事。这涉及到创建从合成器、面板、窗口管理器到桌面环境的 API 和其他后端任务的一切。

这不是一件容易的事,而维护它又是另一回事。

而且,看起来 System76 已经开始了这方面的工作。

在 GitHub 上,你会发现已经有一个名为 cosmic 的仓库,但它主要是使用 JavaScript(用于创建 GNOME shell 扩展的语言)编写的。这就是 cosmic shell 扩展仓库,也就是 Pop!_OS 现在所搭载的。

在他们的 GitHub 中还有几个较新的仓库,这些恰好是他们即将推出的基于 Rust 的 COSMIC 桌面的元素。

所以,现在是时候构建、测试并提前了解一下了。

注: 澄清一下,目前 Pop!_OS 上基于 GNOME 的桌面环境叫做 COSMIC。而本文讨论的是基于 Rust 的 COSMIC 桌面环境,它是从头开始构建的,旨在取代当前的产品。

基于 Rust 的 COSMIC 桌面体验

打算成为 COSMIC 桌面环境整体一部分的三个仓库是:

  • 设置应用
  • 顶部面板(目前用于 X11 系统)
  • 合成器(似乎支持原生的 wayland、xwayland 和 X11 系统)

COSMIC 设置应用

注意: 这是一个半生不熟的早期预览,以让你有个大致印象。随着开发的继续,用户界面可能会有根本性的变化。所以,仅用于参考。

这是 Pop!_OS 的新 COSMIC 桌面的设置应用。它目前还在开发当中,没有准备好使用,不过如果你想运行它并试试界面,请随意!

那么,它看起来与目前的 COSMIC 体验有什么不同呢?

 

 

基于 Rust 的 COSMIC 设置与基于 GNOME 的 COSMIC

 

在写这篇文章时,该用户界面似乎没有与任何后端 API 相连接。启用和禁用 “为工作区启用左上角热角 ”的切换并没有什么变化,其他的切换也是如此,除了设置应用的 “关于” 部分所显示的信息。

仔细看截图,放置的位置很凌乱,但作为早期预览(或原型)来说也是正常的。

看起来他们正在用圆角和更干净的外观来处理一切。

切换动画感觉快速、流畅和迅捷(即使是在虚拟机内,我等不及在裸机上尝试)。但考虑到它甚至还没有功能,谈论性能没什么意义。

就个人而言,我不喜欢他们所采用的圆角外观。在我看来,GNOME 对圆角的实现是完美的。但是,看看它的结果应该是很有趣的。

顶部面板

作为 COSMIC 桌面环境的一部分,顶部面板也正在使用 Rust 语言实现。

至于这个顶部面板的外观,我不太确定如何测试它才不算对它不公平。从 GNOME 中启动它,会在 GNOME 的顶栏后面打开它。所以我想在一个单独的窗口管理器中打开它(到目前为止只用 bspwm 和 i3-wm 试过),但这导致了一些古怪的行为,比如面板像普通 GUI 软件一样占据了全部垂直空间。

COSMIC 合成器

COSMIC 桌面环境的合成器编译成功了,但在与 bspwm 或 i3-wm 一起使用时却无法启动。我试着在窗口管理器中启动它,因为 GNOME 不允许改变合成器。

这是由于在使用 VirtualBox 的虚拟机中,视频驱动的混乱以及 COSMIC 合成器还没有准备好。

但是,还有更多!

开发者 Eduardo Flores 也尝试了新的 COSMIC 桌面,在他的 博客文章 中分享了一些应用启动器和坞站的截图。

 

来自 Eduardo Flores

 

应用程序启动器看起来很相似,但是使用 GTK 构建的。同样,你也可以期待 Pop!_OS 21.10 引入一个类似的应用程序库,以及经典的坞站。

 

 

来自 Eduardo Flores

 

总结

当然,现在说发展的方向还为时过早。

要期待一个成熟的基于 Rust 的 COSMIC 桌面体验的测试版,应该还需要一段时间。

但是,从我们在这里看到的情况来看,我很兴奋。

你怎么看?欢迎你在下面的评论中分享你的想法!

责任编辑:未丽燕 来源: Linux中国
相关推荐

2023-02-04 19:49:29

System76

2022-01-22 16:25:51

System76桌面应用

2024-04-11 12:19:01

Rust数据类型

2021-12-27 08:31:42

Next.js SSRSSG

2020-02-10 14:26:10

GitHub代码仓库

2022-09-14 15:11:06

Linux防火墙

2020-03-01 17:53:38

Excel大数据微软

2018-12-05 20:58:53

2019-09-09 09:00:00

工具程序开发

2018-04-25 06:46:52

2023-03-02 08:00:55

包管理工具pnpm 包

2019-03-11 14:33:21

Redis内存模型数据库

2020-12-10 08:44:35

WebSocket轮询Comet

2022-03-24 13:36:18

Java悲观锁乐观锁

2020-01-31 15:43:58

JavaScript软件技术

2021-05-12 10:59:39

Kubernetes容器集群

2022-02-24 17:37:47

低代码拖拽前端

2018-03-21 09:08:06

超融合架构本质

2022-03-10 07:39:33

.NET部署模式

2019-02-20 14:16:43

点赞
收藏

51CTO技术栈公众号