GMTC深圳站本周日开幕,14大专题全部上线,完整日程>> 了解详情
写点什么

不再基于 GNOME,System76 使用 Rust 开发全新桌面

  • 2021 年 11 月 10 日
  • 本文字数:2195 字

    阅读完需:约 7 分钟

不再基于 GNOME,System76 使用 Rust 开发全新桌面

近日,老牌 Linux PC 厂商 System76 在 reddit 上称,其正在开发属于自己的、 Rust 编写的桌面,该桌面不再基于 GNOME 或任何现有的桌面环境。

 

事情源于 System76 工程师在 reddit 上提出了关于 Pop!_OS KDE 风格的讨论。System76 的 Pop!_OS Linux 发行版之前已经拥有基于 GNOME 的“COSMIC”桌面,但 Pop!_OS 和 GNOME 的开发人员似乎在主题化和自定义方法上的沟通存在一些摩擦,这让 System76 产生了自己写一个桌面的想法。

 

新桌面将支持 X11 和 Wayland

 

System76 工程师和 Pop!_OS 维护者 Michael Murphy 称:“我们正在编写自己的桌面操作系统。” 而在网友进一步询问新的桌面是否是来自 GNOME 的分支时,Michael Murphy 回复道:“不,这是用 Rust 编写的属于我们自己的桌面“。


根据 Michael Murphy 的说法,新桌面还将如预期的一样持 X11 和 Wayland,因为 X11 是 Nvidia 驱动程序的硬性要求。

 

除了利用 Rust 编程语言之外,用户对于新桌面的其他新特性也非常感兴趣。不过,System76 具体什么时候从 GNOME 基础转移到自己的 Linux 桌面,以及他们是否会使用任何 GNOME 组件作为他们新桌面工作的一部分,都还并未确定。“它仅处于试验的早期阶段,目前还没有在 Pop!_OS 21.10 发布期间积极开展工作,”Michael Murphy 表示

 

基于 GNOME 的桌面环境 “COSMIC”

 

今年上半年,System76 宣布它开发的 Linux 发行版 Pop!_OS 将使用一个新的桌面环境 COSMIC,COSMIC 并不是从头开始构建的产品,而是基于 GNOME 桌面环境打造,其中 COSMIC 最大的亮点就是可定制化。相比 GNOME ,它的变化有: Activities Overview 分成两个不同视图 Workspaces 和 Applications,Super key 默认激活启动器等等。



下面简单介绍 COSMIC 的部分变化:

 

Workspaces and Applications

 

在 COSMIC 中,GNOME 原来的 Activities Overview 被划分为两个不同的视图,分别是工作空间和应用 (Workspaces and Applications)。工作空间视图用于查看打开的窗口和工作空间,应用视图则会打开应用程序选择器。

 

Super Key 默认激活启动器

 

在 COSMIC 中,Super Key 默认情况下会激活启动器。用户可通过启动器启动或切换应用程序、执行命令并计算方程式。System76 解释称,此改变基于他们在 GNOME 中观察到的常见行为。在 GNOME 中,用户会按 Super Key 并输入应用程序的名称来启动它。到了 COSMIC 中,用户也可以将 Super Key 设置为打开工作空间或应用程序视图,而不是启动器。

 

Dock

 

COSMIC 中的 Dock 底栏支持配置在屏幕的右侧,左侧或底部,以及支持自动隐藏,还可以设置将 Dock 底栏的长度扩展到屏幕边缘。

 

两种工作流模式:鼠标驱动和键盘驱动

 

COSMIC 通过添加其他的自定义功能,使用户可以更好地控制自己的桌面,以迎合两个主要工作流程:鼠标驱动和键盘驱动。

 

对于习惯使用鼠标的用户,COSMIC 会让他们保持现有习惯的同时无缝过渡到新版本桌面环境。而对于键盘驱动的用户,由于他们喜欢更高效、无干扰的体验,因此在 COSMIC 中,极简主义者可以不使用 Dock 底栏,从而为应用程序窗口提供额外的空间。Auto-tiling 将为键盘驱动的工作流程奠定基础,它主要依靠快捷键和启动器来尽可能快速地浏览桌面。

 

Pop!_OS VS Ubuntu

 

首先需要清楚 System76 并不是从零开始构建自己的操作系统,Pop!_OS 就是我们一般所说的 Linux 发行版,其基于最流行的桌面 Linux 版本 Ubuntu ,因此,从技术上来说,它们的核心是一样的。它们都默认带有 GNOME 桌面环境,因此它们具有相似的 UI。

 

下面介绍一下 Pop!_OS 和 Ubuntu 的差异:

 

用户体验及主题

 

Pop!_OS 和 Ubuntu 都可以在 GNOME 桌面环境中运行,但是,Pop!_OS 感觉更加优美。

 

除外观之外,Ubuntu 通过添加了一个 Dock 和更多技巧来自定义 GNOME 体验,所以对于喜欢定制 GNOME 体验的开发者来说会觉得很好。

 

但是,如果开发者更喜欢纯粹的 GNOME 体验,Pop!_OS 会更适合,并且 Pop!_OS 的总体配色方案、图标和主题更显高级。

 

易于安装第三方应用

 

