GNOME - Wikiwand
For faster navigation, this Iframe is preloading the Wikiwand page for GNOME.

GNOME

維基百科,自由的百科全書

GNOME
Clocks、EvincegThumb、GNOME Files在GNOME v3.22上運行
原作者 GNU計劃
開發者 GNU計劃(主要由Red Hat
初始版本 1999年3月3日,​20年前​(1999-03-03[1]
穩定版本 3.34.1(2019年10月7日,​15天前​(2019-10-07[±]
預覽版本 3.33.91(2019年8月22日,​61天前​(2019-08-22[±]
原始碼庫 編輯維基數據鏈接
程式語言 C語言C++ValaPythonJavaScript[2]
作業系統 類Unix系統(使用WaylandX11
語言 38種語言[3]
類型 桌面環境
授權條款 GPLv2+[4]
網站 www.gnome.org

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

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

GNOME最初是GNU網路物件模型環境(GNU Network Object Model Environment)的縮寫,但是已經被廢棄了。[9]GNU計劃的一部分,並且是由志願者開發的。

歷史

GNOME 1

GNOME 1,1999年
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英語QPL雙重授權條款下釋出了Unix版的Qt庫。Qt加入GPL授權後,在2000年年底Harmony項目停止了開發,而KDE不再依賴非GPL的軟體。2009年3月,Qt 4.5發布,加入了LGPL授權作為第三選擇。

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

加州初創企業Eazel公司英語Eazel於1999至2001年開發Nautilus檔案瀏覽器米格爾·德伊卡薩納特·弗里德曼英語Nat Friedman於1999年創立後來成為Ximian的Helix Code公司。該公司開發了GNOME的基礎設施和軟體,2003年被Novell收購。

GNOME 2

GNOME 2.0,2002年6月
GNOME 2.0,2002年6月

GNOME 2與傳統桌面介面十分相似,擁有一個用戶可以與不同例如窗口、圖示、檔案等虛擬物件互動的桌面環境。GNOME 2使用Metacity為它的預設視窗管理員。GNOME 2的窗口、程式和檔案管理和一般的桌面作業系統十分相似。在預設的設定中,桌面有一個啓動選單,可以用以開啓已安裝的程式及檔案;己存在的窗口在下方的工作列列出;而在右上角則有一個通知區以顯示在背景運行的程式。不過,這些功能可以隨用戶喜好而更改位置、取代或甚至移除。

GNOME 3

在GNOME 3之前,GNOME是根據傳統的桌面比擬而設計,但在GNOME 3便被GNOME Shell所取代,所有轉換窗口及虛擬桌面都在「活動」畫面中進行。此外,因為Mutter取代了Metacity成為預設的視窗管理員,最小化及放大按鈕不再預設在名稱列中。Adwaita英語Adwaita (Software)取代了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的整體評價已大致轉為正面[16]。Linux發行版Debian於GNOME 3發布時把XFCE改成預設的桌面環境,但在Debian 8己改回預設使用GNOME 3[17][16]。Linux創始者林納斯·托瓦茲於2013年已改回使用GNOME 3[16]

版本

組成 GNOME 計劃的每一部分都有自己的版本號和釋出規劃,通過各模組的維護者之間的定期協調(六個月),建立一個完整的 GNOME 釋出版本。下邊的釋出版本列表分類屬於穩定版。提供給測試和開發者的不穩定版本並未列入。

設計

GNOME的目標是要簡單易用[34]

GNOME Shell

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

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

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

GNOME Classic

GNOME 3經典模式
GNOME 3經典模式

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

相容性

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

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

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[43]。跟從人機介面指南,開發者可以創造優質、連貫和可用性高的介面程式,因為指南裏由介面設計至介面布局亦有規定。

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

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

——夏霍·邊靈頓[44]

無障礙

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

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

軟體

核心程式

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

遊戲

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

開發工具

Anjuta整合開發環境Glade使用者介面設計工具及Devhelp英語Devhelp應用程式介面閱覽器是為了促進開發與GNOME連貫的軟體而開發的。Accerciser電腦輔助閱覽器以及其他除錯工具,包括Nemiver、GtkInspector和Alleyoop亦是為了促進開發GNOME軟體而開發[46][47]

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

組織

和大多數自由軟體類似,GNOME組織也很鬆散,其關於開發的討論散布於眾多向任何人開放的郵寄清單。為了處理管理工作、施加影響以及與同對開發GNOME軟體有興趣的公司聯絡,2000年8月成立了GNOME基金會。基金會並不直接參與技術決策,而是協調釋出和決定哪些物件應該成為GNOME的組成部分。基金會網站將其成員資格定義為:

「按照GNOME基金會章程,任何對GNOME有貢獻者都可能是合格的成員。儘管很難精確定義,貢獻者一般必須對GNOME計劃有不小幫助。其貢獻形式包括程式碼、文件、翻譯、計劃範圍的資源維護或者其它對GNOME計劃有意義的重要活動 。」

基金會成員每年11月選舉董事會,其候選人必須也是貢獻者。

參見

參考文獻

  1. ^ GNOME 1.0 Released!. [March 3, 1999]. 
  2. ^ GNOME Languages. Ohloh. Black Duck Software. [May 22, 2014]. 
  3. ^ Day, Allan. GNOME 3.28 Release Notes. The GNOME Project. [May 22, 2014]. 
  4. ^ GNOME License. [2017-12-08]. 
  5. ^ Introducing GNOME 3.12. You Tube (video). Google. 2014-03-26 [2014-07-02]. 
  6. ^ Clinton, Jason D. GNOME 3: Fewer interruptions. The GNOME Project (video). YouTube. 2011-04-02 [2011-04-07]. 
  7. ^ GNOME census (PDF), Neary, (原始內容 (PDF)存檔於2012-01-20) .
  8. ^ Staring into the abyss. Gnome. 2012-07-27 [2014-03-15]. 
  9. ^ Klapper, Andre. Re: GNOME -> Gnome. GNOME marketing list (郵寄清單). 6 April 2010 [26 March 2017]. 
  10. ^ About Us | GNOME. [2013-03-10]. 
  11. ^ The GNOME Project: "GNOME Foundation Guidelines on Copyright Assignment 網際網路檔案館存檔,存檔日期2012-03-04.". 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]. 
  14. ^ Pennington, Havoc. GTK+ / Gnome Application Development. 1999. (原始內容存檔於2010-07-11).  |chapter=被忽略 (幫助)
  15. ^ Re: GNOME -> Gnome. [2011-12-10]. 
  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]. 
  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]. 
  19. ^ GNOME Roadmap. 
  20. ^ GNOME 2.22 Release Notes. 
  21. ^ Untz, Vincent. Celebrating the release of GNOME 2.26!. gnome-announce-list (郵寄清單). 2009-03-18 [2009-03-18]. 
  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]. 
  24. ^ GNOME 2.32 Release Notes. [2010-10-31]. 
  25. ^ GNOME 3.0 Release Notes. [2011-04-07]. 
  26. ^ Wallen, Jack. GNOME 3.10 has resurrected what was once the darling of the Linux desktop. TechRepublic. 2014-03-28. (原始內容存檔於2014-03-28). 
  27. ^ GNOME 3.20. March 23, 2016. 
  28. ^ GNOME 3.22 Release Notes. 
  29. ^ GNOME 3.24 Release Notes. 
  30. ^ GNOME 3.26 Release Notes. 
  31. ^ GNOME 3.28 Release Notes. 
  32. ^ GNOME 3.30 Release Notes. 
  33. ^ GNOME 3.32 Release Notes. 
  34. ^ GNOME 3. The GNOME Project. [2014-06-12]. 
  35. ^ 35.0 35.1 Terminology for Gnome Shell. GNOME Wiki. The GNOME Project. [2014-05-22]. (原始內容存檔於2014-05-22). 
  36. ^ 36.0 36.1 Day, Allan. GNOME 3.10 Release Notes. The GNOME Project. [2014-05-22]. 
  37. ^ GNOME 3 Cheat Sheet. GNOME Wiki. The GNOME Project. [2014-06-13]. 
  38. ^ GNOME Shell Design. The GNOME Project. [2011-12-03]. 
  39. ^ Day, Allan. GNOME 3.8 Release Notes. The GNOME Project. [2014-06-13]. 
  40. ^ 柏特菱, 倫內德. systemd as external dependency. desktop-devel (郵寄清單). 2011-05-18 [2014-06-12].  ))
  41. ^ Vitters, Olav; Klapper, André; Day, Allan. GNOME 3.2 Release Notes. The GNOME Project. [2011-10-05]. 
  42. ^ Peters, Frederic. 20121104 meeting minutes. release-team (郵寄清單). 2012-11-06 [2014-06-12]. 
  43. ^ 43.0 43.1 GNOME人機界面指南. 
  44. ^ Pennington, Havoc. Free Software UI. April 2002 [2011-12-04]. 
  45. ^ Applications - GNOME. GNOME. The GNOME Project. [2015-07-13]. 
  46. ^ Matthias Clasen. GtkInspector Author's blog entry. 2014-05-15 [2014-05-17]. 
  47. ^ GtkInspector in GNOME wiki. 2014-05-15 [2014-05-17]. 
  48. ^ Bergius: Flowhub and the GNOME Developer Experience. LWN.net. 2014-05-02 [2014-05-24]. 

外部連結

官方網站
第三方站點
參與中文翻譯
其他
  • GNOME vs KDE——GNOME vs KDE的比較表 (繁體中文)
{{bottomLinkPreText}} {{bottomLinkText}}
GNOME
Listen to this article