GNOME

GNOME
Gnomelogo.svg
Web、Weather和GNOME Files在GNOME 41上运行
Web、Weather和GNOME Files在GNOME 41上运行
原作者 GNU计划
开发者 GNU计划(主要由Red Hat
初始版本 1999年3月3日,​23年前[1]
稳定版本 42.1(2022年4月29日,​27天前[±]
预览版本 42.RC(2022年3月13日,​2个月前[±]
原始码库 编辑维基数据链结
程式语言 C语言C++ValaPythonJavaScript[2]
作业系统 类Unix系统(使用WaylandX11
语言 38种语言[3]
类型 桌面环境
授权条款 GPLv2+[4]
网站 www.gnome.org/ 编辑维基数据

GNOME/ɡˈnm//ˈnm/)是一个完全由自由软体组成的桌面环境。它的目标作业系统Linux,但是大部分的BSD系统亦支援GNOME。

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

GNOME最初是GNU网路物件模型环境(GNU Network Object Model Environment)的缩写,但是已经被废弃了。[9]GNU计划的一部分,并且是由志愿者开发的。

历史

GNOME 1

GNOME 1,1999年

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

GIMP Toolkit(GTK+)被选中做为Qt toolkit的替代,担当GNOME桌面的基础。GTK+使用LGPL,允许连结到此库的软体(例如GNOME的应用程式)使用任意的授权条款。GNOME计划的应用程式通常使用GPL授权条款[11]

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

「GNOME」这个名称最初是「GNU Network Object Model Environment」的缩写,以反映最初为了开发类似微软物件连结与嵌入的框架[14]。但这个缩写最后被放弃,因为它不再反映GNOME专案的远景[15]

加州初创企业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之前,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年,对GNOME 3的整体评价已大致转为正面[16]。Linux发行版Debian于GNOME 3发布时把XFCE改成预设的桌面环境,但在Debian 8己改回预设使用GNOME 3[17][16]。Linux创始者林纳斯·托瓦兹于2013年已改回使用GNOME 3[16]

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的目标是要简单易用[39]

GNOME Shell

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

GNOME Shell是GNOME桌面环境的预设使用者介面。它的上方有一条面版,里面有(由左至右)「活动」按钮、正使用程式的选单、时钟及一个系统选单[40][41]。程式选单显示当前使用程式的名称及提供例如程式设定、关闭程式等的选项。状态列有代表电脑不同状态的图示、往系统设定的捷径以及登出、转换使用者、以及关机的选项。

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

GNOME Classic

GNOME 3经典模式

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

相容性

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

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

Freedesktop.org与GNOME

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

人机介面指南

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

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

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

——夏霍·边灵顿[49]

无障碍

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

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

软体

核心程式

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

游戏

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

开发工具

Anjuta整合开发环境Glade使用者介面设计工具及Devhelp应用程式介面阅览器是为了促进开发与GNOME连贯的软体而开发的。Accerciser计算机辅助阅览器以及其他除错工具,包括NemiverGtkInspector和Alleyoop亦是为了促进开发GNOME软体而开发[51][52]

与第三方软体整合,例如与NoFlo整合亦有提供[53]

组织

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

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

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

参见

参考文献

  1. ^ GNOME 1.0 Released!. [March 3, 1999]. (原始内容存档于2016-04-19). 
  2. ^ GNOME Languages. Ohloh. Black Duck Software. [May 22, 2014]. (原始内容存档于2014-05-22). 
  3. ^ Day, Allan. GNOME 3.28 Release Notes. The GNOME Project. [May 22, 2014]. (原始内容存档于2018-05-05). 
  4. ^ GNOME License. [2017-12-08]. (原始内容存档于2017-11-07). 
  5. ^ Introducing GNOME 3.12. You Tube (video). Google. 2014-03-26 [2014-07-02]. (原始内容存档于2014-05-23). 
  6. ^ Clinton, Jason D. GNOME 3: Fewer interruptions. The GNOME Project (video). YouTube. 2011-04-02 [2011-04-07]. (原始内容存档于2011-04-09). 
  7. ^ GNOME census (PDF), Neary, [2015-07-20], (原始内容 (PDF)存档于2012-01-20) .
  8. ^ Staring into the abyss. Gnome. 2012-07-27 [2014-03-15]. (原始内容存档于2014-06-29). 
  9. ^ Klapper, Andre. Re: GNOME -> Gnome. GNOME marketing list (邮寄清单). 6 April 2010 [26 March 2017]. (原始内容存档于2014-12-28). 
  10. ^ GNOME. [2013-03-10]. (原始内容存档于2011-12-16). 
  11. ^ The GNOME Project: "GNOME Foundation Guidelines on Copyright Assignment页面存档备份,存于网际网路档案馆)". Accessed March 26, 2013.
  12. ^ Announcement: Qt version 2.0 released, 1999-06-25 [2014-04-16], (原始内容存档于1999-10-07) 
  13. ^ Stallman, Richard Stallman. Stallman on Qt, the GPL, KDE, and GNOME. 2000-09-05 [2005-09-09]. (原始内容存档于2012-04-19). 
  14. ^ Pennington, Havoc. GTK+ / Gnome Application Development. 1999 [2015-07-24]. (原始内容存档于2010-07-11).  |chapter=被忽略 (帮助)
  15. ^ Re: GNOME -> Gnome. [2011-12-10]. (原始内容存档于2012-04-06). 
  16. ^ 16.0 16.1 16.2 Hoffman, Chris. How GNOME 3.14 is winning back disillusioned Linux users. PC World. IDG TechNetwork. [2015-04-05]. (原始内容存档于2015-03-29). 
  17. ^ Tozzi, Christopher. Open Source GNOME 3 Desktop Environment Wins Back Fans. The VAR Guy. Penton. [2015-04-05]. (原始内容存档于2015-03-30). 
  18. ^ Michael Larabel. Eight Interesting Improvements In GNOME 2.22. phoronix. 2008-01-29 [2008-01-30]. (原始内容存档于2008-01-30). 
  19. ^ GNOME Roadmap. [2008-06-02]. (原始内容存档于2008-05-27). 
  20. ^ GNOME 2.22 Release Notes. [2008-06-02]. (原始内容存档于2008-06-01). 
  21. ^ Untz, Vincent. Celebrating the release of GNOME 2.26!. gnome-announce-list (邮寄清单). 2009-03-18 [2009-03-18]. (原始内容存档于2019-04-28). 
  22. ^ http://library.gnome.org/misc/release-notes/2.28/index.html.zh_CN页面存档备份,存于网际网路档案馆) GNOME 2.28发行注记
  23. ^ Holwerda, Thom. GNOME 2.30 Released. OS News. 2010-03-31 [2010-04-04]. (原始内容存档于2018-11-06). 
  24. ^ GNOME 2.32 Release Notes. [2010-10-31]. (原始内容存档于2012-12-22). 
  25. ^ GNOME 3.0 Release Notes. [2011-04-07]. (原始内容存档于2013-01-27). 
  26. ^ Wallen, Jack. GNOME 3.10 has resurrected what was once the darling of the Linux desktop. TechRepublic. 2014-03-28 [2015-07-23]. (原始内容存档于2014-03-28). 
  27. ^ GNOME 3.20. March 23, 2016 [2016-07-02]. (原始内容存档于2016-04-08). 
  28. ^ GNOME 3.22 Release Notes. [2018-06-16]. (原始内容存档于2017-09-19). 
  29. ^ GNOME 3.24 Release Notes. [2018-06-16]. (原始内容存档于2018-11-20). 
  30. ^ GNOME 3.26 Release Notes. [2018-06-16]. (原始内容存档于2017-12-22). 
  31. ^ GNOME 3.28 Release Notes. [2018-05-05]. (原始内容存档于2018-05-07). 
  32. ^ GNOME 3.30 Release Notes. [2019-06-14]. (原始内容存档于2019-06-25). 
  33. ^ GNOME 3.32 Release Notes. [2019-06-14]. (原始内容存档于2019-05-22). 
  34. ^ GNOME 3.34 Release Notes. [2020-09-22]. (原始内容存档于2020-08-17). 
  35. ^ GNOME 3.36 Release Notes. [2020-09-22]. (原始内容存档于2020-05-24). 
  36. ^ GNOME 3.38 Release Notes. [2020-09-22]. (原始内容存档于2020-09-16). 
  37. ^ GNOME 40 Release Notes. [2021-03-24]. (原始内容存档于2021-03-24). 
  38. ^ GNOME 41 Release Notes. [2021-09-22]. (原始内容存档于2021-09-22). 
  39. ^ GNOME 3. The GNOME Project. [2014-06-12]. (原始内容存档于2014-06-04). 
  40. ^ 40.0 40.1 Terminology for Gnome Shell. GNOME Wiki. The GNOME Project. [2014-05-22]. (原始内容存档于2014-05-22). 
  41. ^ 41.0 41.1 Day, Allan. GNOME 3.10 Release Notes. The GNOME Project. [2014-05-22]. (原始内容存档于2014-06-25). 
  42. ^ GNOME 3 Cheat Sheet. GNOME Wiki. The GNOME Project. [2014-06-13]. (原始内容存档于2014-06-01). 
  43. ^ GNOME Shell Design. The GNOME Project. [2011-12-03]. (原始内容存档于2011-11-26). 
  44. ^ Day, Allan. GNOME 3.8 Release Notes. The GNOME Project. [2014-06-13]. (原始内容存档于2014-06-21). 
  45. ^ 柏特菱, 伦内德. systemd as external dependency. desktop-devel (邮寄清单). 2011-05-18 [2014-06-12]. (原始内容存档于2014-10-10).  }}
  46. ^ Vitters, Olav; Klapper, André; Day, Allan. GNOME 3.2 Release Notes. The GNOME Project. [2011-10-05]. (原始内容存档于2012-12-23). 
  47. ^ Peters, Frederic. 20121104 meeting minutes. release-team (邮寄清单). 2012-11-06 [2014-06-12]. (原始内容存档于2014-09-07). 
  48. ^ 48.0 48.1 GNOME人机界面指南. [2015-07-23]. (原始内容存档于2015-09-11). 
  49. ^ Pennington, Havoc. Free Software UI. April 2002 [2011-12-04]. (原始内容存档于2011-08-23). 
  50. ^ Applications - GNOME. GNOME. The GNOME Project. [2015-07-13]. (原始内容存档于2015-07-02). 
  51. ^ Matthias Clasen. GtkInspector Author's blog entry. 2014-05-15 [2014-05-17]. (原始内容存档于2014-05-17). 
  52. ^ GtkInspector in GNOME wiki. 2014-05-15 [2014-05-17]. (原始内容存档于2014-05-24). 
  53. ^ Bergius: Flowhub and the GNOME Developer Experience. LWN.net. 2014-05-02 [2014-05-24]. (原始内容存档于2018-12-26). 

外部连结

官方网站
第三方站点
参与中文翻译
其他

#