Pop!_OS 具有其自己的官方 PPA,并已默认启用,开发者可以在此处找到一些有用的应用程序,例如 Android Studio、TensorFlow。这意味着无需下载 Android Studio 的 1GB 大的 Snap 程序包,直接使用 apt-get install 获取就可以

 

预装应用


与 Ubuntu 相比,Pop!_OS 捆绑了更少的默认应用程序。

 

snap 软件包支持

 

对于熟悉 snap 包的开发者来说,Ubuntu 的软件中心体验感会更好,因为开发者可以在软件中心中列出 snap 包。虽然 Pop!_OS 同样支持 snap 包,但是,开发者并不能在 Pop!_OS 商店中找到它们,这是唯一区别所在。

 

单独的 NVIDIA/AMD ISO 文件


Pop!_OS 提供了单独的 ISO,一个用于带 NVIDIA 显卡的系统,另一个用于带/不带 AMD 显卡的系统。而使用 Ubuntu 19.10,开发者可以在 Ubuntu ISO 上获得 NVIDIA 驱动程序,但 AMD 显卡上没有这种功能。

 

可靠性问题

 

这两个发行版都对初学者友好且相当可靠,当出现新版本的 Ubuntu 时,Pop!_OS 可以在其上运行,并有可能解决用户在 Ubuntu 原始发行版上遇到的问题,然后再进行新的升级。

 

性能

 

性能主要取决于用户所安装的内容以及所安装的硬件配置,但是,如果用户使用 System76 笔记本电脑,Pop!_OS 会更加适合,因为与 Ubuntu 不同,Pop!_OS 已针对 System76 的硬件进行了量身定制。

 

总结

 

Ubuntu 是一个不以硬件为中心的“长青”发行版,而 Pop!_OS 是为 System76 硬件量身定制的发行版。

 

2021 年 11 月 10 日 17:102405

评论

发布
暂无评论
发现更多内容

【Flutter 专题】70 图解自定义 ACEStepper 步进器

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 8月日更

从0开始的TypeScriptの五:webpack打包typescript

空城机

JavaScript typescript 前端 8月日更

在线年龄计算器

入门小站

工具

失败的小项目-外卖cps

箭上有毒

8月日更

Rust从0到1-模式-相关语法

rust 语法 模式 Patterns Syntax

LeetCode题解:781. 森林中的兔子,贪心,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

Go语言那些事儿之管道的关闭

Regan Yue

Go 语言 8月日更 管道

Vue进阶(二十七):Vuex 之 getters, mapGetters, ...mapGetters详解

No Silver Bullet

Vue vuex 8月日更

Web 框架 Gin | Gin 介绍

xcbeyond

Go 语言 gin 8月日更

Android开发:获取安卓App版本号的方法步骤

三掌柜

8月日更

【LeetCode】从上到下打印二叉树Java题解

HQ数字卡

算法 LeetCode 8月日更

在openEuler上做开发?这个大赛拿出30万寻找开源的yyds

华为云开发者社区

开源 操作系统 服务器 openEuler 鲲鹏

small-spring 代码贡献者3个月,敢说精通Spring了,分享我的总结!

小傅哥

spring 小傅哥 cglib aware BeanPost

七夕赶上服务器架构升级,女朋友的约会怎么办

华为云开发者社区

华为云 FunctionGraph DevStar Serverless架构 服务器架构

Mybatis自定义拦截器与插件开发

码农参上

8月日更

如果面试官问你 JVM,额外回答逃逸分析技术会让你加分!

陈皮的JavaLib

Java 面试 JVM 逃逸分析 8月日更

oeasy教您玩转vim - 14 - # 行头行尾

o

手撸二叉树之将有序数组转换为二叉搜索树

HelloWorld杰少

数据结构与算法 8月日更

JavaScript Array 方法详解

程序员海军

JavaScript 方法 前端 array 引航计划

全球增长最快的对象存储开源系统MinIO

liuzhen007

8月日更

Linux之netstat命令

入门小站

Linux

Django 做个小后台,细节在完善一点点,滚雪球学 Python 第三阶段

梦想橡皮擦

8月日更

netty系列之:自动重连

程序那些事

Java Netty 程序那些事 响应式系统

Android开发:引入重复包报错Error:Execution failed for task ‘:app:transform...’解决方法

三掌柜

8月日更 8月

命令行操作Java程序的那些事~

Bob

Java 命令行 8月日更

一文带你了解 TreeMap ,LinkedHashMap 的主要特点

4ye

Java 后端 hashmap LinkedHashMap 8月日更

Prometheus监控的4个黄金指标

Rubble

Prometheus 8月日更

这几个棘手的面试常见问题,如何高情商的回答?

架构精进之路

情商 8月日更

【设计模式】代理模式

Andy阿辉

C# 后端 设计模式 8月日更

Hive企业级性能优化

五分钟学大数据

hive hive性能优化

金融级IT架构:网商银行是如何进行数字化落地的

博文视点Broadview

数据cool谈(第2期)寻找下一代企业级数据库

数据cool谈(第2期)寻找下一代企业级数据库

不再基于 GNOME,System76 使用 Rust 开发全新桌面-InfoQ