Pop!_OS


Pop!_OS是基于Ubuntu的Linux发行,其特色是定制的GNOME桌面,其桌面风格被设计为让用户专注于工作而不至于分心。该发行由Linux计算机零售商System76开发,系自家的首个 GNU/Linux 发行版。在 2021 年 System76 宣布了专为 Pop!_OS 打造的桌面环境 "COSMIC"。

Pop!_OS is an operating system for STEM and creative professionals who use their computer as a tool to discover and create. Unleash your potential on secure, reliable open source software. Based on your exceptional curiosity, we sense you have a lot of it.

2017年10月27日,知名 Linux PC 制造商 System76 正式推出 Linux 发行版 Pop!_OS。其推出自己的发行版与 Ubuntu 当年的一个决定密切相关:在发布 Pop!_OS 之前,System76 生产的所有计算机都预装了 Ubuntu;而在 Ubuntu 决定放弃使用 Unity 默认桌面环境,转而回归 GNOME 后,System76 开始考虑创建自己维护基于 Ubuntu 的发行版。
PC计算机的硬件发行情况请参见《System76所发行的Linux主机记录》。
在深度调研 GNOME 后发现,这个桌面环境使用的技术丰富,且拥有缜密的工作流程,还可以通过扩展框架根据客户的需求来定制桌面。于是 System 76 计划调整 GNOME 桌面环境现有的主题、图标和字体,以适应 System76 的品牌,其他调整还包括发行版设置和默认应用程序 —— 旨在提升生产力和优化开发者体验。基于这些变化,System76 发布的首个 Pop!_OS 其实就是搭载 GNOME 的 Ubuntu 定制版。此后,System76 继续积极为 Pop!_OS 的桌面环境进行优化,还于 2020 年被评为 “基于 Ubuntu 的最佳发行版”。虽然 System76 在 GNOME 上深耕了多年,并基于它进行了极致的优化,但在 2021 年,System76 宣布了专为 Pop!_OS 打造的桌面环境 "COSMIC",并表示会将其预装到 Pop!_OS 21.04 中,以取代此前使用的 GNOME。
其实 COSMIC 并不是从头开始构建的产品,而是基于 GNOME 桌面环境打造,System76 希望以此为基础在 Pop!_OS 中提供完善的、经过精心打磨的桌面用户体验。两者最大的区别 —— 同时也是 COSMIC 最大的亮点就是可定制化。System76 认为这是一个优雅的解决方案,它设想通过定制化的方式让桌面更易于使用,对用户而言,这是一项强大且高效的特性。System76 为 COSMIC 倾注了非常大的信心血,为了提供更高的性能,其开发团队决定放弃 GTK 工具包,而是使用 Iced-Rs 作为替代,后者是原生 Rust 跨平台图形工具包。
总的来说,Pop!_OS 这 5 年主要都是围绕桌面环境进行各种尝试和探索,并且也取得了不错的成绩 —— 至少曾被评价为使用体验最好的 Linux 发行版。
System76 一直在开发其 COSMIC 桌面,作为其在 Ubuntu 基础上构建的 Pop!_OS Linux 发行版的下一个演变。有趣的是,对于这个用 Rust 编写的大型 COSMIC 桌面项目,他们决定不再使用 GTK 工具包,而是使用 Iced-Rs 作为替代,后者是原生 Rust 跨平台图形工具包。

