GNOME

GNOME/ɡˈnm/[6]/ˈnm/[7])是一个完全由自由软件组成的桌面环境。它的目标操作系统Linux,但是大部分的BSD系统亦支持GNOME。

GNOME
Web、Weather和GNOME Files在GNOME 42上运行
Web、Weather和GNOME Files在GNOME 42上运行
原作者GNOME基金会
开发者GNOME基金会(主要由Red Hat
首次发布1999年3月3日1999-03-03[1]
当前版本
  • 46.0 (2024年3月20日;稳定版本)[2][3]
源代码库
编程语言C语言C++ValaPythonJavaScript[4]
操作系统类Unix系统(使用WaylandX11
语言38种语言[5]
类型桌面环境
许可协议
网站www.gnome.org/ 编辑维基数据

GNOME是由志愿贡献者和受雇贡献者组成的GNOME计划开发,其最大的公司贡献者为红帽公司[8][9]。它是一个为开发软件框架、基于这些框架来开发用户端软件及协调软件翻译和开发无障碍软件的项目。

GNOME最初是GNU网络对象模型环境()的缩写,但是已经被废弃了。[10]

GNOME以前曾是GNU计划的一部分。但在2021年时,GNOME基金会的运行董事Neil McGovern在他的推特发文,表示已多次要求GNU将GNOME从GNU计划页面中移除[11],而GNOME基金会也在他们的官方推特中发布贴文,澄清GNOME不是GNU计划的一部份。[12]

历史

GNOME 1

GNOME 1,1999年

1996年KDE Plasma发布,但KDE所依赖的Qt当时并未使用GPL授权。出于这种考虑,两个项目在1997年8月发起:一个是作为Qt库替代品的「Harmony」,另外一个就是创建一个基于非Qt库的桌面系统,即GNOME项目。GNOME的发起者为米格尔·德伊卡萨费德里科·梅纳[13]

GIMP Toolkit(GTK+)被选中做为Qt toolkit的替代,担当GNOME桌面的基础。GTK+使用LGPL,允许链接到此库的软件(例如GNOME的应用进程)使用任意的许可协议。GNOME计划的应用进程通常使用GPL许可证[14]

在GNOME变得普及后,1999年Qt加入GPL授权[15][16]。Troll Tech在GNU GPLQPL双重许可证下发布了Unix版的Qt库。Qt加入GPL授权后,在2000年年底Harmony项目停止了开发,而KDE不再依赖非GPL的软件。2009年3月,Qt 4.5发布,加入了LGPL授权作为第三选择。

「GNOME」这个名称最初是「」的缩写,以反映最初为了开发类似微软对象链接与嵌入的框架[17]。但这个缩写最后被放弃,因为它不再反映GNOME项目的远景[18]

加州初创企业Eazel公司于1999至2001年开发Nautilus文件浏览器米格尔·德伊卡萨纳特·弗里德曼于1999年创立后来成为Ximian的Helix Code公司。该公司开发了GNOME的基础设施和软件,2003年被Novell收购。

GNOME 2

GNOME 2.32 (2010年9月),最后一版的GNOME 2,运行于Ubuntu 10.10

GNOME 2与传统桌面界面十分相似,拥有一个用户可以与不同例如窗口、图标、文件等虚拟对象交互的桌面环境。GNOME 2使用Metacity为它的缺省窗口管理器。GNOME 2的窗口、程序和文件管理和一般的桌面操作系统十分相似。在缺省的设置中,桌面有一个启动菜单,可以用以开启已安装的程序及文件;己存在的窗口在下方的任务栏列出;而在右上角则有一个通知区以显示在背景运行的程序。不过,这些功能可以随用户喜好而更改位置、取代或甚至移除。

GNOME 3

GNOME 3使用现代方法来设计用户界面和命名应用程序。此为在 3.14 版的GNOME Shell中运行GNOME Weather的屏幕截屏(2014年9月)

在GNOME 3之前,GNOME是根据传统的桌面比拟而设计,但在GNOME 3便被GNOME Shell所取代,所有转换窗口及虚拟桌面都在「活动」画面中进行。此外,因为Mutter取代了Metacity成为缺省的窗口管理器,最小化及放大按钮不再缺省在名称列中。Adwaita取代了Clearlooks成为缺省主题。很多GNOME内核程序都重新设计以提供更连贯的用户体验。

这些重大的改变最初引来了广泛的批评。MATE桌面环境项目由GNOME 2的源始码衍生,目标为保留GNOME 2的传统界面,同时支持最新的Linux技术,例如GTK+ 3。Linux Mint团队则以开发「Mint GNOME Shell Extensions」一系列于GNOME 3上运行之插件程序解决此问题,这些插件程序使GNOME 3的界面变回传统比拟界面。最后,Linux Mint决定从GNOME 3的源代码衍生另外一个桌面环境「Cinnamon」。

截至2015年 (2015-Missing required parameter 1=month!),对GNOME 3的整体评价已大致转为正面[19]。Linux发行版Debian于GNOME 3发布时把XFCE改成缺省的桌面环境,但在Debian 8己改回缺省使用GNOME 3[20][19]。Linux创始者林纳斯·托瓦兹于2013年已改回使用GNOME 3[19]

GNOME 40

GNOME 40 与GTK 4.0 于2021年3月同时发布。用户概览界面改为水平界面,与以往Gnome 3.X 的垂直界面不同。Dash 方向亦由垂直改为水平。并且新发布版本亦引进新的触摸板手势。

GNOME 40 界面

版本

组成 GNOME 计划的每一部分都有自己的版本号和发布规划,通过各模块的维护者之间的定期协调(六个月),创建一个完整的 GNOME 发布版本。下边的发布版本列表分类属于稳定版。提供给测试和开发者的不稳定版本并未列入。

Gnome 3.38 之后采用新编号方式,推出Gnome 40,下个版本将是Gnome 41,Gnome 40 稳定板发行后以40.1、40.2、40.3……等来发布更新。

设计

GNOME的目标是要简单易用[42]

GNOME Shell

1
2
3
4
5
6
7
GNOME Shell的「活动」界面
1
「活动」按钮
2
Dash面版
3
搜索框
4
通知区
5
状态栏
6
桌面列表
7
小工具列

GNOME Shell是GNOME桌面环境的缺省用户接口。它的上方有一条面版,里面有(由左至右)「活动」按钮、正使用程序的菜单、时钟及一个系统菜单[43][44]。程序菜单显示当前使用程序的名称及提供例如程序设置、关闭程序等的选项。状态栏有代表电脑不同状态的图标、往系统设置的捷径以及注销、转换用户、以及关机的选项。

按下「活动」按钮、把鼠标移动至左上角或按下超级键会进入「活动」画面[45]。「活动」画面让用户纵览现时在运行的程序,以及让用户转换窗口、桌面,和运行程序。左边的Dash面版里面有最爱程序的捷径、所有正在运行程序的图标及往所有已安装程序列表的按钮[43]。在上方出现一个搜索框及右边有一个列出所有桌面的桌面列。通知在按下上方中央的时钟后的列表内[46]

GNOME Classic

GNOME 3经典模式

从GNOME 3.8起,GNOME提供一个经典模式,提供一个较传统的接口(类似GNOME 2)[47]

兼容性

GNOME运行在X11之上,在GNOME 3.10后亦可在Wayland下运行[44]。在大部分Linux发行版上的GNOME都是缺省桌面环境或可安装的,而在大部分BSD系统上为Ports

2011年5月伦内德·柏特菱建议把systemd列为GNOME运行需要的软件[48]。因为systemd是Linux独有,这个提议亦引起了未来停止支持其他平台的讨论。由GNOME 3.2起,多席位配置只支持使用systemd的系统[49]。2012年11月GNOME发布小组结论,指非基本的功能可以依赖systemd[50]

Freedesktop.org与GNOME

Freedesktop.org是一项帮助在不同的X Window桌面——例如GNOME,KDE或者XFCE——之间实现互操作和共享技术的计划。尽管并非正式标准化组织,Freedesktop.org定义了X桌面的基本特征,包括进程之间的拖放、窗口管理器规范、菜单布局、最近文档列表、进程之间复制粘贴和共享的MIME类型数据库等等。遵从Freedesktop.org规范使得GNOME应用进程能够集成到其他桌面(反之亦然),并起到鼓励桌面环境之间的竞争和合作的作用。

人机界面指南

自GNOME 2以起,可用性是GNOME的主要焦点。所以,GNOME人机界面指南便开始发展。所有GNOME程序都有连贯的图形用户接口,但是不止于使用同一套控制项英语:)。因为GNOME接口的设计是由在指南中的概念所引导,而指南自身则发展自认知工效学[51]。跟从人机界面指南,开发者可以创造优质、连贯和可用性高的接口程序,因为指南里由接口设计至接口布局亦有规定。

在GNOME 2的重新编程中,很多对大部分用户而言用途不大的选项都被移除。夏霍·边灵顿在他于2002年发布的文章「自由软件的用户界面」(英语:)中总结了关于GNOME可用性的工作,强调所有偏好设置都有它的代价。使软件功能在缺省时操作畅顺,比在设置中加入选项才令软件操作和预期一样更好:

一个传统的自由软件是可配置的,使它集合所有在新旧所有同类软件所见的功能,或甚至可配置得拥有任何新旧软件的所有功能(Emacs*咳*)。
这会造成问题吗?它会造成问题。原来选项有它们的代价。当然,某些选项亦有重要的价值-亦可成为关键的界面功能。但是每一个都有它们的代价,要小心地衡量它们的价值。很多用户和开发者都不明白此代价,令他们的选项有很大的代价但只有微小的价值。

——夏霍·边灵顿[52]

无障碍

GNOME旨在使桌面环境对身心障碍者物理上认知上都符合人体工学。GNOME的人机界面指南尝试把此因素包个在内,但是某些个别问题使由须由特别的软件解决。

GNOME通过无障碍套件()应用程序接口以解决计算机辅助功能上的问题,它容许特别的输入法语音合成语音识别以改善用户体验。某些工具在ATK内通过辅助技术服务供应接口()注册,以在整个桌面环境中都可以使用。几个辅助技术软件,例如Orca屏幕阅读器Dasher输入法是针对在GNOME上使用而开发的。

软件

内核程序

使用GTK+编写或基于Clutter编写的程序多不胜数,由不同开发者开发[53]。自GNOME 3以来,GNOME计划开发了一系列的程序,为GNOME内核程序。所有GNOME内核程序都是根据人机界面指南而设计的[51]

游戏

GNOME游戏有与GNOME内核程序外观,以及与GNOME软件版本周期同时发布。它们全部都已根据人机界面指南重写。

开发工具

Anjuta集成开发环境Glade用户接口设计工具及Devhelp应用程序接口阅览器是为了促进开发与GNOME连贯的软件而开发的。Accerciser计算机辅助阅览器以及其他调试工具,包括NemiverGtkInspector和Alleyoop亦是为了促进开发GNOME软件而开发[54][55]

与第三方软件集成,例如与NoFlo集成亦有提供[56]

组织

和大多数自由软件类似,GNOME组织也很松散,其关于开发的讨论散布于众多向任何人开放的邮件列表。为了处理管理工作、施加影响以及与同对开发GNOME软件有兴趣的公司联系,2000年8月成立了GNOME基金会。基金会并不直接参与技术决策,而是协调发布和决定哪些对象应该成为GNOME的组成部分。基金会网站将其成员资格定义为:

“按照GNOME基金会章程,任何对GNOME有贡献者都可能是合格的成员。尽管很难精确定义,贡献者一般必须对GNOME计划有不小帮助。其贡献形式包括代码、文档、翻译、计划范围的资源维护或者其它对GNOME计划有意义的重要活动 。”

基金会成员每年11月选举董事会,其候选人必须也是贡献者。

参见

参考文献

  1. . March 3, 1999. (原始内容存档于2016-04-19).
  2. . 2024年3月20日 [2024年3月20日] (英语).
  3. . 2024年3月20日 [2024年3月21日] (英语).
  4. . Ohloh. Black Duck Software. [May 22, 2014]. (原始内容存档于2014-05-22).
  5. Day, Allan. . The GNOME Project. [May 22, 2014]. (原始内容存档于2018-05-05).
  6. . You Tube (video). Google. 2014-03-26 [2014-07-02]. (原始内容存档于2014-05-23).
  7. Clinton, Jason D. . The GNOME Project (video). YouTube. 2011-04-02 [2011-04-07]. (原始内容存档于2011-04-09).
  8. (PDF), Neary, [2015-07-20], (原始内容 (PDF)存档于2012-01-20).
  9. . Gnome. 2012-07-27 [2014-03-15]. (原始内容存档于2014-06-29).
  10. Klapper, Andre. . GNOME marketing list (邮件列表). 6 April 2010 [26 March 2017]. (原始内容存档于2014-12-28).
  11. Neil McGovern. . 2021-04-14 [2024-01-02] Twitter.
  12. GNOME. . 2021-04-14 [2024-01-02] Twitter.
  13. . [2013-03-10]. (原始内容存档于2011-12-16).
  14. The GNOME Project: "GNOME Foundation Guidelines on Copyright Assignment 页面存档备份,存于". Accessed March 26, 2013.
  15. , 1999-06-25 [2014-04-16], (原始内容存档于1999-10-07)
  16. Stallman, Richard Stallman. . 2000-09-05 [2005-09-09]. (原始内容存档于2012-04-19).
  17. Pennington, Havoc. . 1999 [2015-07-24]. (原始内容存档于2010-07-11). |chapter=被忽略 (帮助)
  18. . [2011-12-10]. (原始内容存档于2012-04-06).
  19. Hoffman, Chris. . PC World. IDG TechNetwork. [2015-04-05]. (原始内容存档于2015-03-29).
  20. Tozzi, Christopher. . The VAR Guy. Penton. [2015-04-05]. (原始内容存档于2015-03-30).
  21. Michael Larabel. . phoronix. 2008-01-29 [2008-01-30]. (原始内容存档于2008-01-30).
  22. . [2008-06-02]. (原始内容存档于2008-05-27).
  23. . [2008-06-02]. (原始内容存档于2008-06-01).
  24. Untz, Vincent. . gnome-announce-list (邮件列表). 2009-03-18 [2009-03-18]. (原始内容存档于2019-04-28).
  25. http://library.gnome.org/misc/release-notes/2.28/index.html.zh_CN页面存档备份,存于) GNOME 2.28发行注记
  26. Holwerda, Thom. . OS News. 2010-03-31 [2010-04-04]. (原始内容存档于2018-11-06).
  27. . [2010-10-31]. (原始内容存档于2012-12-22).
  28. . [2011-04-07]. (原始内容存档于2013-01-27).
  29. Wallen, Jack. . TechRepublic. 2014-03-28 [2015-07-23]. (原始内容存档于2014-03-28).
  30. . March 23, 2016 [2016-07-02]. (原始内容存档于2016-04-08).
  31. . [2018-06-16]. (原始内容存档于2017-09-19).
  32. . [2018-06-16]. (原始内容存档于2018-11-20).
  33. . [2018-06-16]. (原始内容存档于2017-12-22).
  34. . [2018-05-05]. (原始内容存档于2018-05-07).
  35. . [2019-06-14]. (原始内容存档于2019-06-25).
  36. . [2019-06-14]. (原始内容存档于2019-05-22).
  37. . [2020-09-22]. (原始内容存档于2020-08-17).
  38. . [2020-09-22]. (原始内容存档于2020-05-24).
  39. . [2020-09-22]. (原始内容存档于2020-09-16).
  40. . [2021-03-24]. (原始内容存档于2021-03-24).
  41. . [2021-09-22]. (原始内容存档于2021-09-22).
  42. . The GNOME Project. [2014-06-12]. (原始内容存档于2014-06-04).
  43. . GNOME Wiki. The GNOME Project. [2014-05-22]. (原始内容存档于2014-05-22).
  44. Day, Allan. . The GNOME Project. [2014-05-22]. (原始内容存档于2014-06-25).
  45. . GNOME Wiki. The GNOME Project. [2014-06-13]. (原始内容存档于2014-06-01).
  46. . The GNOME Project. [2011-12-03]. (原始内容存档于2011-11-26).
  47. Day, Allan. . The GNOME Project. [2014-06-13]. (原始内容存档于2014-06-21).
  48. 柏特菱, 伦内德. . desktop-devel (邮件列表). 2011-05-18 [2014-06-12]. (原始内容存档于2014-10-10). }}
  49. Vitters, Olav; Klapper, André; Day, Allan. . The GNOME Project. [2011-10-05]. (原始内容存档于2012-12-23).
  50. Peters, Frederic. . release-team (邮件列表). 2012-11-06 [2014-06-12]. (原始内容存档于2014-09-07).
  51. . [2015-07-23]. (原始内容存档于2015-09-11).
  52. Pennington, Havoc. . April 2002 [2011-12-04]. (原始内容存档于2011-08-23).
  53. . GNOME. The GNOME Project. [2015-07-13]. (原始内容存档于2015-07-02).
  54. Matthias Clasen. . 2014-05-15 [2014-05-17]. (原始内容存档于2014-05-17).
  55. . 2014-05-15 [2014-05-17]. (原始内容存档于2014-05-24).
  56. . LWN.net. 2014-05-02 [2014-05-24]. (原始内容存档于2018-12-26).

外部链接

您可以在英语维基教科书中查找此百科条目的相关电子教程:Using GNOME
维基共享资源中相关的多媒体资源:GNOME
官方网站
第三方站点
参与中文翻译
其他
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.