Linux桌面兩大陣營GNOME與KDE的戰爭

2021-04-07 09:14:08 字數 4664 閱讀 2720

圖1 x window系統架構示意圖

kde專案的發起

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系統管理員使用,直到今天情況依然如此。

圖2 kde 1.0儘管設計粗糙,但它奠定了整個kde專案的基礎。

在上個世紀九十年代中期,以開源模式推進的linux在開發者中已經擁有廣泛的影響力。儘管x window已經非常成熟,也有不少基於x window的圖形介面程式,但它們不是未具備完整的圖形操作功能就是**高昂(如cde),根本無法用於linux系統中。如果linux要獲得真正意義上的突破,一套完全免費、功能完善的gui就非常必要。2023年10月,圖形排版工具lyx的開發者、一位名為matthias ettrich的德國人發起了kde(kool desktop environment)專案,與之前各種基於x window的圖形程式不同的是,kde並非針對系統管理員,它的使用者群被鎖定為普通的終端使用者,matthias ettrich希望kde能夠包含使用者日常應用所需要的所有應用程式元件,例如web瀏覽器、電子郵件客戶端、辦公套件、圖形影象處理軟體等等,將unix/linux徹底帶到桌面。當然,kde符合gpl規範,以免費和開放源**的方式執行。

kde專案發起後,迅速吸引了一大批高水平的自由軟體開發者,這些開發者都希望kde能夠將linux系統的強大能力與舒適直觀的圖形介面聯結起來,建立最優秀的桌面作業系統。經過艱苦卓絕的共同努力,kde 1.0終於在2023年的7月12日正式推出。以當時的水平來說,kde 1.0在技術上可圈可點,它較好的實現了預期的目標,各項功能初步具備,開發人員已經可以很好地使用它了。當然,對使用者來說,kde 1.0遠遠比不上同時期的windows 98來得平易近人,kde 1.0中大量的bug更是讓人頭疼。但對開發人員來說,kde 1.0的推出鼓舞人心,它證明了kde專案開源協作的開發方式完全可行,開發者對未來充滿信心。有必要提到的是,在kde 1.0版的開發過程中,suse、caldera等linux商業公司對該專案提供資金上的支援,在2023年,ibm、corel、redhat、富士通-西門子等公司也紛紛對kde專案提供資金和技術支援,自此kde專案走上了快速發展階段並長期保持著領先地位。但在2023年之後,gnome不僅開始在技術上超越前者,也獲得更多商業公司的廣泛支援,kde喪失主導地位,其原因就在於kde選擇在qt平台的基礎上開發,而qt在版權方面的限制讓許多商業公司望而卻步。

qt是乙個跨平台的c++圖形使用者介面庫,它是挪威trolltech公司的產品。基本上,qt同x window上的 motif、open look、gtk等圖形介面庫和windows平台上的 mfc、owl、vcl、atl是同型別的東西,但qt具有優良的跨平台特性(支援windows、linux、各種unix、os390和qnx等)、物件導向機制以及豐富的api,同時也可支援2d/3d渲染和opengl api。在當時的同類圖形使用者介面庫產品中,qt的功能最為強大,matthias ettrich在發起kde專案時很自然選擇了qt作為開發基礎,也正是得益於qt的完善性,kde的開發進展頗為順利,例如netscape5.0在從motif移植到qt平台上僅僅花費了5天時間。這樣,當kde 1.0正式發布時,外界看到的便是乙個各項功能基本具備的gui操作環境,且在後來的發展中,qt/kde一直都保持領先優勢。有必要提到的是,trolltech公司實質性參與了kde專案,如前面提到netscape 5.0 的移植工作就是由trolltech的程式設計師完成,而kde工程的發起者、matthias ettrich本人也在2023年離開學術界加入trolltech,並一直擔任該公司的軟體開發部主管,因此trolltech公司對於kde專案擁有非常強的影響力(當然不能說絕對掌握,畢竟kde開發工作仍然是由自由程式設計師協作完成的)。我們前面提到,kde採用gpl規範進行發行,但底層的基礎qt卻是乙個不遵循gpl的商業軟體,這就給kde上了一道無形的枷鎖並帶來可能的法律風險。一大批自由程式設計師對kde專案的決定深為不滿,它們認為利用非自由軟體開發違背了gpl的精神,於是這些gnu的狂熱信徒兵分兩路:其中一部分人去製作harmonny,試圖重寫出一套相容qt的替代品,這個專案雖然技術上相對簡單,但卻沒有獲得kde專案的支援;另一路人馬則決定重新開發一套名為「gnome(gnu network object environment)」的圖形環境來替代kde,一場因為思想分歧引發的gui之戰開始了。

圖3 qt是整個kde的基礎,它採用雙重授權。

圖5 kde2.0擁有豐富的應用軟體,實力明顯超過gnome。

圖4 gtk庫是gnome專案的基礎,它完全採用gpl授權因此獲得廣泛支援。

gnome獲得商業公司的支援

