Merge pull request #24403 from wxy/20220114-I-Tried-System76-s-New-Rust-based-COSMIC-Desktop

TR:sources/news/20220114 I Tried System76-s New Rust-based COSMIC Desktop.md
This commit is contained in:
Xingyu.Wang 2022-01-17 10:51:35 +08:00 committed by GitHub
commit 64bf79fd52
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 124 additions and 125 deletions

View File

@ -1,125 +0,0 @@
[#]: subject: "I Tried System76s New Rust-based COSMIC Desktop!"
[#]: via: "https://news.itsfoss.com/system76-rust-cosmic-desktop/"
[#]: author: "Community https://news.itsfoss.com/author/team/"
[#]: collector: "lujun9972"
[#]: translator: "wxy"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
I Tried System76s New Rust-based COSMIC Desktop!
======
If you didnt know already, System76 developers have been [working on a new Desktop Environment][1] (dubbed COSMIC) written in [Rust][2]: a memory-safe and superfast programming language.
Creating a desktop environment from scratch is no small feat. That involves creating everything from the compositor, panel, window manager to the APIs for your desktop environment and other back-end tasks.
It is not an easy task, and maintaining it is another story.
And, it looks like System76 has already started working on it!
On GitHub, you will notice there is already a repository called [cosmic][3], but it is mainly in JavaScript (the language used to create GNOME shell extensions). This is the cosmic shell extension repository, which is what Pop!_OS ships with now.
There are a couple of newer repositories on their GitHub profile, which happen to be the elements of their upcoming Rust-based COSMIC Desktop.
So, it is time to build, test, and get an early look!
**Note:** _To clarify, the current GNOME-based desktop environment on Pop!_OS is COSMIC. This article discusses the Rust-based COSMIC desktop environment, built from scratch_, _meant to replace the current offering._
### Rust-based COSMIC Desktop Experience
The three repositories intended to be a part of the COSMIC desktop environment as a whole are
* [Settings app][4]
* [Top panel][5] (currently for X11 systems)
* [Compositor][6] (appears to have support for native wayland, xwayland and X11 systems)
#### COSMIC Settings
![][7]
**Note:** This is a half-baked early preview to get an idea. The user interface can be fundamentally different as the development continues. So, hold your thoughts!
This is the settings app for Pop!_OSs new COSMIC Desktop. It is currently WIP and not ready for use, although if you want to run it and play around with the GUI, feel free!
So, how does it look different from the current COSMIC experience?
![Rust-based COSMIC Settings vs. GNOME-based COSMIC][8]
When writing this, the GUI does not seem to be connected to any back-end APIs. Enabling and disabling “Enable top-left hot corner for Workspaces” toggle does not make a difference, nor does any other toggles, except for the information shown by the About section of the Settings app.
Looking closer at the screenshot, the placements are messy but expected from an early preview (or prototype).
It looks like they are approaching everything with rounded corners and a cleaner look to it.
The toggle animation feels quick, smooth and snappy (even inside a virtual machine, cannot wait to try it on bare metal). Considering its not even functional, lets forget about the performance.
![][9]
Personally, not a fan of the rounded corner look they are going with. GNOMEs implementation of rounded corners seems perfect to me. But, it should be interesting to see how it turns out.
#### Top Panel
As part of the COSMIC desktop environment, the top panel is also being implemented using Rust language.
As for the appearance of this top panel, I am not exactly sure how to test it without being unfair to it. Launching it from GNOME opens it behind the top bar that GNOME has. So I thought of opening it in a separate window manager (tried only with [bspwm][10] and [i3-wm][11] so far), but that resulted in some quirky behavior like the panel taking full vertical space like a normal GUI software.
#### COSMIC Compositor
The compositor for COSMIC desktop environment compiled successfully but would not launch when used with bspwm or i3-wm. I tried launching it in window managers because GNOME does not allow changing compositors.
This is due to the mess of video drivers in a virtual machine using VirtualBox and the fact that the COSMIC compositor is not ready.
But, theres more!
Developer **Eduardo Flores** also tried the new COSMIC Desktop, sharing some screenshots of the app launcher and the dock in his [blog post][12].
![Credits: Eduardo Flores][13]
The application launcher looks similar, but built using GTK. Similarly, you can also expect a similar-looking application library, introduced with [Pop!_OS 21.10][14], and the good-old dock.
![Credits: Eduardo Flores][15]
### Concluding Thoughts
Sure, it is too early to tell where the development is heading.
It should take a while to expect a beta release for a full-fledged Rust-based COSMIC Desktop experience.
But, from what weve seen here, I am excited!
_What do you think? You are welcome to share your thoughts in the comments down below!_
_Originally written by [Pratham Patel][16]._
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/system76-rust-cosmic-desktop/
作者:[Community][a]
选题:[lujun9972][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/team/
[b]: https://github.com/lujun9972
[1]: https://news.itsfoss.com/pop-os-cosmic-rust/
[2]: https://research.mozilla.org/rust/
[3]: https://github.com/pop-os/cosmic
[4]: https://github.com/pop-os/cosmic-settings
[5]: https://github.com/pop-os/cosmic-panel
[6]: https://github.com/pop-os/cosmic-comp
[7]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjU4MyIgd2lkdGg9Ijc4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=
[8]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjM1MSIgd2lkdGg9Ijc4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=
[9]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjQwNCIgd2lkdGg9Ijc4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=
[10]: https://github.com/baskerville/bspwm
[11]: https://github.com/i3/i3
[12]: https://blog.edfloreshz.dev/articles/linux/system76/rust-based-desktop-environment/
[13]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjQzNSIgd2lkdGg9Ijc3MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=
[14]: https://news.itsfoss.com/pop-os-21-10/
[15]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjQ4OSIgd2lkdGg9Ijc4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=
[16]: https://itsfoss.com/author/pratham/

View File

@ -0,0 +1,124 @@
[#]: subject: "I Tried System76s New Rust-based COSMIC Desktop!"
[#]: via: "https://news.itsfoss.com/system76-rust-cosmic-desktop/"
[#]: author: "Community https://news.itsfoss.com/author/team/"
[#]: collector: "lujun9972"
[#]: translator: "wxy"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
提前了解一下 System76 新的基于 Rust 的 COSMIC 桌面
=====
> 提前了解一下 Pop!_OS 即将推出的基于 Rust 的 COSMIC 桌面环境。仅供参考。
![](https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/01/system76-rust-based-distro-ft.png?w=1200&ssl=1)
如果你还不知道System76 的开发者一直在 [致力于开发一个新的桌面环境][1](被称为 COSMIC它是用 [Rust][2] 编写的Rust 是一种内存安全的超快编程语言。
从头开始创建一个桌面环境不是一件小事。这涉及到创建从合成器、面板、窗口管理器到桌面环境的 API 和其他后端任务的一切。
这不是一件容易的事,而维护它又是另一回事。
而且,看起来 System76 已经开始了这方面的工作。
在 GitHub 上,你会发现已经有一个名为 [cosmic][3] 的仓库,但它主要是使用 JavaScript用于创建 GNOME shell 扩展的语言)编写的。这就是 cosmic shell 扩展仓库,也就是 Pop!_OS 现在所搭载的。
在他们的 GitHub 中还有几个较新的仓库,这些恰好是他们即将推出的基于 Rust 的 COSMIC 桌面的元素。
所以,现在是时候构建、测试并提前了解一下了。
> **注:** 澄清一下,目前 Pop!_OS 上基于 GNOME 的桌面环境叫做 COSMIC。而本文讨论的是基于 Rust 的 COSMIC 桌面环境,它是从头开始构建的,旨在取代当前的产品。
### 基于 Rust 的 COSMIC 桌面体验
打算成为 COSMIC 桌面环境整体一部分的三个仓库是:
* [设置应用][4]
* [顶部面板][5](目前用于 X11 系统)
* [合成器][6](似乎支持原生的 wayland、xwayland 和 X11 系统)
#### COSMIC 设置应用
![][7]
> **注意:** 这是一个半生不熟的早期预览,以让你有个大致印象。随着开发的继续,用户界面可能会有根本性的变化。所以,仅用于参考。
这是 Pop!_OS 的新 COSMIC 桌面的设置应用。它目前还在开发当中,没有准备好使用,不过如果你想运行它并试试界面,请随意!
那么,它看起来与目前的 COSMIC 体验有什么不同呢?
![基于 Rust 的 COSMIC 设置与基于 GNOME 的 COSMIC][8]
在写这篇文章时,该用户界面似乎没有与任何后端 API 相连接。启用和禁用 “为工作区启用左上角热角 ”的切换并没有什么变化,其他的切换也是如此,除了设置应用的 “关于” 部分所显示的信息。
仔细看截图,放置的位置很凌乱,但作为早期预览(或原型)来说也是正常的。
看起来他们正在用圆角和更干净的外观来处理一切。
切换动画感觉快速、流畅和迅捷(即使是在虚拟机内,我等不及在裸机上尝试)。但考虑到它甚至还没有功能,谈论性能没什么意义。
![][9]
就个人而言我不喜欢他们所采用的圆角外观。在我看来GNOME 对圆角的实现是完美的。但是,看看它的结果应该是很有趣的。
#### 顶部面板
作为 COSMIC 桌面环境的一部分,顶部面板也正在使用 Rust 语言实现。
至于这个顶部面板的外观,我不太确定如何测试它才不算对它不公平。从 GNOME 中启动它,会在 GNOME 的顶栏后面打开它。所以我想在一个单独的窗口管理器中打开它(到目前为止只用 [bspwm][10] 和 [i3-wm][11] 试过),但这导致了一些古怪的行为,比如面板像普通 GUI 软件一样占据了全部垂直空间。
#### COSMIC 合成器
COSMIC 桌面环境的合成器编译成功了,但在与 bspwm 或 i3-wm 一起使用时却无法启动。我试着在窗口管理器中启动它,因为 GNOME 不允许改变合成器。
这是由于在使用 VirtualBox 的虚拟机中,视频驱动的混乱以及 COSMIC 合成器还没有准备好。
但是,还有更多!
开发者 Eduardo Flores 也尝试了新的 COSMIC 桌面,在他的 [博客文章][12] 中分享了一些应用启动器和坞站的截图。
![来自 Eduardo Flores][13]
应用程序启动器看起来很相似,但是使用 GTK 构建的。同样,你也可以期待 [Pop!_OS 21.10][14] 引入一个类似的应用程序库,以及经典的坞站。
![来自 Eduardo Flores][15]
### 总结
当然,现在说发展的方向还为时过早。
要期待一个成熟的基于 Rust 的 COSMIC 桌面体验的测试版,应该还需要一段时间。
但是,从我们在这里看到的情况来看,我很兴奋。
你怎么看?欢迎你在下面的评论中分享你的想法!
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/system76-rust-cosmic-desktop/
作者:[Pratham Patel][a]
选题:[lujun9972][b]
译者:[wxy](https://github.com/wxy)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/pratham/
[b]: https://github.com/lujun9972
[1]: https://news.itsfoss.com/pop-os-cosmic-rust/
[2]: https://research.mozilla.org/rust/
[3]: https://github.com/pop-os/cosmic
[4]: https://github.com/pop-os/cosmic-settings
[5]: https://github.com/pop-os/cosmic-panel
[6]: https://github.com/pop-os/cosmic-comp
[7]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/01/pop-os-cosmic-settings-early.png?w=963&ssl=1
[8]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/01/pop-os-settings-new-old-early.png?resize=1568%2C705&ssl=1
[9]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/01/pop-os-new-old-cosmic.png?w=1387&ssl=1
[10]: https://github.com/baskerville/bspwm
[11]: https://github.com/i3/i3
[12]: https://blog.edfloreshz.dev/articles/linux/system76/rust-based-desktop-environment/
[13]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/01/new_launcher.png?w=770&ssl=1
[14]: https://news.itsfoss.com/pop-os-21-10/
[15]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/01/new_app_library.png?w=1200&ssl=1