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日,​25年前​(1999-03-03[1]
当前版本
  • 47.2(2024年12月7日;穩定版本)[2]
編輯維基數據鏈接
源代码库 編輯維基數據鏈接
编程语言C语言C++ValaPythonJavaScript[3]
操作系统类Unix系统(使用WaylandX11
语言38种语言[4]
类型桌面环境
许可协议 編輯維基數據鏈接
网站www.gnome.org/ 编辑维基数据

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

GNOME最初是GNU网络对象模型环境(GNU Network Object Model Environment)的缩写,但是已经被废弃了。[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 (toolkit)英语Harmony (toolkit)」,另外一个就是建立一个基于非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英语QPL双重许可证下发布了Unix版的Qt库。Qt加入GPL授權後,在2000年年底Harmony項目停止了開發,而KDE不再依賴非GPL的軟體。2009年3月,Qt 4.5發布,加入了LGPL授權作為第三選擇。

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

加州初创企业Eazel公司英语Eazel於1999至2001年開發Nautilus檔案瀏覽器米格爾·德伊卡薩納特·弗里德曼英语Nat Friedman於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英语Adwaita (design language)取代了Clearlooks英语Clearlooks成為預設主題。很多GNOME核心程式英语GNOME Core Applications都重新設計以提供更連貫的用戶體驗。

這些重大的改變最初引來了廣泛的批評。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月倫內德·柏特菱英语Lennart Poettering建議把systemd列為GNOME運行需要的軟件[47]。因為systemd是Linux獨有,這個提議亦引起了未來停止支援其他平台的討論。由GNOME 3.2起,多席位配置英语multiseat configuration只支援使用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人機界面指南英语Human Interface Guidelines便開始發展。所有GNOME程式都有連貫的圖形使用者介面,但是不止於使用同一套控制項(英語:GUI widgets)。因為GNOME介面的設計是由在指南中的概念所引導,而指南自身則發展自認知工效學英语cognitive ergonomics[50]。跟從人機界面指南,開發者可以創造優質、連貫和可用性高的介面程式,因為指南裏由介面設計至介面佈局亦有規定。

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

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

——夏霍·邊靈頓[51]

無障礙

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

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

軟件

核心程式

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

遊戲

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

開發工具

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

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

组织

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

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

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

参见

参考文献

  1. ^ GNOME 1.0 Released!. March 3, 1999. (原始内容存档于2016-04-19). 
  2. ^ GNOME 47.2 released. 2024年12月7日 [2024年12月12日] (英語). 
  3. ^ GNOME Languages. Ohloh. Black Duck Software. [May 22, 2014]. (原始内容存档于2014-05-22). 
  4. ^ Day, Allan. GNOME 3.28 Release Notes. The GNOME Project. [May 22, 2014]. (原始内容存档于2018-05-05). 
  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. ^ Neil McGovern. "I asked (as ED for @GNOME ) GNU to remove us from that page multiple times. They have refused to do so.". 2021-04-14 [2024-01-02]. (原始内容存档于2021-11-13) –通过Twitter. 
  11. ^ GNOME. "Let's also clarify that here. GNOME is NOT a GNU project.". 2021-04-14 [2024-01-02]. (原始内容存档于2021-04-14) –通过Twitter. 
  12. ^ About Us | GNOME. [2013-03-10]. (原始内容存档于2011-12-16). 
  13. ^ The GNOME Project: "GNOME Foundation Guidelines on Copyright Assignment页面存档备份,存于互联网档案馆)". Accessed March 26, 2013.
  14. ^ Announcement: Qt version 2.0 released, 1999-06-25 [2014-04-16], (原始内容存档于1999-10-07) 
  15. ^ Stallman, Richard Stallman. Stallman on Qt, the GPL, KDE, and GNOME. 2000-09-05 [2005-09-09]. (原始内容存档于2012-04-19). 
  16. ^ Pennington, Havoc. GTK+ / Gnome Application Development. 1999 [2015-07-24]. (原始内容存档于2010-07-11).  |chapter=被忽略 (帮助)
  17. ^ Re: GNOME -> Gnome. [2011-12-10]. (原始内容存档于2012-04-06). 
  18. ^ 18.0 18.1 18.2 Hoffman, Chris. How GNOME 3.14 is winning back disillusioned Linux users. PC World. IDG TechNetwork. [2015-04-05]. (原始内容存档于2015-03-29). 
  19. ^ Tozzi, Christopher. Open Source GNOME 3 Desktop Environment Wins Back Fans. The VAR Guy. Penton. [2015-04-05]. (原始内容存档于2015-03-30). 
  20. ^ Michael Larabel. Eight Interesting Improvements In GNOME 2.22. phoronix. 2008-01-29 [2008-01-30]. (原始内容存档于2008-01-30). 
  21. ^ GNOME Roadmap. [2008-06-02]. (原始内容存档于2008-05-27). 
  22. ^ GNOME 2.22 Release Notes. [2008-06-02]. (原始内容存档于2008-06-01). 
  23. ^ Untz, Vincent. Celebrating the release of GNOME 2.26!. 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. GNOME 2.30 Released. OS News. 2010-03-31 [2010-04-04]. (原始内容存档于2018-11-06). 
  26. ^ GNOME 2.32 Release Notes. [2010-10-31]. (原始内容存档于2012-12-22). 
  27. ^ GNOME 3.0 Release Notes. [2011-04-07]. (原始内容存档于2013-01-27). 
  28. ^ 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). 
  29. ^ GNOME 3.20. March 23, 2016 [2016-07-02]. (原始内容存档于2016-04-08). 
  30. ^ GNOME 3.22 Release Notes. [2018-06-16]. (原始内容存档于2017-09-19). 
  31. ^ GNOME 3.24 Release Notes. [2018-06-16]. (原始内容存档于2018-11-20). 
  32. ^ GNOME 3.26 Release Notes. [2018-06-16]. (原始内容存档于2017-12-22). 
  33. ^ GNOME 3.28 Release Notes. [2018-05-05]. (原始内容存档于2018-05-07). 
  34. ^ GNOME 3.30 Release Notes. [2019-06-14]. (原始内容存档于2019-06-25). 
  35. ^ GNOME 3.32 Release Notes. [2019-06-14]. (原始内容存档于2019-05-22). 
  36. ^ GNOME 3.34 Release Notes. [2020-09-22]. (原始内容存档于2020-08-17). 
  37. ^ GNOME 3.36 Release Notes. [2020-09-22]. (原始内容存档于2020-05-24). 
  38. ^ GNOME 3.38 Release Notes. [2020-09-22]. (原始内容存档于2020-09-16). 
  39. ^ GNOME 40 Release Notes. [2021-03-24]. (原始内容存档于2021-03-24). 
  40. ^ GNOME 41 Release Notes. [2021-09-22]. (原始内容存档于2021-09-22). 
  41. ^ GNOME 3. The GNOME Project. [2014-06-12]. (原始内容存档于2014-06-04). 
  42. ^ 42.0 42.1 Terminology for Gnome Shell. GNOME Wiki. The GNOME Project. [2014-05-22]. (原始内容存档于2014-05-22). 
  43. ^ 43.0 43.1 Day, Allan. GNOME 3.10 Release Notes. The GNOME Project. [2014-05-22]. (原始内容存档于2014-06-25). 
  44. ^ GNOME 3 Cheat Sheet. GNOME Wiki. The GNOME Project. [2014-06-13]. (原始内容存档于2014-06-01). 
  45. ^ GNOME Shell Design. The GNOME Project. [2011-12-03]. (原始内容存档于2011-11-26). 
  46. ^ Day, Allan. GNOME 3.8 Release Notes. The GNOME Project. [2014-06-13]. (原始内容存档于2014-06-21). 
  47. ^ 柏特菱, 倫內德. systemd as external dependency. desktop-devel (邮件列表). 2011-05-18 [2014-06-12]. (原始内容存档于2014-10-10).  }}
  48. ^ Vitters, Olav; Klapper, André; Day, Allan. GNOME 3.2 Release Notes. The GNOME Project. [2011-10-05]. (原始内容存档于2012-12-23). 
  49. ^ Peters, Frederic. 20121104 meeting minutes. release-team (邮件列表). 2012-11-06 [2014-06-12]. (原始内容存档于2014-09-07). 
  50. ^ 50.0 50.1 GNOME人機界面指南. [2015-07-23]. (原始内容存档于2015-09-11). 
  51. ^ Pennington, Havoc. Free Software UI. April 2002 [2011-12-04]. (原始内容存档于2011-08-23). 
  52. ^ Applications - GNOME. GNOME. The GNOME Project. [2015-07-13]. (原始内容存档于2015-07-02). 
  53. ^ Matthias Clasen. GtkInspector Author's blog entry. 2014-05-15 [2014-05-17]. (原始内容存档于2014-05-17). 
  54. ^ GtkInspector in GNOME wiki. 2014-05-15 [2014-05-17]. (原始内容存档于2014-05-24). 
  55. ^ Bergius: Flowhub and the GNOME Developer Experience. LWN.net. 2014-05-02 [2014-05-24]. (原始内容存档于2018-12-26). 

外部链接

官方网站
第三方站点
參與中文翻譯
其他