GNOME

GNOME/ɡˈnm/[5]/ˈnm/[6])是一個完全由自由软件組成的桌面环境。它的目標作業系統Linux,但是大部分的BSD系統亦支持GNOME。

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

GNOME是由志願貢獻者和受僱貢獻者組成的GNOME計劃開發,其最大的公司貢獻者為紅帽公司[7][8]。它是一個為開發軟件框架、基於這些框架來開發用戶端軟件及協調軟件翻譯和開發無障礙軟件的專案。

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

GNOME以前曾是GNU計劃的一部分。但在2021年時,GNOME基金會的執行董事Neil McGovern在他的推特發文,表示已多次要求GNU將GNOME從GNU計畫頁面中移除[10],而GNOME基金會也在他們的官方推特中發布貼文,澄清GNOME不是GNU計畫的一部份。[11]

歷史

GNOME 1

GNOME 1,1999年

1996年KDE Plasma發佈,但KDE所依賴的Qt当时并未使用GPL授權。出于这种考虑,两个项目在1997年8月发起:一个是作为Qt库替代品的「Harmony」,另外一个就是建立一个基于非Qt库的桌面系统,即GNOME项目。GNOME的发起者為米格爾·德伊卡薩和費德里科·梅納[12]

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

在GNOME变得普及后,1999年Qt加入GPL授權[14][15]。Troll Tech在GNU GPLQPL双重许可证下发布了Unix版的Qt库。Qt加入GPL授權後,在2000年年底Harmony項目停止了開發,而KDE不再依賴非GPL的軟體。2009年3月,Qt 4.5發布,加入了LGPL授權作為第三選擇。

「GNOME」這個名稱最初是「」的縮寫,以反映最初為了開發類似微軟物件連結與嵌入的框架[16]。但這個縮寫最後被放棄,因為它不再反映GNOME專案的遠景[17]

加州初创企业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的整體評價已大致轉為正面[18]。Linux發行版Debian於GNOME 3發佈時把XFCE改成預設的桌面環境,但在Debian 8己改回預設使用GNOME 3[19][18]。Linux創始者林納斯·托瓦茲於2013年已改回使用GNOME 3[18]

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的目標是要簡單易用[41]

GNOME Shell

1
2
3
4
5
6
7
GNOME Shell的「活動」界面
1
「活動」按鈕
2
Dash面版
3
搜尋框
4
通知區
5
狀態列
6
桌面列表
7
小工具列

GNOME Shell是GNOME桌面環境的預設使用者介面。它的上方有一條面版,裏面有(由左至右)「活動」按鈕、正使用程式的選單、時鐘及一個系統選單[42][43]。程式選單顯示當前使用程式的名稱及提供例如程式設定、關閉程式等的選項。狀態列有代表電腦不同狀態的圖示、往系統設定的捷徑以及登出、轉換用戶、以及關機的選項。

按下「活動」按鈕、把鼠標移動至左上角或按下超級鍵會進入「活動」畫面[44]。「活動」畫面讓用戶縱覽現時在執行的程式,以及讓用戶轉換窗口、桌面,和執行程式。左邊的Dash面版裏面有最愛程式的捷徑、所有正在執行程式的圖示及往所有已安裝程式列表的按鈕[42]。在上方出現一個搜尋框及右邊有一個列出所有桌面的桌面列。通知在按下上方中央的時鐘後的列表內[45]

GNOME Classic

GNOME 3經典模式

從GNOME 3.8起,GNOME提供一個經典模式,提供一個較傳統的介面(類似GNOME 2)[46]

相容性

GNOME運行在X11之上,在GNOME 3.10後亦可在Wayland下執行[43]。在大部分Linux發行版上的GNOME都是預設桌面環境或可安裝的,而在大部分BSD系統上為Ports。

2011年5月倫內德·柏特菱建議把systemd列為GNOME運行需要的軟件[47]。因為systemd是Linux獨有,這個提議亦引起了未來停止支援其他平台的討論。由GNOME 3.2起,多席位配置只支援使用systemd的系統[48]。2012年11月GNOME發佈小組結論,指非基本的功能可以依賴systemd[49]

Freedesktop.org與GNOME

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

人機界面指南

自GNOME 2以起,可用性是GNOME的主要焦點。所以,GNOME人機界面指南便開始發展。所有GNOME程式都有連貫的圖形使用者介面,但是不止於使用同一套控制項英語:)。因為GNOME介面的設計是由在指南中的概念所引導,而指南自身則發展自認知工效學[50]。跟從人機界面指南,開發者可以創造優質、連貫和可用性高的介面程式,因為指南裏由介面設計至介面佈局亦有規定。

在GNOME 2的重新編程中,很多對大部分使用者而言用途不大的選項都被移除。夏霍·邊靈頓在他於2002年發佈的文章「自由軟件的使用者界面」(英語:)中總結了關於GNOME可用性的工作,強調所有偏好設定都有它的代價。使軟件功能在預設時操作暢順,比在設定中加入選項才令軟件操作和預期一樣更好:

一個傳統的自由軟件是可配置的,使它集合所有在新舊所有同類軟件所見的功能,或甚至可配置得擁有任何新舊軟件的所有功能(Emacs*咳*)。
這會造成問題嗎?它會造成問題。原來選項有它們的代價。當然,某些選項亦有重要的價值-亦可成為關鍵的界面功能。但是每一個都有它們的代價,要小心地衡量它們的價值。很多用戶和開發者都不明白此代價,令他們的選項有很大的代價但只有微小的價值。

——夏霍·邊靈頓[51]

無障礙

GNOME旨在使桌面環境對身心障礙者物理上認知上都符合人體工學。GNOME的人機界面指南嘗試把此因素包個在內,但是某些個別問題使由須由特別的軟件解決。

GNOME透過無障礙套件()應用程式介面以解決計算機輔助功能上的問題,它容許特別的輸入法、語音合成語音識別以改善用戶體驗。某些工具在ATK內透過輔助技術服務供應介面()註冊,以在整個桌面環境中都可以使用。幾個輔助技術軟件,例如Orca螢幕閱讀器和Dasher輸入法是針對在GNOME上使用而開發的。

軟件

核心程式

使用GTK+編寫或基於Clutter編寫的程式多不勝數,由不同開發者開發[52]。自GNOME 3以來,GNOME計劃開發了一系列的程式,為GNOME核心程式。所有GNOME核心程式都是根據人機界面指南而設計的[50]

遊戲

GNOME遊戲有與GNOME核心程式外觀,以及與GNOME軟件版本週期同時發佈。它們全部都已根據人機界面指南重寫。

開發工具

Anjuta整合開發環境Glade使用者介面設計工具及Devhelp應用程式介面閱覽器是為了促進開發與GNOME連貫的軟件而開發的。Accerciser計算機輔助閱覽器以及其他調試工具,包括NemiverGtkInspector和Alleyoop亦是為了促進開發GNOME軟件而開發[53][54]

與第三方軟件整合,例如與NoFlo整合亦有提供[55]

组织

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

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

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

参见

参考文献

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

外部链接

官方网站
第三方站点
參與中文翻譯
其他
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.