進入2023年後,kde與gnome依然保持快速發展,kde陣營分別在2月份和8月份推出3.2、3.3版本,gnome則在3月和9月推出2.6和2.8,兩者的版本公升級步幅旗鼓相當。到3.3版本的kde已經非常成熟,它擁有包括koffice、konqueror瀏覽器、kmail套件、kde即時訊息在內的一大堆應用軟體,且多數都達到可用標準,功能上完全不亞於windows 2000。而gnome更是在此期間高速發展,gnome 2.8版本的水準完全不遜於kde 3.3,而且此時兩者的技術特點非常鮮明:gnome講究簡單、高效,執行速度比kde更快;kde則擁有華麗的介面和豐富的功能,使用習慣也與微軟windows較類似。商業支援方面,redhat還是gnome的鐵桿支持者,ibm、sun、novell、hp等重量級企業也都選擇gnome,而kde的主要支持者暫時為suse、mandrake以及中科紅旗、共創開源在內的國內發行商。2023年,厚積薄發的gnome開始全面反超,3月份的2.10、9月份的2.12讓gnome獲得近乎脫胎換骨的變化,加之openoffice.org 2.0、firefox 1.5等重磅軟體的出台讓gnome如虎添翼;kde方面則分別在3月和11月推出3.4和3.5,其中kde 3.5也逼近完美境地,我們認為它的水平與gnome 2.12不相伯仲。但kde在商業支援方面每況愈下,novell在11月宣布旗下所有的商業性發行版將使用gnome作為預設桌面(仍會對kde libraries提供支援),suse linux桌面版則會對kde與gnome提供同等支援,而社群支援的opensuse仍將使用kde體系—但誰都明白gnome將成為novell的重心,kde只是活躍在免費的自由發行版中。

圖7 kde3.5可實現半透明和陰影效果,介面華麗、軟體豐富。

圖6 gnome 1.4解決了穩定性問題,功能初步完善。

雖然在商業方面存在競爭,gnome與kde兩大陣營的開發者關係並沒有變得更糟,相反他們都意識到支援對方的重要性。如果kde和gnome無法實現應用程式的共享,那不僅是巨大的資源浪費,而且將導致linux出現根本上的**。事實上,無論是gnome的開發者還是kde的開發者,他們都有著共同的目標,就是為linux開發最好的圖形環境,只是因為理念之差而分屬不同的陣營。kde與gnome的商業競爭對開發者們其實沒有任何利益影響(只有trolltech會受影響),基於共同的目的,kde與gnome陣營大約從2023年開始逐漸相互支援對方的程式—只要你在kde環境中安裝gtk庫,便可以執行gnome的程式,反之亦然。經過兩年多的努力,kde和gnome都已經實現高度的互操作性,兩大平台的程式都是完全共享的,例如你可以在gnome中執行konqueror瀏覽器、koffice套件,也可以在kde中執行evolution和openoffice.org,只不過執行本地程式的速度和視覺效果會好一些。在未來一兩年內,kde和gnome將進行更高等級的融合,但兩者大概永遠都不會合為一體—gnome還是gnome,kde也還是kde。或許你覺得這是浪費開發資源而且很可能讓使用者無從選擇,但我們告訴你這就是linux,它與windows和mac os x有著絕然不同的文化。更何況全球有越來越多自由軟體開發者(所以不必擔心浪費開發資源),linux使用者的使用偏好也不可能總是相同,保持兩個並行發展的圖形環境專案沒有什麼不妥。至於gnome專案和kde專案的開發者們,曾經因為理念不同而吵得天翻地覆,但他們現在盡釋前嫌,因為所有人都意識到,他們其實彼此需要,團結在一起可以讓他們在硬體廠商面前有更大的發言權,從而促使廠商在推出windows驅動的同時也提供相應的linux版本,而且彼此可以相互借鑑優秀的設計,確保linux擁有乙個最出色的圖形桌面環境。

圖8 gnome 2.12保持慣有的簡潔和高效

kde與gnome走向融合

2023年,gnome與kde都站在乙個全新的起點,獲得商業公司和更多自由程式設計師支援的gnome躊躇滿志,將超越的目光放在mac os x系統。也許你認為windows vista的半透明和三維介面將linux遠遠拋在後面,那麼我們告訴你這是絕對的誤解,gnome目前已經可以實現類似的效果,novell在前幾個月就向外界作過詳細的演示。當前的kde也可支援相當不錯的半透明和陰影特效,技術上毫不落後於gnome。現在,gnome專案朝向革命性的3.0版本邁進,kde則致力於開發同樣有重大技術變革的4.0,這兩個成果大概在2023年可進入現實,屆時linux系統將具備更卓越的可用性。也就是說,linux桌面應用的全面鋪開指日可待,而除了開發者和廠商的努力外,如何向企業和個人使用者推廣以及提供培訓將是廠商要考慮的主要問題,我們今天恰好站在這樣的一道門檻上。

volatile的兩大性質

一 可見性 public class public void load catch interruptedexception e 3 println,也可以跳出while迴圈 能 synchronized 可見性保證 記憶體屏障 4 shortwait 休眠納秒 休眠1秒 能 shortwait 1...

兩大Linux標準組織合併 叫板微軟Red Hat

本周一,開放源 開發實驗室 open source developer labs,osdl 和自由標準組織 free standards group,fsg 宣布合併成立新機構,名為linux 會 linux foundation 以增加二者的影響。新組織掌門吉姆說,兩家作用相似和許多成員相同的機構...

兩大搜尋 tu的遍歷

在我們遇到的一些問題當中,有些問題我們不能夠確切的找出數學模型,即找不出一種直接求解的方法,解決這一類問題,我們一般採用搜尋的方法解決。搜尋就是用問題的所有可能去試探,按照一定的順序 規則,不斷去試探,直到找到問題的解,試完了也沒有找到解,那就是無解,試探時一定要試探完所有的情況 實際上就是窮舉 深...