Linux中國

Linux 桌面史話

我第一次安裝 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 相當簡單,僅僅提供了基本的窗口管理功能。

![TWM on SLS 1.05](/data/attachment/album/202004/03/142516eu4s0ryoo6ps930u.png "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](/data/attachment/album/202004/03/142517ki2je81uj9ebb6ct.png "OLVWM on SLS 1.05")

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

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

![FVWM on SLS 1.05](/data/attachment/album/202004/03/142517lbgicv6z7diitzvz.png "FVWM on SLS 1.05")

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

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

![Windows 3.11](/data/attachment/album/202004/03/142518lkreu6l4mnv6ftff.png "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](/data/attachment/album/202004/03/142520fy6yua465u2giaqv.png "Windows 95")

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

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

![FVWM95 on Red Hat Linux 5.2](/data/attachment/album/202004/03/142521cmc9iqlqiu6niqjh.png "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](/data/attachment/album/202004/03/142526iao96df8affatt28.png "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](/data/attachment/album/202004/03/142543us4ft4cbbt7jt4tf.png "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](/data/attachment/album/202004/03/142601myfdvn0zkeq0yyky.png "KDE 2.2.2 (2001) showing the Konqueror browser")

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

![KDE 3.2.2](/data/attachment/album/202004/03/142618ibssww87ch8gbv8c.png "KDE 3.2.2")

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

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

![GNOME 2.6.0](/data/attachment/album/202004/03/142622g2ux5d90dz92677z.png "GNOME 2.6.0")

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](/data/attachment/album/202004/03/142652a01ev1yvmy17sg4g.png "KDE 4.6")

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

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

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

![GNOME 3.0](/data/attachment/album/202004/03/142711om9hq79omoxxmmr7.png "GNOME 3.0")

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

![GNOME 3.0](/data/attachment/album/202004/03/142729sqkmvml35alkhl5k.png "GNOME 3.0")

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](/data/attachment/album/202004/03/142737nw3l58udxssuz3q8.png "KDE 5.16 Plasma")

KDE 5.16 Plasma。圖片來源:KDE

![GNOME 3.32](/data/attachment/album/202004/03/142754f1nidozdgr41a4ga.png "GNOME 3.32")

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 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國