参与 COSMIC 项目的一位 System76 工程师在 Reddit 上评论了 COSMIC 使用 Iced 工具包的情况:
1、过去一年里,UX 团队一直在精心设计小部件和应用程序。我们现在正处于工程团队决定 COSMIC 的 GUI 工具包的关键时刻。经过去年的深思熟虑和实验,工程团队决定使用 Iced 而不是 GTK。
2、Iced 是一个原生的 Rust GUI 工具包,它足够快的进展已经满足 COSMIC 的使用需求。开发团队已经使用 GTK 和 Iced 中编写了各种 COSMIC 小组件以供比较。与 GTK 相比,Iced 的最新开发版本具有非常灵活、富有表现力和直观的 API。它在 Rust 中使用起来十分自然,任何熟悉 Elm 的人都会欣赏它的设计。
这名工程师还表示 GTK 是最低效的 GUI 工具包之一,因为其使用的 GObject、C 及其通用的布局和渲染方法。GTK 的每个方面都被认为是当今软件开发和 GUI 架构的不良实践。其最大的问题之一是数据、逻辑和 UI 深度捆绑。因此除非所有代码都被丢弃,并且以与 Iced 类似的方式在 Rust 中从头开始创建新的工具包,否则无法解决缺点。
工程师还介绍道,在 Iced 中,数据与桌面小部件是分开的。开发者从一个应用程序结构开始作为模型,它存储了您的应用程序在构建其布局时需要的所有状态。每当收到消息并且状态发生更改时,都会调用一个视图方法,并且此视图方法将整个布局描述为一个状态机。然后将之前的布局进行比较和差异化,以便渲染器仅渲染两者之间的差异。此外还有一些巧妙的技术可以在未来用于减少所需的视图更新次数。当然最好的部分之一是,开发者不需要在运行时使用 Iced 加载数十个巨大的库 —— 因为它有一个完全静态的二进制文件的选项。
Iced 是一个为 Rust 编程语言编写的跨平台 GUI 库,“专注于简单性和类型安全”,其设计思路受到了 Elm 语言的启发。Iced 工具包不仅适用于 Linux、macOS 和 Windows,还适用于 Web 应用程序。
COSMIC 并不是从头开始构建的产品,而是基于 GNOME 桌面环境打造,System76 希望以此为基础在 Pop!_OS 中提供完善的、经过精心打磨的桌面用户体验。两者最大的区别 —— 同时也是 COSMIC 最大的亮点就是可定制化。System76 认为这是一个优雅的解决方案,它设想通过定制化的方式让桌面更易于使用,对用户而言,这是一项强大且高效的特性。下面简单介绍 COSMIC 的部分亮点。
工作空间和应用(Workspaces and Applications)
在 COSMIC 中,GNOME 原来的 Activities Overview 被划分为两个不同的视图,分别是工作空间和应用 (Workspaces and Applications);工作空间视图用于查看打开的窗口和工作空间,应用视图则会打开应用程序选择器。
Dock

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

在 COSMIC 中,Super Key 默认情况下会激活启动器。用户可通过启动器启动或切换应用程序、执行命令并计算方程式。System76 解释称,此改变基于他们在 GNOME 中观察到的常见行为。在 GNOME 中,用户会按 Super Key 并输入应用程序的名称来启动它。到了 COSMIC 中,用户也可以将 Super Key 设置为打开工作空间或应用程序视图,而不是启动器。
两种工作流模式:鼠标驱动和键盘驱动
COSMIC 通过添加其他的自定义功能,使用户可以更好地控制自己的桌面,以迎合两个主要工作流程:鼠标驱动和键盘驱动。对于习惯使用鼠标的用户,COSMIC 会让他们保持现有习惯的同时无缝过渡到新版本桌面环境。而对于键盘驱动的用户,由于他们喜欢更高效、无干扰的体验,因此在 COSMIC 中,极简主义者可以不使用 Dock 底栏,从而为应用程序窗口提供额外的空间。Auto-tiling 将为键盘驱动的工作流程奠定基础,它主要依靠快捷键和启动器来尽可能快速地浏览桌面。
System76在2023年5月中旬介绍了 COSMIC 最新的开发进展,主要是 “面板” (COSMIC Panels) 功能,类似于 Pop!_OS 中的顶部栏和停靠栏,但功能更丰富,位置调整也更灵活。它包含许多 “小组件”(applets),开发团队称用户可将其视作定制体验的 GNOME 扩展。COSMIC 目前提供了通知、工作区、应用程序、电池、wifi、蓝牙和媒体控制等基本默认小组件。

正在进行的其他工作包括支持 10 位色彩、支持 HDR(包括 Linux 桌面空间的其余部分),以及为新的 COSMIC 设置应用程序提供额外的面板。
COSMIC 桌面完成 App Store 上架工作
System76 的开发人员正在开发由 Rust 编写的 COSMIC 桌面环境,以满足其内部、Ubuntu 衍生的 Pop!_OS Linux 发行版的需要,并提供了该桌面工作的最新每月状态更新。2024年5月的COSMIC桌面一些改进包括:
Display mirroring 支持已接近完成。
Pop!_OS 24.40 软件包现在正在针对 ARM64 构建。
“ultra fast” COSMIC App Store 已接近完成。正在不断完善以解决用户体验问题:

Files 文件管理器新增了 GNOME 虚拟文件系统(GVFS)集成,用于处理外部存储和网络共享。
Greeter 与 logind 的集成。
Edit 现在支持 Windows 上常用的 CRLF 编码文件。
为 COSMIC Files、segmented buttons 和 libcosmic 导航菜单添加了拖放文本和图像的功能。一些与拖放相关的 compositor bugs 也得到了修复。
为 Launcher 和 App Library 添加了剪贴板支持。
为 Libcosmic 添加了通用上下文菜单小部件。
以及添加了许多修复和其他改进。更多详情可查看官方博客。
最新版本:22.04
项目主页:https://system76.com/pop

