Linux 桌面進化史
本週Linux剛剛迎來它的 28歲生日。自20世紀90年代初期以來,Linux桌面也已從簡單的窗口管理器發展為成熟、完整的桌面。那麼它究竟是如何一步步發展至今的呢?作為從1993年就開始使用Linux的資深用戶,FreeDOS創始人Jim Hall從初代窗口管理器開始,仔細梳理了一遍Linux桌面的進化史——
X 和窗口管理器
Linux 上的第一個“桌面”是在X Window 系統上運行的窗口管理器。X 為圖形用戶界面提供了基本構建塊,例如在屏幕上創建窗口並提供鍵盤和鼠標輸入。要運行X 圖形環境,用戶需要一種方法來管理會話中的所有窗口,這就是窗口管理器的用武之地。運行像xterm 或xclock 這樣的X 程序,它們就會在窗口中打開。
窗口管理器負責跟踪窗口並執行基本的任務管理,例如移動窗口並最小化。剩下的則取決於個人,你可以在通過將X 列在~/.xinitrc 文件中來啟動程序,不過通常,用戶會從xterm 運行新程序。
1993 年最常見的窗口管理器是TWM,它可以追溯至1988 年。TWM 非常簡單,只提供基本的窗口管理功能。
▲SLM 1.05 上的TWM,圖中為xterm、xclock 和Emacs 編輯器
另一個早期的窗口管理器是OpenLook 虛擬窗口管理器(OLVWM)。OpenLook 是Sun Microsystems 在20 世紀80 年代開發的圖形用戶界面,後來也被移植到其他Unix 平台。作為虛擬窗口管理器,OLVWM 支持多個工作區。
▲SLS 1.05 上的OLVWM,圖為xterm 和Virtual Workspaces 選擇器
當Linux 開始普及時,創建一個具有流暢性能和改進界面的新窗口管理器並不需要花費很大力氣。這些新窗口管理器中的首個便是FVWM,一個虛擬窗口管理器。FVWM 比TWM 或OLVWM 更具現代感。當然對於現代人來說,TWM 和FVWM 可能看起來很平常。
▲SLS 1.05 上的FVWM,圖為xterm 和文件管理器
當時的Windows 桌面看起來相當簡單。Windows 版本1 到3 使用稱為“程序管理器”的普通啟動程序。
▲Windows 3.11 上的程序管理器和記事本編輯器
1995年8月,微軟發布了Windows 95並改變了現代PC桌面環境。在當時,Windows 3.x看起來是笨拙而醜陋的,Windows 95顯然更為流暢好看。更重要的是,Windows 95改變了人們對桌面的定義。
Windows 95 桌面意味著集成。程序管理器消失了,取而代之的是屏幕底部的任務欄,可以使用更簡單的“開始”菜單啟動新程序。與之前版本的Windows 甚至其他Linux 窗口管理器相比,Windows 95 界面更加靈活且易於使用。
▲Windows 95 上的記事本編輯器
Linux 開發人員不甘示弱,創建了一個模仿Windows 95 界面的新版FVWM,並稱為FVWM95。新的窗口管理器仍然不是桌面,但它看起來比以前好得多。用戶可以在任務欄中使用“開始”菜單啟動新的X 程序,任務欄還使用類似於Windows 95 的按鈕顯示正在運行的程序。
▲Red Hat Linux 5.2 上的FVWM95
雖然FVWM95 和其他窗口管理器在不斷改進,但核心問題仍然存在:Linux 並沒有真正擁有桌面。它只有一系列窗口管理器罷了。
首個Linux 桌面
1996 年,Matthias Ettrich 希望將所有內容集成在一起,就像一個真正的桌面一樣。於是他開始研究K 桌面環境(KDE),並於1998 年7 月完成。KDE 1.0 比FVWM95 這樣的普通窗口管理器有了明顯的改進。
▲KDE 1.0
KDE 代表著Linux 的一大進步,從此Linux 擁有了真正的桌面應用程序集成和更現代的桌面圖標。
KDE 的設計與Windows 95 相差無幾。它在屏幕底部有一個任務欄,提供了相當於Windows 95 的開始菜單以及幾個應用程序的快捷方式。此外,KDE 還支持虛擬桌面。
但並非所有人都對KDE 感到滿意。為了從系統中抽象GUI,KDE 使用了Trolltech 的Qt 工具包庫。不幸的是,Qt 沒有在免費軟件許可下發布。Trolltech 允許Qt 在免費軟件應用程序中免費使用,但在商業或專有應用程序中使用它需要付費。這使Linux 發行版陷入兩難抉擇:應該包含KDE 嗎?或者默認使用較舊但免費的軟件圖形用戶界面,如FVWM?
很快,事情有了新的變化。Miguel de Icaza 和Federico Mena 於1997 年開始為新的Linux 桌面工作。這個新項目被稱為GNOME,用於GNU 網絡對像模型環境。GNOME 旨在成為完全免費的軟件,並使用來自GIMP 圖像編輯器的不同工具包,即GTK(GIMP Tool Kit)。
當GNOME 1.0 最終在1999 年發佈時,Linux 又擁有了一個現代桌面環境。
▲GNOME 1.0
此後,KDE 與GNOME 的競爭持續了一段時間。轉眼來到1999 年,Trolltech 根據新的公共許可證——Q 公共許可證(QPL)重新發布了Qt 庫。但新許可證仍然有所限制,QPL 僅適用於Qt 在開源軟件項目中的使用,而非商業項目。因此,自由軟件基金會認為QPL 與GNU 通用公共許可證(GNU GPL)不兼容。這個許可問題將一直持續到Trolltech 在2000 年GNU GPL 第2 版下重新發布Qt 庫。
隨著時間的發展
Linux 桌面繼續成熟。KDE 和GNOME 進入良性競爭狀態,互相推動新的發展。到2004 年,GNOME 和KDE 都取得了重大進展,但只對用戶界面進行了增量更改。
KDE 2 和3 繼續依賴於屏幕底部的任務欄概念,但包含了用於運行應用程序的按鈕。KDE 最明顯的變化之一是增加了Konqueror 瀏覽器,它最初出現在KDE 2 中。
▲KDE 2.2.2 (2001)
▲Fedora Core 2 上的KDE 3.2.2(2004)
GNOME 2 也使用了任務欄概念,但它將欄分成兩部分:屏幕頂部用於啟動應用程序並響應桌面警報,頁面底部顯示正在運行的應用程序。除了簡化的用戶界面外,GNOME 還添加了一個名為Nautilus 的文件管理器,由Eazel 開發。
▲Fedora Core 2 上的GNOME 2.6.0(2004)
隨著時間的推移,KDE 和GNOME 採取了不同的發展路徑。兩者都提供功能豐富、強大且現代化的桌面環境,但它們具有不同的用戶界面目標。2011 年可以說是GNOME 和KDE 的分水嶺。KDE 4.6(2011 年1 月)和KDE 4.7(2011 年7 月)提供了更為傳統的桌面,同時繼續依賴許多用戶熟悉的任務欄概念。從外觀上來看,KDE 並沒有什麼太大的變化。
▲KDE 4.6
另一邊的GNOME 則在2011 年通過新的桌面概念完全改變了方向。GNOME 3 旨在創建更簡化的桌面體驗,使用戶能夠專注於他們正在進行的工作。任務欄消失,取而代之的是屏幕頂部的黑色狀態欄,其中包括音量和網絡控制,顯示時間和電池狀態,並允許用戶通過重新設計的菜單啟動新程序。
▲GNOME 3.0
選擇合適的桌面
有人喜歡KDE,有人喜歡GNOME,選擇最適合自己的就好。可以肯定的是,KDE 和GNOME 都有批評者和支持者。這其中最著名的批評者也許是Linus Torvalds,他在2011 年大聲譴責GNOME 為 “unholy mess” 並放棄了它,兩年後卻又再度回歸。
其他不少人對GNOME 3 也提出了類似的批評,以至於一些開發人員將GNOME 2 源代碼分叉並創建MATE 桌面。MATE 繼承了GNOME 2 的傳統任務欄界面。
無論如何,毫無疑問,今天最流行的兩個Linux 桌面是KDE 和GNOME。它們目前的版本都非常成熟,並且功能豐富。KDE 5.16(2019)和GNOME 3.32(2019)都試圖簡化Linux 桌面體驗,不過是以不同的方式。GNOME 3.32 繼續瞄準最簡潔的外觀,刪除所有令人分心的用戶界面元素,以便用戶可以專注於應用程序和工作。而KDE 5.16 仍舊採用了較為熟悉的任務欄方法,但增加了其他視覺改進,特別是改進了圖標和小部件處理。
▲KDE 5.6
▲GNOME 3.32
每個主要的Linux 發行版都提供兼容性庫,因此兼容性不會丟失,用戶可以在GNOME 上運行KDE 應用程序,反之亦然。
KDE 和GNOME 之間的良性競爭使兩個陣營的開發人員都能夠不斷突破,這是一件好事。無論你使用的是KDE 還是GNOME,你都擁有一個集成度很高的現代化桌面。
最重要的是,這意味著Linux 擁有自由軟件中的最佳功能:選擇。
本文譯自:opensource.com