基本介紹
- 中文名:GNOME與KDE的戰爭
- 簡介:Linux/UNIX系統流行圖形操作環境
- 兩者關係:存在競爭關係並沒有變得更糟
- 發展現狀:相對完善
雖然在商業方面存在競爭,GNOME與KDE兩大陣營的開發者關係並沒有變得更糟,相反他們都意識到支持對方的重要性—如果kde和gnome無法實現應用程式的共享,那不僅是巨大的資源浪費,而且將導致Linux出現根本上的分裂。
KDE與GNOME是目前Linux/UNIX系統最流行的圖形操作環境。從上個世紀九十年代中期至今,KDE和GNOME都經歷了將近十年的漫漫歷程,兩者也都從最初的設計粗糙、功能簡陋發展到相對完善的階段,可用性逼近Windows系統。圖形環境的成熟也為Linux的推廣起到至關重要的作用,儘管Linux以核心健壯、節省資源和高質量代碼著稱,但缺乏出色的圖形環境讓它一直難以在桌面領域有所作為,導致Linux桌面套用一直處於低潮。如果大家還有印象,一定會記得1999-2001年間Linux發展如火如荼,當時國內湧現出大量的Linux發行版廠商,但當用戶發現Linux距離實用化還有十萬八千里的時候,Linux熱潮迅速冷卻。業界也對此一度灰心失望,其中一部分廠商因無法盈利迅速銷聲匿跡,另一部分廠商則不約而同將重點放在伺服器市場—與桌面市場形成鮮明對比的是,Linux以穩定可靠和低成本的優勢在伺服器領域獲得了巨大的成功。
在一些Linux廠商放棄桌面化努力的同時,國際開源社群卻不斷發展壯大,自由的理念吸引越來越多一流的程式設計師參與。與商業模式不同,自由軟體程式設計師在開始時都只是利用業餘時間開發自己感興趣的東西,並將其自由公開,這是一種不折不扣的貢獻行為。儘管開發進度緩慢,但認同自由軟體理念的開發者越來越多,一個個開源項目逐漸發展壯大。
在此期間一個被人忽視的重大事件就是商業巨頭也積極參與進來,IBM、RedHat、SuSE、Ximian、Novell、SUN、HP等商業公司都直接介入各個開源項目,這些企業或者是將自身的成果免費提供給開源社群,或者直接派遣程式設計師參與項目的實際開發工作,例如SuSE(現已為Novell收購)在KDE項目上做了大量的工作,RedHat、Ximian(現已為Novell收購)則全程參與Gnome項目,IBM為Linux提供了大量的基礎性代碼,是推進Linux進入伺服器領域的主要貢獻者,SUN公司則將StarOffice贈送給開源社群,並資助成立著名的OpenOffice.org項目。這樣,大量的自由軟體程式設計師都可以從各個項目的基金會中領到薪水。在這一階段,開源項目擺脫了程式設計師業餘開發的模式,而由高水平的專職程式設計師主導,這也成為各個自由軟體項目的標準協作模式。與商業軟體公司不同,自由軟體項目的參與者都是首先為個人興趣而工作,他們的共同目標都是拿出品質最好的軟體,在協作模式穩定成形之後,各個軟體就進入到發展的快行道。進入2005年後,這些項目基本上都獲得了豐碩的成果,其中最突出的代表就是Firefox瀏覽器的成功,而作為兩大圖形環境,KDE和GNOME分別發展到3.5和2.12版本,兩者的可用性完全可以媲美Windows。更重要的是,開源社群的發展壯大為這些項目的未來發展奠定了堅實的基礎:KDE項目將超越Windows作為自己的目標,力量更強大的GNOME項目更是將開發目標定在超越Mac OS X的Aqua圖形環境;Firefox則計畫運用GPU的硬體資源來渲染圖像,達到大幅度提高速度的目的;OpenOffice.org在努力提升品質的同時奠定了開放文檔格式標準。除了上述主要項目之外,我們也看到如Mplayer播放器、Xine播放器、Thunderbird郵件客戶端、SCIM輸入平台等其他開源項目也在快速發展成熟之中,且幾乎每一天都有新的項目在誕生。有意思的是,除了涉及到軟體開發外,還出現了為Linux設計視覺界面的開放協作項目,全球各地有著共同目標的藝術家通過網際網路組織到一起,共同為Linux系統設計一流的視覺界面、系統圖示,而所有的自由軟體程式設計師都有一個共同的目標,那就是開發出一流水準的軟體提供給大眾使用。這種基於挑戰自我、帶有濃烈精神色彩的軟體開發模式成為商業軟體之外的另外一極。現在,微軟面對的並不是那些只在業餘時間鼓搗代碼的程式設計師,而是分布在全球各地、數量龐大、且擁有一流技術水平的開發者,這些開發者被有效地組織起來,形成一個個有序的協作團隊,大量實力雄厚的商業公司在背後提供支持。雖然今天的Linux系統還無法在桌面領域被廣為接納,但只需要兩、三年時間,高速進化的Linux平台將可達到全面進軍桌面的水準,也正是看到其中的機會,Novell、RedHat等重量級Linux企業都不斷在技術和市場推廣方面加大投入,Linux桌面化近在咫尺。
在介紹完必要的背景之後,我們將進入關於KDE與GNOME的技術專題。如果你是剛剛接觸Linux的新手,一定會對KDE和GNOME感到困惑不已—為何會有兩個功能重複、操作習慣迥異的圖形環境?這不僅麻煩也耗費開發者精力。通過本文,你將獲得清晰的答案。而更重要的是,我們將在本文中向大家介紹KDE與GNOME的實際水平、各自的優點和未來發展趨勢。如果你對Linux桌面套用有些興趣,那么未來的KDE/GNOME一定會讓你感到震驚不已。
在一些Linux廠商放棄桌面化努力的同時,國際開源社群卻不斷發展壯大,自由的理念吸引越來越多一流的程式設計師參與。與商業模式不同,自由軟體程式設計師在開始時都只是利用業餘時間開發自己感興趣的東西,並將其自由公開,這是一種不折不扣的貢獻行為。儘管開發進度緩慢,但認同自由軟體理念的開發者越來越多,一個個開源項目逐漸發展壯大。
在此期間一個被人忽視的重大事件就是商業巨頭也積極參與進來,IBM、RedHat、SuSE、Ximian、Novell、SUN、HP等商業公司都直接介入各個開源項目,這些企業或者是將自身的成果免費提供給開源社群,或者直接派遣程式設計師參與項目的實際開發工作,例如SuSE(現已為Novell收購)在KDE項目上做了大量的工作,RedHat、Ximian(現已為Novell收購)則全程參與Gnome項目,IBM為Linux提供了大量的基礎性代碼,是推進Linux進入伺服器領域的主要貢獻者,SUN公司則將StarOffice贈送給開源社群,並資助成立著名的OpenOffice.org項目。這樣,大量的自由軟體程式設計師都可以從各個項目的基金會中領到薪水。在這一階段,開源項目擺脫了程式設計師業餘開發的模式,而由高水平的專職程式設計師主導,這也成為各個自由軟體項目的標準協作模式。與商業軟體公司不同,自由軟體項目的參與者都是首先為個人興趣而工作,他們的共同目標都是拿出品質最好的軟體,在協作模式穩定成形之後,各個軟體就進入到發展的快行道。進入2005年後,這些項目基本上都獲得了豐碩的成果,其中最突出的代表就是Firefox瀏覽器的成功,而作為兩大圖形環境,KDE和GNOME分別發展到3.5和2.12版本,兩者的可用性完全可以媲美Windows。更重要的是,開源社群的發展壯大為這些項目的未來發展奠定了堅實的基礎:KDE項目將超越Windows作為自己的目標,力量更強大的GNOME項目更是將開發目標定在超越Mac OS X的Aqua圖形環境;Firefox則計畫運用GPU的硬體資源來渲染圖像,達到大幅度提高速度的目的;OpenOffice.org在努力提升品質的同時奠定了開放文檔格式標準。除了上述主要項目之外,我們也看到如Mplayer播放器、Xine播放器、Thunderbird郵件客戶端、SCIM輸入平台等其他開源項目也在快速發展成熟之中,且幾乎每一天都有新的項目在誕生。有意思的是,除了涉及到軟體開發外,還出現了為Linux設計視覺界面的開放協作項目,全球各地有著共同目標的藝術家通過網際網路組織到一起,共同為Linux系統設計一流的視覺界面、系統圖示,而所有的自由軟體程式設計師都有一個共同的目標,那就是開發出一流水準的軟體提供給大眾使用。這種基於挑戰自我、帶有濃烈精神色彩的軟體開發模式成為商業軟體之外的另外一極。現在,微軟面對的並不是那些只在業餘時間鼓搗代碼的程式設計師,而是分布在全球各地、數量龐大、且擁有一流技術水平的開發者,這些開發者被有效地組織起來,形成一個個有序的協作團隊,大量實力雄厚的商業公司在背後提供支持。雖然今天的Linux系統還無法在桌面領域被廣為接納,但只需要兩、三年時間,高速進化的Linux平台將可達到全面進軍桌面的水準,也正是看到其中的機會,Novell、RedHat等重量級Linux企業都不斷在技術和市場推廣方面加大投入,Linux桌面化近在咫尺。
在介紹完必要的背景之後,我們將進入關於KDE與GNOME的技術專題。如果你是剛剛接觸Linux的新手,一定會對KDE和GNOME感到困惑不已—為何會有兩個功能重複、操作習慣迥異的圖形環境?這不僅麻煩也耗費開發者精力。通過本文,你將獲得清晰的答案。而更重要的是,我們將在本文中向大家介紹KDE與GNOME的實際水平、各自的優點和未來發展趨勢。如果你對Linux桌面套用有些興趣,那么未來的KDE/GNOME一定會讓你感到震驚不已。
X Window打造桌面環境
在介紹KDE和Gnome之前,我們有必要先來介紹UNIX/Linux圖形環境的概念。對一個習慣Windows的用戶來說,要正確理解UNIX/Linux的圖形環境可能頗為困難,因為它與純圖形化Windows並沒有多少共同點。Linux實際上是以UNIX為模板的,它繼承了UNIX核心設計精簡、高度健壯的特點,無論系統結構還是操作方式也都與UNIX無異。簡單點說,你可以將Linux看成是UNIX類系統中的一個特殊版本。我們知道,微軟Windows在早期只是一個基於DOS的應用程式,用戶必須首先進入DOS後再啟動Windows進程,而從Windows 95開始,微軟將圖形界面作為默認,命令行界面只有在需要的情況下才開啟,後來的Windows 98/Me實際上也都隸屬於該體系。但在Windows 2000之後,DOS被徹底清除,Windows成為一個完全圖形化的作業系統。但UNIX/Linux與之不同,強大的命令行界面始終是它們的基礎,在上個世紀八十年代中期,圖形界面風潮席捲作業系統業界,麻省理工學院(MIT)也在1984年與當時的DEC公司合作,致力於在UNIX系統上開發一個分散式的視窗環境,這便是大名鼎鼎的“X Window System”項目。不過,X Window(請注意不是X Windows)並不是一個直接的圖形操作環境,而是作為圖形環境與UNIX系統核心溝通的中間橋樑,任何廠商都可以在X Window基礎上開發出不同的GUI圖形環境。MIT和DEC的目的只在於為UNIX系統設計一套簡單的圖形框架,以使UNIX工作站的螢幕上可顯示更多的命令,對於GUI的精美程度和易用程度並不講究,畢竟那時候能夠熟練操作UNIX的都是些習慣命令行的高手,根本不在乎GUI存在與否。1986年,MIT正式發行X Window,此後它便成為UNIX的標準視窗環境。緊接著,全力負責發展該項目的X協會成立,X Window進入了新階段。與此同步,許多UNIX廠商也在X Window原型上開發適合自己的UNIX GUI視窗環境,其中比較著名的有SUN與AT&T聯手開發的“Open Look”、IBM主導下的OSF(Open Software Foundation,開放軟體基金會)開發出的“Motif”。而一些愛好者則成立了非營利的XFree86組織,致力於在X86系統上開發X Window,這套免費且功能完整的X Window很快就進入了商用UNIX系統中,且被移植到多種硬體平台上,後來的Linux也直接從該項目中獲益。當然,這些早期的X Window環境都設計得很簡單,許多GUI元素模仿於微軟的Windows,但X Window擁有一個小小的創新:當滑鼠指針移動到某個視窗時,該視窗會被自動激活,用戶無需點擊便能夠直接輸入,簡化了用戶操作—這個特性在後來的KDE和Gnome中也都得到完整的繼承。
由於必須以UNIX系統作為基礎,X Window注定只能成為UNIX上的一個套用,而不可能與作業系統核心高度整合,這就使得基於X Window的圖形環境不可能有很高的運行效率,但它的優點在於擁有很強的設計靈活性和可移植性。X Window從邏輯上分為三層:最底層的X Server(X伺服器)主要處理輸入/輸出信息並維護相關資源,它接受來自鍵盤、滑鼠的操作並將它交給X Client(X客戶端)作出反饋,而由X Client傳來的輸出信息也由它來負責輸出;最外層的X Client則提供一個完整的GUI界面,負責與用戶的直接互動(KDE、Gnome都是一個X Client),而銜接X Server與X Client的就是“X Protocol(X通訊協定)”、它的任務是充當這兩者的溝通管道。儘管UNIX廠商採用相同的X Window,但由於終端的X Client並不相同,這就導致不同UNIX產品搭配的GUI界面看起來非常不一樣。
MIT的X Window推出之後就成為UNIX圖形界面的標準,但在商業套用上分為兩大流派:一派是以Sun公司領導的Open Look陣營,一派是IBM/HP領導的OSF(Open Software Foundation)的Motif,雙方經過多年競爭之後,Motif最終獲得領先地位。不過,Motif只是一個帶有視窗管理器(Window-Manager)的圖形界面庫(Widget-Library),而非一個真正意義上的GUI界面。經過協商之後IBM/HP與SUN決定將Motif與Open Look整合,並在此基礎上開發出一個名為“CDE(Common Desktop Environment) ”的GUI作為UNIX的標準圖形界面。 遺憾的是,Motif/CDE和UNIX系統的價格都非常昂貴,而當時微軟的Windows發展速度驚人並率先在桌面市場占據壟斷地位,CDE則一直停留在UNIX領域提供給root系統管理員使用,直到今天情況依然如此。
在介紹KDE和Gnome之前,我們有必要先來介紹UNIX/Linux圖形環境的概念。對一個習慣Windows的用戶來說,要正確理解UNIX/Linux的圖形環境可能頗為困難,因為它與純圖形化Windows並沒有多少共同點。Linux實際上是以UNIX為模板的,它繼承了UNIX核心設計精簡、高度健壯的特點,無論系統結構還是操作方式也都與UNIX無異。簡單點說,你可以將Linux看成是UNIX類系統中的一個特殊版本。我們知道,微軟Windows在早期只是一個基於DOS的應用程式,用戶必須首先進入DOS後再啟動Windows進程,而從Windows 95開始,微軟將圖形界面作為默認,命令行界面只有在需要的情況下才開啟,後來的Windows 98/Me實際上也都隸屬於該體系。但在Windows 2000之後,DOS被徹底清除,Windows成為一個完全圖形化的作業系統。但UNIX/Linux與之不同,強大的命令行界面始終是它們的基礎,在上個世紀八十年代中期,圖形界面風潮席捲作業系統業界,麻省理工學院(MIT)也在1984年與當時的DEC公司合作,致力於在UNIX系統上開發一個分散式的視窗環境,這便是大名鼎鼎的“X Window System”項目。不過,X Window(請注意不是X Windows)並不是一個直接的圖形操作環境,而是作為圖形環境與UNIX系統核心溝通的中間橋樑,任何廠商都可以在X Window基礎上開發出不同的GUI圖形環境。MIT和DEC的目的只在於為UNIX系統設計一套簡單的圖形框架,以使UNIX工作站的螢幕上可顯示更多的命令,對於GUI的精美程度和易用程度並不講究,畢竟那時候能夠熟練操作UNIX的都是些習慣命令行的高手,根本不在乎GUI存在與否。1986年,MIT正式發行X Window,此後它便成為UNIX的標準視窗環境。緊接著,全力負責發展該項目的X協會成立,X Window進入了新階段。與此同步,許多UNIX廠商也在X Window原型上開發適合自己的UNIX GUI視窗環境,其中比較著名的有SUN與AT&T聯手開發的“Open Look”、IBM主導下的OSF(Open Software Foundation,開放軟體基金會)開發出的“Motif”。而一些愛好者則成立了非營利的XFree86組織,致力於在X86系統上開發X Window,這套免費且功能完整的X Window很快就進入了商用UNIX系統中,且被移植到多種硬體平台上,後來的Linux也直接從該項目中獲益。當然,這些早期的X Window環境都設計得很簡單,許多GUI元素模仿於微軟的Windows,但X Window擁有一個小小的創新:當滑鼠指針移動到某個視窗時,該視窗會被自動激活,用戶無需點擊便能夠直接輸入,簡化了用戶操作—這個特性在後來的KDE和Gnome中也都得到完整的繼承。
由於必須以UNIX系統作為基礎,X Window注定只能成為UNIX上的一個套用,而不可能與作業系統核心高度整合,這就使得基於X Window的圖形環境不可能有很高的運行效率,但它的優點在於擁有很強的設計靈活性和可移植性。X Window從邏輯上分為三層:最底層的X Server(X伺服器)主要處理輸入/輸出信息並維護相關資源,它接受來自鍵盤、滑鼠的操作並將它交給X Client(X客戶端)作出反饋,而由X Client傳來的輸出信息也由它來負責輸出;最外層的X Client則提供一個完整的GUI界面,負責與用戶的直接互動(KDE、Gnome都是一個X Client),而銜接X Server與X Client的就是“X Protocol(X通訊協定)”、它的任務是充當這兩者的溝通管道。儘管UNIX廠商採用相同的X Window,但由於終端的X Client並不相同,這就導致不同UNIX產品搭配的GUI界面看起來非常不一樣。
MIT的X Window推出之後就成為UNIX圖形界面的標準,但在商業套用上分為兩大流派:一派是以Sun公司領導的Open Look陣營,一派是IBM/HP領導的OSF(Open Software Foundation)的Motif,雙方經過多年競爭之後,Motif最終獲得領先地位。不過,Motif只是一個帶有視窗管理器(Window-Manager)的圖形界面庫(Widget-Library),而非一個真正意義上的GUI界面。經過協商之後IBM/HP與SUN決定將Motif與Open Look整合,並在此基礎上開發出一個名為“CDE(Common Desktop Environment) ”的GUI作為UNIX的標準圖形界面。 遺憾的是,Motif/CDE和UNIX系統的價格都非常昂貴,而當時微軟的Windows發展速度驚人並率先在桌面市場占據壟斷地位,CDE則一直停留在UNIX領域提供給root系統管理員使用,直到今天情況依然如此。
以上摘自個人電腦。