Pop!_OS is an operating system for STEM and creative professionals who use their computer as a tool to discover and create. Unleash your potential on secure, reliable open source software. Based on your exceptional curiosity, we sense you have a lot of it.

2017年10月27日,知名 Linux PC 制造商 System76 正式推出 Linux 发行版 Pop!_OS。其推出自己的发行版与 Ubuntu 当年的一个决定密切相关:在发布 Pop!_OS 之前,System76 生产的所有计算机都预装了 Ubuntu;而在 Ubuntu 决定放弃使用 Unity 默认桌面环境,转而回归 GNOME 后,System76 开始考虑创建自己维护基于 Ubuntu 的发行版。
PC计算机的硬件发行情况请参见《System76所发行的Linux主机记录》。
在深度调研 GNOME 后发现,这个桌面环境使用的技术丰富,且拥有缜密的工作流程,还可以通过扩展框架根据客户的需求来定制桌面。于是 System 76 计划调整 GNOME 桌面环境现有的主题、图标和字体,以适应 System76 的品牌,其他调整还包括发行版设置和默认应用程序 —— 旨在提升生产力和优化开发者体验。基于这些变化,System76 发布的首个 Pop!_OS 其实就是搭载 GNOME 的 Ubuntu 定制版。此后,System76 继续积极为 Pop!_OS 的桌面环境进行优化,还于 2020 年被评为 “基于 Ubuntu 的最佳发行版”。虽然 System76 在 GNOME 上深耕了多年,并基于它进行了极致的优化,但在 2021 年,System76 宣布了专为 Pop!_OS 打造的桌面环境 "COSMIC",并表示会将其预装到 Pop!_OS 21.04 中,以取代此前使用的 GNOME。
其实 COSMIC 并不是从头开始构建的产品,而是基于 GNOME 桌面环境打造,System76 希望以此为基础在 Pop!_OS 中提供完善的、经过精心打磨的桌面用户体验。两者最大的区别 —— 同时也是 COSMIC 最大的亮点就是可定制化。System76 认为这是一个优雅的解决方案,它设想通过定制化的方式让桌面更易于使用,对用户而言,这是一项强大且高效的特性。System76 为 COSMIC 倾注了非常大的信心血,为了提供更高的性能,其开发团队决定放弃 GTK 工具包,而是使用 Iced-Rs 作为替代,后者是原生 Rust 跨平台图形工具包。
总的来说,Pop!_OS 这 5 年主要都是围绕桌面环境进行各种尝试和探索,并且也取得了不错的成绩 —— 至少曾被评价为使用体验最好的 Linux 发行版。
System76 一直在开发其 COSMIC 桌面,作为其在 Ubuntu 基础上构建的 Pop!_OS Linux 发行版的下一个演变。有趣的是,对于这个用 Rust 编写的大型 COSMIC 桌面项目,他们决定不再使用 GTK 工具包,而是使用 Iced-Rs 作为替代,后者是原生 Rust 跨平台图形工具包。

