當前位置:
首頁 > 知識 > Linux 桌面史話 Linux 中國

Linux 桌面史話 Linux 中國

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

-- Jim Hall

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

當時我的 386 PC 雖然內存不多,但已經足夠了。SLS 1.03 需要 2MB 的內存才能運行,如果要編譯程序,則需要 4MB 的內存。如果要運行 X 窗口系統,則需要多達 8MB 的內存!而我的電腦正好有足夠的內存來運行 X 窗口系統。

因為我是在命令行中成長的,所以圖形化的用戶界面對我來說並不重要,但它確實很方便,我可以在不同的窗口中運行應用程序,並在任務間輕鬆切換。

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

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

X 和窗口管理器

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

在 1993 年,最常見的窗口管理器是 TWM,它的歷史可以追溯到 1988 年。TWM 相當簡單,僅僅提供了基本的窗口管理功能。

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

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

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

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

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

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

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

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

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

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

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

在 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 等普通窗口管理器相比,它有了明顯改進。

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 文檔項目

有兩個 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),顯示了 Konqueror 瀏覽器。圖片來源:Paul Brown / KDE

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

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

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,顯示 Gwenview 圖像查看器。圖片來源:KDE

2011 年,GNOME 以一個新的桌面概念徹底改變了走向。GNOME 3 旨在創建一個更簡單、更精簡的桌面體驗,使用戶能夠專註於自己的工作。任務欄消失了,取而代之的是屏幕頂部的黑色狀態欄,其中包括音量和網路控制項,顯示了時間和電池狀態,並允許用戶通過重新設計過的菜單啟動新程序。

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

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

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

你的桌面之選

擁有兩個 Linux 桌面意味著用戶有很大的選擇餘地。有些人喜歡 KDE,而另一些人喜歡 GNOME。沒關係,選擇最適合你的桌面就行。

可以肯定的是,KDE 和 GNOME 都有擁護者和批評者。例如,GNOME 因為放棄任務欄而改成「活動概述」而受到了不少批評。也許最著名的批評者是 Linus Torvalds,他在 2011 年大聲斥責並拋棄了新的 GNOME,將其視為「邪惡的爛攤子」,然後在兩年後又回到了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。圖片來源:KDE

GNOME 3.32。圖片來源:GNOME

同時,你也不會完全失去它們之間的兼容性。每個主要的 Linux 發行版都提供了兼容性庫,因此你可以在運行 GNOME 的同時來運行 KDE 應用程序。當你真正想使用的應用程序是為其他桌面環境編寫的,這一點非常有用。你可以在 GNOME 上運行 KDE 應用程序,反之亦然。

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

via:https://opensource.com/article/19/8/how-linux-desktop-grown

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

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

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!


請您繼續閱讀更多來自 Linux中國 的精彩文章:

不喜歡 diff 么?試試 Meld吧
Zoom 客戶端爆出安全漏洞,可向攻擊者泄露 Windows 登錄憑據