Linux 桌面史話

自 20 世紀 90 年代初以來,Linux 桌面已從一個簡單的窗口管理器發展爲一個完整的桌面。讓咱們一塊兒來回顧一下 Linux 桌面的歷史。php

我第一次安裝 Linux 是在 1993 年。那時,安裝這種操做系統沒有太多的選擇。早期,許多人只是從別人那裏複製一個運行中的鏡像。而後有人有了一個很好的想法,建立一個 Linux 的「發行版」,讓你能夠自定義要安裝的軟件。這就是 Softlanding Linux 系統(SLS),也是我首次接觸 Linux。linux

當時個人 386 PC 雖然內存很少,但已經足夠了。SLS 1.03 須要 2MB 的內存才能運行,若是要編譯程序,則須要 4MB 的內存。若是要運行 X 窗口系統,則須要多達 8MB 的內存!而個人電腦正好有足夠的內存來運行 X 窗口系統。git

由於我是在命令行中成長的,因此圖形化的用戶界面對我來講並不重要,但它確實很方便,我能夠在不一樣的窗口中運行應用程序,並在任務間輕鬆切換。github

從我第一次嘗試 Linux 開始,我就迷上了它。從那之後,我一直在臺式機上使用 Linux。和許多人同樣,我也曾有一段時間以雙引導配置運行 Linux,這樣我就能夠跳回到 MS-DOS 和 Windows 來運行某些程序。直到 1998 年,我終於冒了個險,全面投身於 Linux 之中。瀏覽器

在過去的 26 年中,我看着 Linux 桌面逐漸成熟。在這段時間裏,我還嘗試了各類有趣的桌面環境,下面我來分享一下 Linux 桌面的歷史。ruby

X 和窗口管理器

Linux 上的第一個「桌面」還不是桌面。相反,它們是運行在 X 窗口系統上的「窗口管理器window manager」(WM)。X 提供了圖形用戶界面的基本構件,好比在屏幕上建立窗口,並提供鍵盤和鼠標輸入。就其自己而言,X 的用處並不大。爲了使 X 圖形環境變得有用,你須要一種方法來管理會話中的全部窗口。這就出現了窗口管理器window manager。運行 xterm 或 xclock 之類的 X 程序就會在一個窗口中打開該程序。窗口管理器能夠跟蹤窗口並進行基本的內部管理,例如讓你能夠來回移動窗口並將其最小化。其他的事情取決於你本身。你能夠經過將程序名列在 ~/.xinitrc 文件中以在 X 開始時啓動這些程序,可是一般,你會從 xterm 中運行新程序。網絡

在 1993 年,最多見的窗口管理器是 TWM,它的歷史能夠追溯到 1988 年。TWM 至關簡單,僅僅提供了基本的窗口管理功能。編輯器

TWM on SLS 1.05
TWM on SLS 1.05

SLS 1.05 上的 TWM,顯示了 xterm、xclock 和 Emacs 編輯器工具

另外一個早期的窗口管理器是 OpenLook 虛擬窗口管理器(OLVWM)。OpenLook 是 Sun 微系統公司在 20世紀 80 年代開發的圖形用戶界面,後來被移植到其它 Unix 平臺。做爲一個虛擬窗口管理器,OLVWM 支持多個工做區。性能

OLVWM on SLS 1.05
OLVWM on SLS 1.05

SLS 1.05 上的 OLVWM,顯示了 xterm 和虛擬工做區選擇器

當 Linux 開始流行起來的時候,沒多久就有人建立出性能更流暢、界面更好的新窗口管理器。這些新的窗口管理器中首先出現的是虛擬窗口管理器 FVWM。FVWM 比 TWM 或 OLVWM 更具現代感。可是,咱們仍然沒有桌面。

FVWM on SLS 1.05
FVWM on SLS 1.05

SLS 1.05 上的 FVWM,顯示了 xterm 和文件管理器

以現代的眼光來看,TWM 和 FVWM 可能看起來很樸素。但重要的是要想一想當時其它圖形環境是什麼樣子。 Windows 當時的版本看起來也至關簡單。Windows 版本 1 到版本 3 使用了一個稱爲「程序管理器」的普通啓動器。

Windows 3.11
Windows 3.11