参与 COSMIC 项目的一位 System76 工程师在 Reddit 上评论了 COSMIC 使用 Iced 工具包的情况:
1、过去一年里,UX 团队一直在精心设计小部件和应用程序。我们现在正处于工程团队决定 COSMIC 的 GUI 工具包的关键时刻。经过去年的深思熟虑和实验,工程团队决定使用 Iced 而不是 GTK。
2、Iced 是一个原生的 Rust GUI 工具包,它足够快的进展已经满足 COSMIC 的使用需求。开发团队已经使用 GTK 和 Iced 中编写了各种 COSMIC 小组件以供比较。与 GTK 相比,Iced 的最新开发版本具有非常灵活、富有表现力和直观的 API。它在 Rust 中使用起来十分自然,任何熟悉 Elm 的人都会欣赏它的设计。
这名工程师还表示 GTK 是最低效的 GUI 工具包之一,因为其使用的 GObject、C 及其通用的布局和渲染方法。GTK 的每个方面都被认为是当今软件开发和 GUI 架构的不良实践。其最大的问题之一是数据、逻辑和 UI 深度捆绑。因此除非所有代码都被丢弃,并且以与 Iced 类似的方式在 Rust 中从头开始创建新的工具包,否则无法解决缺点。
工程师还介绍道,在 Iced 中,数据与桌面小部件是分开的。开发者从一个应用程序结构开始作为模型,它存储了您的应用程序在构建其布局时需要的所有状态。每当收到消息并且状态发生更改时,都会调用一个视图方法,并且此视图方法将整个布局描述为一个状态机。然后将之前的布局进行比较和差异化,以便渲染器仅渲染两者之间的差异。此外还有一些巧妙的技术可以在未来用于减少所需的视图更新次数。当然最好的部分之一是,开发者不需要在运行时使用 Iced 加载数十个巨大的库 —— 因为它有一个完全静态的二进制文件的选项。
Iced 是一个为 Rust 编程语言编写的跨平台 GUI 库,“专注于简单性和类型安全”,其设计思路受到了 Elm 语言的启发。Iced 工具包不仅适用于 Linux、macOS 和 Windows,还适用于 Web 应用程序。
COSMIC 并不是从头开始构建的产品,而是基于 GNOME 桌面环境打造,System76 希望以此为基础在 Pop!_OS 中提供完善的、经过精心打磨的桌面用户体验。两者最大的区别 —— 同时也是 COSMIC 最大的亮点就是可定制化。System76 认为这是一个优雅的解决方案,它设想通过定制化的方式让桌面更易于使用,对用户而言,这是一项强大且高效的特性。下面简单介绍 COSMIC 的部分亮点。
工作空间和应用(Workspaces and Applications)
在 COSMIC 中,GNOME 原来的 Activities Overview 被划分为两个不同的视图,分别是工作空间和应用 (Workspaces and Applications);工作空间视图用于查看打开的窗口和工作空间,应用视图则会打开应用程序选择器。
Dock

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

在 COSMIC 中,Super Key 默认情况下会激活启动器。用户可通过启动器启动或切换应用程序、执行命令并计算方程式。System76 解释称,此改变基于他们在 GNOME 中观察到的常见行为。在 GNOME 中,用户会按 Super Key 并输入应用程序的名称来启动它。到了 COSMIC 中,用户也可以将 Super Key 设置为打开工作空间或应用程序视图,而不是启动器。
两种工作流模式:鼠标驱动和键盘驱动
COSMIC 通过添加其他的自定义功能,使用户可以更好地控制自己的桌面,以迎合两个主要工作流程:鼠标驱动和键盘驱动。对于习惯使用鼠标的用户,COSMIC 会让他们保持现有习惯的同时无缝过渡到新版本桌面环境。而对于键盘驱动的用户,由于他们喜欢更高效、无干扰的体验,因此在 COSMIC 中,极简主义者可以不使用 Dock 底栏,从而为应用程序窗口提供额外的空间。Auto-tiling 将为键盘驱动的工作流程奠定基础,它主要依靠快捷键和启动器来尽可能快速地浏览桌面。
System76在2023年5月中旬介绍了 COSMIC 最新的开发进展,主要是 “面板” (COSMIC Panels) 功能,类似于 Pop!_OS 中的顶部栏和停靠栏,但功能更丰富,位置调整也更灵活。它包含许多 “小组件”(applets),开发团队称用户可将其视作定制体验的 GNOME 扩展。COSMIC 目前提供了通知、工作区、应用程序、电池、wifi、蓝牙和媒体控制等基本默认小组件。

正在进行的其他工作包括支持 10 位色彩、支持 HDR(包括 Linux 桌面空间的其余部分),以及为新的 COSMIC 设置应用程序提供额外的面板。
COSMIC 桌面完成 App Store 上架工作
System76 的开发人员正在开发由 Rust 编写的 COSMIC 桌面环境,以满足其内部、Ubuntu 衍生的 Pop!_OS Linux 发行版的需要,并提供了该桌面工作的最新每月状态更新。2024年5月的COSMIC桌面一些改进包括:
Display mirroring 支持已接近完成。
Pop!_OS 24.40 软件包现在正在针对 ARM64 构建。
“ultra fast” COSMIC App Store 已接近完成。正在不断完善以解决用户体验问题:

Files 文件管理器新增了 GNOME 虚拟文件系统(GVFS)集成,用于处理外部存储和网络共享。
Greeter 与 logind 的集成。
Edit 现在支持 Windows 上常用的 CRLF 编码文件。
为 COSMIC Files、segmented buttons 和 libcosmic 导航菜单添加了拖放文本和图像的功能。一些与拖放相关的 compositor bugs 也得到了修复。
为 Launcher 和 App Library 添加了剪贴板支持。
为 Libcosmic 添加了通用上下文菜单小部件。
以及添加了许多修复和其他改进。更多详情可查看官方博客。
最新版本:22.04
项目主页:https://system76.com/pop