GNOME

在 Linux 与 Unix 上使用最广泛的自由软件桌面环境 GNOME 的历史、结构与最新动态

GNOME

概述

GNOME(韩语:그놈)是作为 GNU 计划的一部分起步的自由软件桌面环境。它原本是“GNU Network Object Model Environment”的缩写,但如今已不再展开缩写,仅作为专有名称使用。它是 Linux 与 Unix 系操作系统上使用最广泛的桌面环境之一,以简洁、可访问性与一致性为最高设计目标。

主要内容

历史

1997 年,米格尔·德·伊卡萨(Miguel de Icaza)与费德里科·梅纳(Federico Mena)发起了该项目。当时 KDE 使用的是非自由许可的 Qt 工具包,因此以打造完全自由的软件桌面为目标而起步,这正是其契机。1999 年 GNOME 1.0 发布,2002 年 GNOME 2.0 完成了配备 GConf、Metacity(메타시티)与 Nautilus 的稳定环境,从而确立了 Linux 桌面的标准地位。

2011 年 GNOME 3.0 引入 GNOME Shell,迎来了重大转折点。它摒弃了传统的任务栏与桌面图标,转而采用顶部面板、活动概览(Activities Overview)与工作区为中心的界面。这引发了相当大的争议,也成为 Linux Mint 派生 MATE 与 Cinnamon 的直接契机。

设计理念

GNOME 强调“简洁与专注”。为降低用户的认知负担,它有意将设置选项最小化,仅在需要时呈现功能。此外,它把可访问性(屏幕阅读器、高对比度主题、放大镜)视为核心需求而非可选功能,并提供 40 多种语言的翻译。

组成部件

  • GNOME Shell:窗口管理器兼外壳。基于 Mutter,同时支持 Wayland 与 X11。
  • Mutter:合成窗口管理器与合成器。
  • Nautilus(Files):默认文件管理器。
  • GNOME Terminal、GNOME Text Editor、GNOME Software 等默认应用程序集合。
  • GTK:由 GNOME 主导的控件工具包,GTK4 与 libadwaita 是最新一代。
  • GLib/GObject:对象系统与实用库。
  • 与 D-Bus、systemd、PipeWire 的紧密集成。

GNOME Shell 与扩展

GNOME 的功能扩展大多通过“扩展(Extension)”实现。它在 extensions.gnome.org 上分发,以 JavaScript 编写。不过,每当 Shell 版本升级,内部 API 就会变动,导致扩展失效的问题反复被指出。

技术栈与发布周期

GNOME 以 6 个月为周期(3 月、9 月)发布新版本。版本号在 40 之后改为简单的整数体系。在转向 GTK4 与 libadwaita 之后,应用程序拥有了更现代、更一致的 UI,Wayland 会话也成为默认值。

与发行版的关系

Fedora、Ubuntu、Debian、openSUSE、RHEL 等主要发行版都将 GNOME 采纳为默认桌面。Ubuntu 曾使用自家的 Unity,2017 年回归 GNOME,此后以打上部分主题与扩展补丁的方式发布。

争议与批评

  • 设置自由度不足:对习惯传统桌面的用户不够友好,这一批评持续存在。
  • 性能:早期 GNOME 3 因基于 JavaScript 的 Shell 而存在延迟问题。
  • 扩展生态的脆弱性与版本兼容性问题。
  • 2023 年前后,GNOME 基金会的财政困难与人力不足问题被公开讨论。

最新动态

  • 2024 年 GNOME 46、47 相继发布,2025 年 GNOME 48 发布,Wayland、高分辨率(HiDPI)与可变刷新率(VRR)支持大幅改善。
  • GNOME 47 强化了默认字体与强调色(Accent Color)功能,GNOME 48 强化了 HDR 支持与渲染性能优化。
  • 随着 libadwaita 的推广,第三方应用的设计一致性有了显著提升。
  • GNOME 基金会推进资金筹措与治理改善,并着手扩大社区捐赠与企业赞助。
  • 系统监视器、文件搜索、通知系统等核心应用的重新编写与性能改进工作正在进行中。
  • 关于引入 AI 桌面功能的讨论已经开始,但出于隐私方面的顾虑,仍在采取审慎推进的方式。
  • 沉浸式桌面以及对平板、触摸环境的支持已成为下一版本的主要课题。

相关主题

  • [[KDE]]
  • [[Linux]]
  • [[GTK]]
  • [[Ubuntu]]
  • [[Wayland]]