Windows 3.11,顯示程序管理器和記事本編輯器

1995 年 8 月,微軟發佈了 Windows 95,改變了現代 PC 桌面的格局。固然,我當時對此印象很深入。我曾以爲 Windows 3.x 笨拙而醜陋,但 Windows 95 卻流暢而漂亮。更重要的是,咱們如今將 Windows 95 視爲「桌面」。新的「桌面」隱喻是一個巨大的進步。你能夠在桌面上放置圖標——事實上,Windows 95 提供了兩個默認的桌面圖標,分別是「個人電腦」(用於打開文件管理器)和「回收站」(用於放置之後要刪除的文件)。

可是,更重要的是,Windows 95 桌面的意味着整合。程序管理器不見了,取而代之的是屏幕底部的任務欄,可以讓你使用更簡單的「開始」菜單啓動新程序。任務欄是多功能的,還經過一系列的按鈕顯示了你正在運行的程序,而托盤顯示了時間、揚聲器音量和其它簡單的控件。你能夠在這個新桌面上右鍵單擊任何對象, Windows 95 會爲你提供一個上下文相關的菜單,其中又你能夠執行的操做。

Windows 95
Windows 95

Windows 95,顯示了記事本編輯器

與之前版本的 Windows 甚至其它 Linux 窗口管理器相比,Windows 95 的界面更加流暢而且易於使用。值得一提的是,Linux 開發人員建立了一個模仿 Windows 95 界面的 FVWM 的新版本。名爲 FVWM95 的新窗口管理器仍然不是桌面,但它看起來很是漂亮。新的任務欄讓你可使用「開始」菜單啓動新的 X 程序。任務欄還可使用相似於 Windows 95 的按鈕顯示了正在運行的程序。

FVWM95 on Red Hat Linux 5.2
FVWM95 on Red Hat Linux 5.2

在 Red Hat Linux 5.2 上的 FVWM95,顯示了 xterm 和一個帶有 xterm 圖標、文件管理器和其餘程序的快速訪問程序啓動器

雖然 FVWM95 和其餘窗口管理器都在改進,但核心問題仍然存在:Linux 並無真正的桌面。它具備一堆窗口管理器,僅此而已。使用圖形用戶界面的 Linux 應用程序(基本上意味着它們是 X 應用程序)看起來形態萬千且工做方式也不一樣。除了 X 窗口系統提供的簡單的純文本複製/粘貼功能外,你不能從一個應用程序複製和粘貼到另外一個應用程序裏。Linux 真正須要的是在其圖形用戶界面中進行完全的從新打造,以建立它的第一個桌面。

Linux 桌面之初啼

在 1996 年,Matthias Ettrich 有感於 X 之下 Linux 應用程序體驗不一致的困擾。他想使找個更易於使用的圖形環境,並且更重要的是,他想讓全部東西都「集成」在一塊兒,就像真正的桌面同樣。

Matthias 開始了K 桌面環境K Desktop Environment(KDE)的工做。那個 K 表明着 「Kool」(LCTT 譯註:即 Cool)。可是 KDE 這個名字也意味着能夠相似通用桌面環境Common Desktop Environment(CDE)的作法,而 CDE 是「大 Unix」世界的標準。儘管到了 1996 年,CDE 看起來已經有點過期了。CDE 基於 Motif 部件集,這也是 FVWM 所模仿的設計。KDE 1.0 於 1998 年 7 月完成,與 FVWM95 等普通窗口管理器相比,它有了明顯改進。

KDE 1.0
KDE 1.0

K 桌面環境(KDE)版本 1.0。圖片來源:Paul Brown / KDE

KDE 是 Linux 向前邁出的一大步。最終,Linux 有了一個真正的桌面,集成了應用程序和更多現代的桌面圖標。KDE 的設計與 Windows 95 並沒有不一樣。屏幕底部有一個任務欄,它提供了至關於 Windows 95 的「開始」菜單以及一些應用程序的快捷鍵。KDE 還支持虛擬桌面,這些桌面被巧妙地標記爲 「One」、「 Two」、「Three」 和 「Four」。正在運行的應用程序經過位於屏幕頂部單獨的任務欄的按鈕表示。

