您好,登錄后才能下訂單哦!
在介紹KDE和Gnome之前,我們有必要先來介紹UNIX/Linux圖形環境的概念。對一個習慣Windows的用戶來說,要正確理解UNIX/Linux的圖形環境可能頗為困難,因為它與純圖形化Windows并沒有多少共同點。Linux實際上是以UNIX為模板的,它繼承了UNIX內核設計精簡、高度健壯的特點,無論系統結構還是操作方式也都與UNIX無異。簡單點說,你可以將Linux看成是UNIX類系統中的一個特殊版本。我們知道,微軟Windows在早期只是一個基于DOS的應用程序,用戶必須首先進入DOS后再啟動Windows進程,而從Windows95開始,微軟將圖形界面作為默認,命令行界面只有在需要的情況下才開啟,后來的Windows98/Me實際上也都隸屬于該體系。但在Windows2000之后,DOS被徹底清除,Windows成為一個完全圖形化的操作系統。但UNIX/Linux與之不同,強大的命令行界面始終是它們的基礎,在上個世紀八十年代中期,圖形界面風潮席卷操作系統業界,麻省理工學院(MIT)也在1984年與當時的DEC公司合作,致力于在UNIX系統上開發一個分散式的視窗環境,這便是大名鼎鼎的“XWindowSystem”項目。不過,XWindow(請注意不是XWindows)并不是一個直接的圖形操作環境,而是作為圖形環境與UNIX系統內核溝通的中間橋梁,任何廠商都可以在XWindow基礎上開發出不同的GUI圖形環境。MIT和DEC的目的只在于為UNIX系統設計一套簡單的圖形框架,以使UNIX工作站的屏幕上可顯示更多的命令,對于GUI的精美程度和易用程度并不講究,畢竟那時候能夠熟練操作UNIX的都是些習慣命令行的高手,根本不在乎GUI存在與否。1986年,MIT正式發行XWindow,此后它便成為UNIX的標準視窗環境。緊接著,全力負責發展該項目的X協會成立,XWindow進入了新階段。與此同步,許多UNIX廠商也在XWindow原型上開發適合自己的UNIXGUI視窗環境,其中比較著名的有SUN與AT&T聯手開發的“OpenLook”、IBM主導下的OSF(OpenSoftwareFoundation,開放軟件基金會)開發出的“Motif”。而一些愛好者則成立了非營利的XFree86組織,致力于在X86系統上開發XWindow,這套免費且功能完整的XWindow很快就進入了商用UNIX系統中,且被移植到多種硬件平臺上,后來的Linux也直接從該項目中獲益。當然,這些早期的XWindow環境都設計得很簡單,許多GUI元素模仿于微軟的Windows,但XWindow擁有一個小小的創新:當鼠標指針移動到某個窗口時,該窗口會被自動激活,用戶無需點擊便能夠直接輸入,簡化了用戶操作—這個特性在后來的KDE和Gnome中也都得到完整的繼承。
由于必須以UNIX系統作為基礎,XWindow注定只能成為UNIX上的一個應用,而不可能與操作系統內核高度整合,這就使得基于XWindow的圖形環境不可能有很高的運行效率,但它的優點在于擁有很強的設計靈活性和可移植性。XWindow從邏輯上分為三層:最底層的XServer(X服務器)主要處理輸入/輸出信息并維護相關資源,它接受來自鍵盤、鼠標的操作并將它交給XClient(X客戶端)作出反饋,而由XClient傳來的輸出信息也由它來負責輸出;最外層的XClient則提供一個完整的GUI界面,負責與用戶的直接交互(KDE、Gnome都是一個XClient),而銜接XServer與XClient的就是“XProtocol(X通訊協議)”、它的任務是充當這兩者的溝通管道。盡管UNIX廠商采用相同的XWindow,但由于終端的XClient并不相同,這就導致不同UNIX產品搭配的GUI界面看起來非常不一樣。
KDE項目的發起
MIT的XWindow推出之后就成為UNIX圖形界面的標準,但在商業應用上分為兩大流派:一派是以Sun公司領導的OpenLook陣營,一派是IBM/HP領導的OSF(OpenSoftwareFoundation)的Motif,雙方經過多年競爭之后,Motif最終獲得領先地位。不過,Motif只是一個帶有窗口管理器(Window-Manager)的圖形界面庫(Widget-Library),而非一個真正意義上的GUI界面。經過協商之后IBM/HP與SUN決定將Motif與OpenLook整合,并在此基礎上開發出一個名為“CDE(CommonDesktopEnvironment)”的GUI作為UNIX的標準圖形界面。遺憾的是,Motif/CDE和UNIX系統的價格都非常昂貴,而當時微軟的Windows發展速度驚人并率先在桌面市場占據壟斷地位,CDE則一直停留在UNIX領域提供給root系統管理員使用,直到今天情況依然如此。
在上個世紀九十年代中期,以開源模式推進的Linux在開發者中已經擁有廣泛的影響力。盡管XWindow已經非常成熟,也有不少基于XWindow的圖形界面程序,但它們不是未具備完整的圖形操作功能就是價格高昂(如CDE),根本無法用于Linux系統中。如果Linux要獲得真正意義上的突破,一套完全免費、功能完善的GUI就非常必要。1996年10月,圖形排版工具Lyx的開發者、一位名為MatthiasEttrich的德國人發起了KDE(KoolDesktopEnvironment)項目,與之前各種基于XWindow的圖形程序不同的是,KDE并非針對系統管理員,它的用戶群被鎖定為普通的終端用戶,MatthiasEttrich希望KDE能夠包含用戶日常應用所需要的所有應用程序組件,例如Web瀏覽器、電子郵件客戶端、辦公套件、圖形圖像處理軟件等等,將UNIX/Linux徹底帶到桌面。當然,KDE符合GPL規范,以免費和開放源代碼的方式運行。
KDE項目發起后,迅速吸引了一大批高水平的自由軟件開發者,這些開發者都希望KDE能夠將Linux系統的強大能力與舒適直觀的圖形界面聯結起來,創建最優秀的桌面操作系統。經過艱苦卓絕的共同努力,KDE1.0終于在1998年的7月12日正式推出。以當時的水平來說,KDE1.0在技術上可圈可點,它較好的實現了預期的目標,各項功能初步具備,開發人員已經可以很好地使用它了。當然,對用戶來說,KDE1.0遠遠比不上同時期的Windows98來得平易近人,KDE1.0中大量的Bug更是讓人頭疼。但對開發人員來說,KDE1.0的推出鼓舞人心,它證明了KDE項目開源協作的開發方式完全可行,開發者對未來充滿信心。有必要提到的是,在KDE1.0版的開發過程中,SuSE、Caldera等Linux商業公司對該項目提供資金上的支持,在1999年,IBM、Corel、RedHat、富士通-西門子等公司也紛紛對KDE項目提供資金和技術支持,自此KDE項目走上了快速發展階段并長期保持著領先地位。但在2004年之后,GNOME不僅開始在技術上超越前者,也獲得更多商業公司的廣泛支持,KDE喪失主導地位,其原因就在于KDE選擇在Qt平臺的基礎上開發,而Qt在版權方面的限制讓許多商業公司望而卻步。
Qt是一個跨平臺的C++圖形用戶界面庫,它是挪威TrollTech公司的產品。基本上,Qt同XWindow上的Motif、OpenLook、GTK等圖形界面庫和Windows平臺上的MFC、OWL、VCL、ATL是同類型的東西,但Qt具有優良的跨平臺特性(支持Windows、Linux、各種UNIX、OS390和QNX等)、面向對象機制以及豐富的API,同時也可支持2D/3D渲染和OpenGLAPI。在當時的同類圖形用戶界面庫產品中,Qt的功能最為強大,MatthiasEttrich在發起KDE項目時很自然選擇了Qt作為開發基礎,也正是得益于Qt的完善性,KDE的開發進展頗為順利,例如Netscape5.0在從Motif移植到Qt平臺上僅僅花費了5天時間。這樣,當KDE1.0正式發布時,外界看到的便是一個各項功能基本具備的GUI操作環境,且在后來的發展中,Qt/KDE一直都保持領先優勢。有必要提到的是,TrollTech公司實質性參與了KDE項目,如前面提到Netscape5.0的移植工作就是由TrollTech的程序員完成,而KDE工程的發起者、MatthiasEttrich本人也在1998年離開學術界加入TrollTech,并一直擔任該公司的軟件開發部主管,因此TrollTech公司對于KDE項目擁有非常強的影響力(當然不能說絕對掌握,畢竟KDE開發工作仍然是由自由程序員協作完成的)。我們前面提到,KDE采用GPL規范進行發行,但底層的基礎Qt卻是一個不遵循GPL的商業軟件,這就給KDE上了一道無形的枷鎖并帶來可能的法律風險。一大批自由程序員對KDE項目的決定深為不滿,它們認為利用非自由軟件開發違背了GPL的精神,于是這些GNU的狂熱信徒兵分兩路:其中一部分人去制作Harmonny,試圖重寫出一套兼容Qt的替代品,這個項目雖然技術上相對簡單,但卻沒有獲得KDE項目的支持;另一路人馬則決定重新開發一套名為“GNOME(GNUNetworkObjectEnvironment)”的圖形環境來替代KDE,一場因為思想分歧引發的GUI之戰開始了。
GNOME與KDE交替發展
GNOME項目于1997年8月發起,創始人是當時年僅26歲的墨西哥程序員MiguelDeIcaza。關于GNOME的名稱有一個非常有趣的典故:Miguel到微軟公司應聘時對它的ActiveX/COMmodel頗有興趣,GNOME(NetworkObjectModel)的名稱便從此而來。GNOME選擇完全遵循GPL的GTK圖形界面庫為基礎,因此我們也一般將GNOME和KDE兩大陣營稱為GNOME/GTK和KDE/Qt。與Qt基于C++語言不同,GTK采用較傳統的C語言,雖然C語言不支持面向對象設計,看起來比較落后,但當時熟悉C語言的開發者遠遠多于熟悉C++的開發者。加之GNOME/GTK完全遵循GPL版權公約,吸引了更多的自由程序員參與,但由于KDE先行一步,且基礎占優勢,一直都保持領先地位。1999年3月,GNOME1.0在匆忙中推出,穩定性奇差無比,以至于許多人笑稱GNOME1.0還沒有KDE1.0Alpha穩定,而同期的KDE1.1.2無論在穩定性還是功能上都遠勝于GNOME,直到10月份推出的GNOME1.0.55版才較好解決了穩定性問題,給GNOME重新贏回聲譽。由于思想分歧,當時GNOME的開發者與KDE的開發者在網絡上吵得天翻地覆,幾乎達到相互仇視的地步。但不管怎么說,GNOME都跌跌撞撞邁出了第一步,盡管那時KDE幾乎是所有Linux發行版默認的桌面環境。
GNOME的轉機來自于商業公司的支持。當時Linux業界的老大RedHat很不喜歡KDE/Qt的版權,在GNOME項目發起后RedHat立刻對其提供支持。為了促進GNOME的成熟,RedHat甚至專門派出幾位全職程序員參與GNOME的開發工作,并在1998年1月與GNOME項目成員攜手成立了RedHat高級開發實驗室。1999年4月,Miguel與另一名GNOME項目的核心成員共同成立HelixCode公司為GNOME提供商業支持,這家公司后來更名為Ximian,它事實上就成為GNOME項目的母公司,GNOME平臺上的Evolution郵件套件便出自該公司之手。進入2000年之后,一系列重大事件接連發生,首先,一批從蘋果公司出來的工程師成立Eazel公司,為GNOME設計用戶界面和Nautilus(鸚鵡螺)文件管理器。同年8月,GNOME基金會在Sun、RedHat、Eazel、HelixCode(Ximian)的共同努力下正式成立,該基金會負責GNOME項目的開發管理以及提供資金,Miguel本人則擔任基金會的總裁。此時,GNOME獲得許多重量級商業公司的支持,如惠普公司采用GNOME作為HP-UX系統的用戶環境,SUN則宣布將StarOffice套件與GNOME環境相整合,而GNOME也將選擇OpenOffice.org作為辦公套件,IBM公司則為GNOME共享了SashXB極速開發環境。同時,GNOME基金會也決定采用Mozilla作為網頁瀏覽器。KDE陣營也毫不示弱,在當年10月份推出萬眾矚目的KDE2.0。KDE2.0堪稱當時最龐大的自由軟件,除了KDE平臺自身外,還包括Koffice辦公套件、Kdevelop集成開發環境以及Konqueror網頁瀏覽器。盡管這些軟件都還比較粗糙,但KDE2.0已經很好實現了MatthiasEttrich成立KDE項目的目標。也是在這個月,TrollTech公司決定采用GPL公約來發行Qt的免費版本,希望能夠以此贏得開發者的支持。這樣,Qt實際上就擁有雙重授權:如果對應的Linux發行版采用免費非商業性的方式進行發放,那么使用KDE無須向TrollTech交納授權費用;但如果Linux發行版為盈利性的商業軟件,那么使用KDE時必須獲得授權。由于TrollTech是商業公司且一直主導著KDE的方向,雙許可方式不失為解決開源與盈利矛盾的好辦法。TrollTech宣稱,雙許可制度徹底解決了KDE在GPL公約方面的問題,但RedHat并不喜歡,RedHat不斷對GNOME項目提供支持,希望它能夠盡快走向成熟,除RedHat之外的其他Linux廠商暫時都站在KDE這一邊,但他們同時也在發行版中捆綁了GNOME桌面。
在2001-2002年,火熱一時的Linux運動開始陷入低潮期,幾乎所有的廠商都發現桌面Linux版本不可能盈利,而易用性的不足也讓業界不看好Linux進入桌面的前途。但在服務器市場,Linux發展勢頭非常迅猛,直接對UNIX和WindowsServer造成威脅。不過,秉承自由軟件理念的開發者們并不理會外界的論調,他們一直將Linux桌面化作為目標,GNOME項目和KDE項目都在這期間獲得完善發展。2001年4月,GNOME1.4發布,它修正了之前版本的Bug,功能也較為完善,但在各方面與KDE依然存在差距;同年8月,KDE發展到2.2版本。2002年4月,KDE跳躍到3.0版本,它以Qt3.0為基礎,各項功能都頗為完備,具備卓越的使用價值;兩個月后,GNOME陣營也推出2.0版本,它基于更完善的GTK2.0圖形庫。進入到2003年后,KDE與GNOME進入真正意義上的技術較量。1月份,KDE3.1推出,而GNOME2.4則在隨后的2月份推出,兩大平臺都努力進行自我完善。也是在這一年,Linux商業界出現一系列重大的并購案:1月份,Novell公司宣布收購德國的SuSELinux,而SuSELinux是地位僅次于RedHat的全球第二大Linux商業企業;8月,Novell接著將GNOME的母公司Ximian收歸旗下。這兩起并購案讓Novell成為實力與RedHat不相上下的強大Linux企業,而Novell和RedHat就成為能夠影響Linux未來的兩家企業。在圖形環境上,SuSE一向選擇KDE,并在KDE身上投入相當多的精力,在被Novell并購后,SuSE的桌面發行版盡管還側重于KDE,但同樣不喜歡Qt授權的Novell已經開始向GNOME遷移。KDE2.0擁有豐富的應用軟件,實力明顯超過GNOME。
進入2004年后,KDE與GNOME依然保持快速發展,KDE陣營分別在2月份和8月份推出3.2、3.3版本,GNOME則在3月和9月推出2.6和2.8,兩者的版本升級步幅旗鼓相當。到3.3版本的KDE已經非常成熟,它擁有包括KOffice、Konqueror瀏覽器、Kmail套件、KDE即時消息在內的一大堆應用軟件,且多數都達到可用標準,功能上完全不亞于Windows2000。而GNOME更是在此期間高速發展,GNOME2.8版本的水準完全不遜于KDE3.3,而且此時兩者的技術特點非常鮮明:GNOME講究簡單、高效,運行速度比KDE更快;KDE則擁有華麗的界面和豐富的功能,使用習慣也與微軟Windows較類似。商業支持方面,RedHat還是GNOME的鐵桿支持者,IBM、SUN、Novell、HP等重量級企業也都選擇GNOME,而KDE的主要支持者暫時為SuSE、Mandrake以及中科紅旗、共創開源在內的國內發行商。2005年,厚積薄發的GNOME開始全面反超,3月份的2.10、9月份的2.12讓GNOME獲得近乎脫胎換骨的變化,加之OpenOffice.org2.0、Firefox1.5等重磅軟件的出臺讓GNOME如虎添翼;KDE方面則分別在3月和11月推出3.4和3.5,其中KDE3.5也逼近完美境地,我們認為它的水平與GNOME2.12不相伯仲。但KDE在商業支持方面每況愈下,Novell在11月宣布旗下所有的商業性發行版將使用GNOME作為默認桌面(仍會對KDELibraries提供支持),SuSELinux桌面版則會對KDE與GNOME提供同等支持,而社區支持的OpenSuSE仍將使用KDE體系—但誰都明白GNOME將成為Novell的重心,KDE只是活躍在免費的自由發行版中。
到這里,我們發現一個頗富戲劇性的結局:致力于商業化的KDE反而失去了重量級商業企業的支持,盡管一些中小規模的Linux企業因技術能力問題將繼續支持KDE,但它的商業前途有限。而遵循GPL、完全不以商業化為目的的GNOME反而在該領域大獲成功。許多Linux發燒友都不明白為什么優秀的KDE會受到如此待遇,其實道理非常簡單—沒有哪一家重量級企業喜歡受制于人,也許KDE的Qt不需要很多授權費,但誰知道TrollTech公司以后會不會漫天要價?既然有免費的GNOME可以選擇,那為什么不呢?基于此種理由,RedHat、Novell兩家最大的Linux企業和SUN都采用GNOME,而它們對GNOME的鼎力支持也讓該項目可擁有足夠多的技術保證,為今后的高速發展奠定堅實的基礎。需要糾正一個可能的誤解,雖然Novell收購了Ximian,但RedHat并沒有受到太大影響,雙方對GNOME的貢獻都是相互共享的,因為GNOME以GPL自由版權公約發行,合作即共贏。至于KDE項目,雖然它失去這些商業巨頭的支持,但沒有能力轉換桌面的中小Linux廠商將繼續追隨KDE,而且在非商業的社區Linux發行版中,KDE依然有強大的生命力。
雖然在商業方面存在競爭,GNOME與KDE兩大陣營的開發者關系并沒有變得更糟,相反他們都意識到支持對方的重要性。如果KDE和GNOME無法實現應用程序的共享,那不僅是巨大的資源浪費,而且將導致Linux出現根本上的分裂。事實上,無論是GNOME的開發者還是KDE的開發者,他們都有著共同的目標,就是為Linux開發最好的圖形環境,只是因為理念之差而分屬不同的陣營。KDE與GNOME的商業競爭對開發者們其實沒有任何利益影響(只有TrollTech會受影響),基于共同的目的,KDE與GNOME陣營大約從2003年開始逐漸相互支持對方的程序—只要你在KDE環境中安裝GTK庫,便可以運行GNOME的程序,反之亦然。經過兩年多的努力,KDE和GNOME都已經實現高度的互操作性,兩大平臺的程序都是完全共享的,例如你可以在GNOME中運行Konqueror瀏覽器、Koffice套件,也可以在KDE中運行Evolution和OpenOffice.org,只不過執行本地程序的速度和視覺效果會好一些。在未來一兩年內,KDE和GNOME將進行更高等級的融合,但兩者大概永遠都不會合為一體—GNOME還是GNOME,KDE也還是KDE。或許你覺得這是浪費開發資源而且很可能讓用戶無從選擇,但我們告訴你這就是Linux,它與Windows和MacOSX有著絕然不同的文化。更何況全球有越來越多自由軟件開發者(所以不必擔心浪費開發資源),Linux用戶的使用偏好也不可能總是相同,保持兩個并行發展的圖形環境項目沒有什么不妥。至于GNOME項目和KDE項目的開發者們,曾經因為理念不同而吵得天翻地覆,但他們現在盡釋前嫌,因為所有人都意識到,他們其實彼此需要,團結在一起可以讓他們在硬件廠商面前有更大的發言權,從而促使廠商在推出Windows驅動的同時也提供相應的Linux版本,而且彼此可以相互借鑒優秀的設計,確保Linux擁有一個最出色的圖形桌面環境。
KDE與GNOME走向融合
2006年,GNOME與KDE都站在一個全新的起點,獲得商業公司和更多自由程序員支持的GNOME躊躇滿志,將超越的目光放在MacOSX系統。也許你認為WindowsVista的半透明和三維界面將Linux遠遠拋在后面,那么我們告訴你這是絕對的誤解,GNOME目前已經可以實現類似的效果,Novell在前幾個月就向外界作過詳細的演示。當前的KDE也可支持相當不錯的半透明和陰影特效,技術上毫不落后于GNOME。現在,GNOME項目朝向革命性的3.0版本邁進,KDE則致力于開發同樣有重大技術變革的4.0,這兩個成果大概在2007年可進入現實,屆時Linux系統將具備更卓越的可用性。也就是說,Linux桌面應用的全面鋪開指日可待,而除了開發者和廠商的努力外,如何向企業和個人用戶推廣以及提供培訓將是廠商要考慮的主要問題,我們今天恰好站在這樣的一道門檻上。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。