但並非每一個人都對 KDE 感到滿意。爲了將 GUI 從系統中抽象出來,KDE 使用了 Trolltech 的 Qt 工具套件庫。不幸的是,Qt 並非以自由軟件的許可證進行分發的。Trolltech 容許 Qt 在自由軟件應用程序中無償使用,但在商業或專有應用程序中要收取使用費。並且這種二分法與自由軟件不符。這給 Linux 發行版帶來了問題:它們應該包括 KDE 嗎?仍是默認使用 FVWM 這樣老式但屬於自由軟件的圖形用戶界面?

面對這種狀況,Miguel de Icaza 和 Federico Mena 於 1997 年開始開發新的 Linux 桌面上。這個新項目被稱爲 GNOME,即GNU 網絡對象模型環境GNU Network Object Model Environment的縮寫。GNOME 旨在成爲一個徹底自由的軟件,並使用了一個不一樣的工具套件庫 —— 來自 GIMP 圖像編輯器的 GTK。GTK 從字面上的意思 GIMP 工具套件GIMP Tool Kit。當 GNOME 1.0 終於在 1999 年發佈時,Linux 又多了一個現代化的桌面環境。

GNOME 1.0
GNOME 1.0

GNOME 1.0 版。圖片來源:GNOME 文檔項目

有兩個 Linux 桌面環境當然很棒,但「KDE 與 GNOME」之爭仍持續了一段時間。到了 1999 年,Trolltech 以新的公共許可證 Q 公共許可證Q Public License(QPL)從新發布了 Qt 庫。可是,新許可證有其自身的包袱—-QPL 僅適用於 Qt 在開源軟件項目中的使用,而不適用於商業項目。所以,自由軟件基金會Free Software Foundation(FSF)認爲 QPL 與 GNU 通用公共許可證GNU General Public License(GNU GPL)不兼容。這個許可證問題一直持續到 2000 年 Trolltech 在 GNU GPL v2 下從新發布 Qt 庫。

隨着時間的發展

Linux 桌面繼續走向成熟。KDE 和 GNOME 進行了一場友好的競爭,促使雙方都在增長了新的功能,還互相交流了思想和觀念。到了 2004 年,GNOME 和 KDE 都取得了長足的進步,但只是給用戶界面帶來了漸進式的變化。

KDE 2 和 3 繼續依賴屏幕底部的任務欄概念,但併入了用於運行應用程序的按鈕。KDE 最明顯的變化之一是添加了 Konqueror 瀏覽器,該瀏覽器首次出如今 KDE 2 中。

![KDE 2.2.2 (2001) showing the Konqueror browser][11]

KDE 2.2.2(2001),顯示了 Konqueror 瀏覽器。圖片來源:Paul Brown / KDE

![KDE 3.2.2][12]

Fedora Core 2 上的 KDE 3.2.2(2004),顯示了 Konqueror 文件管理器(使用 Fedora Core 2 主題)

GNOME 2 也使用了任務欄概念,但將任務欄一分爲二:屏幕頂部的任務欄用於啓動應用程序並響應桌面提示,屏幕底部的任務欄用於顯示正在運行的應用程序。我把這兩個任務欄稱之爲「你能夠作的事情」(頂部)和「你正在作的事情」(底部)。除了精簡的用戶界面外,GNOME 還添加了由 Eazel 開發的更新過的文件管理器,名爲 Nautilus。

![GNOME 2.6.0][13]

Fedora Core 2 上的 GNOME 2.6.0(2004),顯示了 Nautilus 文件管理器(使用 Fedora Core 2 主題)

隨着時間的流逝,KDE 和 GNOME 走了不一樣的道路。二者都提供了功能豐富、健壯且現代化的桌面環境,可是卻具備不一樣的用戶界面目標。2011 年,GNOME 和 KDE 在桌面界面上出現了很大的誤差。KDE 4.6(2011 年 1 月)和 KDE 4.7(2011 年 7 月)提供了更傳統的桌面感覺,同時繼續根植於許多用戶熟悉的任務欄概念。固然,KDE 的底層發生不少變化,可是它仍然保留了熟悉的外觀。

![KDE 4.6][14]

KDE 4.6,顯示 Gwenview 圖像查看器。圖片來源:KDE

2011 年,GNOME 以一個新的桌面概念完全改變了走向。GNOME 3 旨在建立一個更簡單、更精簡的桌面體驗,使用戶可以專一於本身的工做。任務欄消失了,取而代之的是屏幕頂部的黑色狀態欄,其中包括音量和網絡控件,顯示了時間和電池狀態,並容許用戶經過從新設計過的菜單啓動新程序。

菜單的變化最具最戲劇性。單擊「活動」菜單或將鼠標移到「活動」的「熱角」,全部打開的應用程序會顯示爲單獨的窗口。用戶還能夠從「概述」中單擊「應用程序」選項卡以啓動新程序。「概述」還提供了一個內部集成的搜索功能。

![GNOME 3.0][15]

GNOME 3.0,顯示 GNOME 圖片應用程序。圖片來源:GNOME

![GNOME 3.0][16]

GNOME 3.0,顯示活動概述。圖片來源:GNOME

你的桌面之選

擁有兩個 Linux 桌面意味着用戶有很大的選擇餘地。有些人喜歡 KDE,而另外一些人喜歡 GNOME。不要緊,選擇最適合你的桌面就行。

能夠確定的是,KDE 和 GNOME 都有擁護者和批評者。例如,GNOME 由於放棄任務欄而改爲「活動概述」而受到了很多批評。也許最著名的批評者是 Linus Torvalds,他在 2011 年[大聲斥責並拋棄了][17]新的 GNOME,將其視爲「邪惡的爛攤子」,而後在兩年後又[回到了][18] GNOME。

其餘人也對 GNOME 3 提出了相似的批評,以致於一些開發人員復刻 GNOME 2 的源代碼建立了 MATE 桌面。MATE(是MATE 高級傳統環境MATE Advanced Traditional Environment的遞歸縮寫)延續了 GNOME 2 的傳統任務欄界面。

不管如何,毫無疑問當今兩個最受歡迎的 Linux 桌面是 KDE 和 GNOME。它們的當前版本很是成熟,功能也很豐富。KDE 5.16(2019)和 GNOME 3.32(2019)都試圖簡化和精簡 Linux 桌面體驗,可是方式有所不一樣。GNOME 3.32 繼續致力於極簡外觀,刪除全部分散用戶注意力的用戶界面元素,以便用戶能夠專一於其應用程序和工做。KDE 5.16 採用了更爲熟悉的任務欄方法,但也增長了其餘視覺上的改進和亮點,尤爲是改進的小部件處理和圖標。

![KDE 5.16 Plasma][19]

KDE 5.16 Plasma。圖片來源:KDE

![GNOME 3.32][20]

GNOME 3.32。圖片來源:GNOME

同時,你也不會徹底失去它們之間的兼容性。每一個主要的 Linux 發行版都提供了兼容性庫,所以你能夠在運行 GNOME 的同時來運行 KDE 應用程序。當你真正想使用的應用程序是爲其餘桌面環境編寫的,這一點很是有用。你能夠在 GNOME 上運行 KDE 應用程序,反之亦然。

我認爲這種態勢不會很快改變,這是一件好事。KDE 和 GNOME 之間的良性競爭使這兩個陣營的開發人員能夠避免故步自封。不管你使用 KDE 仍是 GNOME,你都將擁有一個集成度很高的現代化桌面。而最重要的是,這意味着 Linux 擁有自由軟件最好的特色:選擇。


via: opensource.com/article/19/…

做者:Jim Hall 選題:lujun9972 譯者:wxy 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

[11]: opensource.com/sites/defau… (KDE 2.2.2 (2001) showing the Konqueror browser) [12]: opensource.com/sites/defau… (KDE 3.2.2) [13]: opensource.com/sites/defau… (GNOME 2.6.0) [14]: opensource.com/sites/defau… (KDE 4.6) [15]: opensource.com/sites/defau… (GNOME 3.0) [16]: opensource.com/sites/defau… (GNOME 3.0) [17]: www.theregister.co.uk/2011/08/05/… [18]: www.phoronix.com/scan.php?pa… [19]: opensource.com/sites/defau… (KDE 5.16 Plasma) [20]: opensource.com/sites/defau… (GNOME 3.32)

相關文章
相關標籤/搜索