X Window、GNOME和KDE之间的关系
X Window、GNOME和KDE之間的關系
分類:?Linux2011-04-25 23:06?3570人閱讀?評論(1)?收藏?舉報 桌面環境文件管理器unix圖形linuxqt目錄(?)[+]
X Window,
即X Windows圖形用戶接口,它并不是一個軟件,而是一個協議(protocal),這個協議定義一個系統成品所必需具備的功能(就如同 TCP/IP, DECnet 或IBM的 SNA,這些也都是協議,定義軟件所應具備的功能)。任何系統能滿足此協議及符合X協會其他的規范,便可稱為X。
------------------------------------------------------------------------------------------
簡介 X Window系統(X Window System,也常稱為X11或X)是一種以位圖方式顯示的軟件窗口系統。最初是1984年麻省理工學院的研究,之后變成UNIX、類UNIX、以及OpenVMS等操作系統所一致適用的標準化軟件工具包及顯示架構的運作協議。X Window系統通過軟件工具及架構協議來建立操作系統所用的圖形用戶界面,此后則逐漸擴展適用到各形各色的其他操作系統上。現在幾乎所有的操作系統都能支持與使用X。更重要的是,今日知名的桌面環境——GNOME和KDE也都是以X Window系統為基礎建構成的。
由于X只是工具包及架構規范,本身并無實際參與運作的物理,所以必須有人依據此標準進行開發撰寫。如此才有真正可用、可運行的物理,始可稱為實現體。目前依據X的規范架構所開發撰寫成的實現體中,以X Org最為普遍且最受歡迎。X Org所用的協議版本,X11,是在1987年9月所發布。而今最新的參考實現(參考性、示范性的實現體)版本則是X11 Release 7.5(簡稱:X11R7.5),而此項目由X Org基金會所領導,且是以MIT授權和相似的授權許可的自由軟件。
------------------------------------------------------------------------------------------
X Window的歷史 由于改進工作持續進行,新的版本(version)不斷產生(當軟件和前一版不相容時,新的版本便產生了)。在1985年。制定了任何人只要付版權費便可使用X的授權許可。以下為一些最近的記事:
第10版
1985年底。直到此時,在MIT以外的人和組織,才開始對X有實質的貢獻。
第一套商業化的X產品DEC于1986年1月推出 VAXstation-II/GPX。
第10版第3次發行:1986年 2月。從此時起,X開始流傳于世,人們把它移植到許多新的系統上。
第10版第4次發行:1986年11月。
1987年 1月在MIT舉辦第一次X技術會議。
在1986年,第10版X無法滿足所有的需求已非常明顯。MIT 和 DEC便從事于完整協議(protocal)的重新設計。這就是X第11版(這就是所謂的X11)。
第11版
第 1次發行:1987年 9月。
X協會成立:MIT X協會成立的目的是為了研究發展及控制標準。
第二次X技術會議:1988年 1月。
第11版第 2次發行:1988年 3月。
第11版第 3次發行:1988年10月。
-------------------------------------------------------------------------------------------
X-Window、GNOME和KDE之間的關系
至于GNOME、KDE和X-Window之間的關系,可以簡單地認為GNOME和KDE是并列關系,如圖5-1所示,它們都是基于X-Window的桌面環境,通過X-Window其才能運行。
有人說GNOME或KDE僅是一個桌面管理器而已,筆者認為這樣稱呼或定義是不恰當的,這不僅僅是因為它們比桌面管理器要復雜和強大很多,更在于它大多支持其他桌面管理器,以及包含完整的應用環境以及開發工具。以GNOME為例,它除了可以搭配多種桌面管理器之外,還集成了豐富的應用,以及強大完備的開發工具和環境。
所以說,GNOME和KDE是基于X-Window經過不同組織進行整合之后的桌面環境。至于GNOME和KDE的區別,下面就來介紹一下GNOME和KDE的主要區別。
遵循的協議不同
KDE項目是2006年由德國自由程序員發起的,采用了挪威奇趣(Troll Tech)公司的Qt圖形界面庫作為基礎開發平臺,C++是其主要開發語言。KDE項目發展很快,1999年KDE 1.1.2發行以后,基本成為Linux“事實”上的桌面標準。然而,由于KDE項目使用Qt庫,其遵循的軟件版權協議QPL不是真正的自由軟件協議,所以這在開源軟件界引發了一個很大的非議,如以純自由軟件構成的Linux發行版Debian就拒絕使用KDE。
當然,最終用戶并不關心軟件許可的問題,對他們來說易用性和強大的功能才是硬道理,所以KDE還是得到了廣泛的應用。為了與KDE相抗衡,世界最大的自由軟件組織GNU(自由軟件基金會)發起了GNOME桌面環境項目。GNOME采取了完全松散的自由軟件開發模式,整個項目由一系列獨立的軟件項目組成,這種松散的開發模式使得GNOME項目進展緩慢。所以1999年推出的GNOME 1.0與KDE 1.1.2相比在各個方面都相差很多,直到2000年推出GNOME 1.2后才有了很大的進步。然而與即將推出的KDE 2.0相比,GNOME在許多方面還非常不完善,如沒有一個統一的辦公套件,沒有類似KDE下Konqueror一樣強大的、集文件管理器和網絡瀏覽器等功能于一身的文件管理程序。更為麻煩的是,GNOME還缺乏成熟的電子郵件、個人信息助理等實用程序,而且與KDE相比,GNOME的各個程序之間的集成度、操作及風格還不夠統一和完善,不同程序之間的風格及操作差別都很大。當時的一切似乎都對KDE有利而對GNOME不利。所以當時很多人都在擔心GNOME會半路夭折。
與KDE不同,GNOME采用了符合GPL自由軟件協議的GDK、GTK作為其底層開發平臺,也就是說GNOME是真正意義上的GPL自由軟件,商業公司無須支付任何費用就可以自由使用它??梢哉f,這是商業公司選擇GNOME而不選KDE的首要因素。當然,僅僅因為這個原因還不足以令人滿意,要想成為名副其實的桌面環境標準,在技術上也必須有過硬表現才行。
底層技術平臺不同
為了實現各個軟件之間甚至基于網絡的組件復用,GNOME采用了通用的CORBA組件模型,而KDE雖然前期也采用了CORBA技術,但后來由于速度和復雜性等原因,逐漸轉而采用了自己獨有的KPart組件模型。這使得KDE在與其他軟件的兼容性方面大打折扣。
GNOME由于堅持使用CORBA,使得它在這方面具有相當大的優勢。為了更好地使用CORBA模型,GNOME在ORBit(一套輕量級的CORBA實現)基礎上開發了Bonobo組件層,不僅簡化了編程工作,而且實現了靈活的組件復用。GNOME甚至能夠通過網絡使用其他平臺下的CORBA組件。這一點真正體現了GNOME名稱的精髓所在。
最后,為大家拓展一下思路,雖然GNOME最初是為Linux開發的,但是它具有極其優秀的跨平臺能力。目前GNOME至少可以支持Solaris、Linux等大主流UNIX和類UNIX操作系統,Sun的Solaris 10的JDS就是一個GNOME的典型應用,相信不久的將來GNOME就能夠支持包括Windows在內的所有常用系統平臺。
--------------------------------------------------------------------------------------------
?
GNOME和KDE兩種圖形界面有什么區別?
KDE與GNOME是很類似的:它們在本質上都是桌面環境,必須和窗口管理器配合使用,以提供類似
于MS-Windows、CDE和MacOS的用戶界面。所以他們都擁有圖形化的文件管理器。在文件管理器中看到
的對象可以是文件夾、子文件夾、程序、鏈接等。
KDE和GNOME都擁有許多的“本族程序”?!氨咀宄绦颉钡囊馑际?#xff1a;這些程序所用的庫與桌面環境
用的庫相同,并且能夠由桌面環境來定義程序與外界的交互方式。這些“本族程序”涵蓋的范圍很廣
,雖然大部分的程序看起來還很粗糙、沒有特色,但這些程序使用起來還是很容易上手的。
雖然KDE和GNOME是兩個不同的桌面環境,但是你會發現他們協作起來并沒有太大的障礙。你可以
在GNOME中運行KDE的kppp或是Konqueror。當然,這樣會喪失一小部分功能,比如無法在GNOME中實現
Konqueror的拖拽功能。另外,你必須同時在內存中加載QT和GTK+。
KDE和GNOME都是開放源代碼的,他們都能很好的運行主流的Linux應用程序。
在網上人們對KDE和GNOME的評價并不能反映真實的情況。事實上,KDE比GNOME早推出一年,并且
以精致、穩定的性能將其領先地位保留至今。與當時KDE的商業版QT庫相對應,GNOME一開始就是免費
的。偶傾向于GNOME是因為它是真正意義上的開放源代碼軟件,而不是因為它的技術而去使用它。
話雖這樣說,但是對于一般用戶,KDE和GNOME差不了多少。它們都提供了功能強大的圖形界面,
操作起來甚至比命令行還要高效。它們并不是最好的桌面環境(相比之下MacOS要更好一些),不過它
們發展的很快,預計在以后不久就可以超過那些古老的桌面環境。
一些人聲稱GNOME不如KDE穩定,但實際上卻恰恰相反,GNOME相對來說要健壯許多,總能順利地
執行任務。
兩個系統的用戶界面差別并不明顯,但是一些潛在的東西起著至關重要的作用。就拿鼠標來說吧
,在KDE所推崇的就是通過單擊就可以打開程序,無論這個程序的圖標是在桌面上、面板上還是在文
件管理器中。而GNOME呢,在面板中是單擊,在其他地方卻要雙擊才行。很難說哪一種方式更好。KDE
的方式似乎更統一一些,使用起來很舒服。但對于已經養成了雙擊習慣的人,一時忘記而不小心連擊
兩下,就會打開兩個窗口,這是一件很惱人的事情。
KDE的文件管理器Konqueror比GNOME的nautilus更加的精密和成熟。除了進行一般的文件管理,
Konqueror還是一個網頁瀏覽器,并且支持cookies。它采用插件式體系結構,這樣就為在Konqueror
中嵌入其他應用程序提供了可能。比如說,當你點擊PDF格式的文件時,Konqueror會調用 PDF閱讀器
,并將其內嵌到自己的框架里,看起來渾然一體。這一點,GNOME的文件管理器就做不到。
另一方面,GNOME的窗口管理器(Sawfish)較為成熟。KDE的窗口管理器可以在缺省方式下工作
的很好,假如你修改了其中的選項,很可能會導致一些故障。比如,你在KDE中對文件進行托拽時,
會彈出一個對話框,問你是要拷貝、移動還是鏈接。但是這個對話框經常會消失無蹤,這是因為窗口
管理器的鼠標聚焦功能出了問題??赡芤嚭芏啻尾拍芡凶С晒?。在GNOME中就很少會發生這樣的事
。在用戶界面元素的行為管理方面,GNOME的控制面板提供了出色的控制。
理論上,KDE和GNOME與其各自的窗口管理器都是分離的,所以能夠選擇不同的窗口管理器而不會
喪失功能。實際上更換GNOME窗口管理器比KDE的要容易許多,只要在控制面板上更換選項就可以了。
GNOME的靈活性相矛盾的是:窗口管理器往往會提供一些與GNOME本身相依賴、甚至是相沖突的特性。
比如說,GNOME的總體外觀由桌面主題來控制,但這些桌面主題由兩個完全獨立的控制中心來進行選
擇。一個是GNOME的,一個是Sawfish或者別的什么窗口管理器的。KDE的控制面板更統一一些。
GNOME的Sawfish有許多KDE窗口管理器所缺乏的特性。比如說,Sawfish可以輕松地修改快捷鍵。
此外,Sawfish還能記住某一窗口的大小和位置,下一次運行時,窗口會和上一次一模一樣。是不是
比每次運行都呈現缺省狀態要好得多?而KDE看起來有一些呆板。
KDE所用的QT,比GNOME用的GTK+在菜單嵌套方面強得多。選擇子菜單時,GNOME經常會把父菜單
丟掉,你必須小心翼翼地一層一層打開子菜單。在KDE中你可以把鼠標隨意地在菜單間滑動(甚至是
對角線),而不必擔心會丟掉父菜單。這是KDE引以為榮的主要特性之一。
GNOME對標準Unix網頁瀏覽器(Netscape)的支持比較好,并支持瀏覽器、文件管理器、Gnome-
terminal之間的拖拽。雖然在Konqueror中也可以進行類似的操作,但是并不很徹底。GNOME還可以在
OpenOffice中大跳“拖拽舞蹈”。
說了這么多,你究竟會選擇KDE還是GNOME呢?
KDE適合那些想擁有友好的用戶界面,但是又不太懂如何設定細節的那些用戶。若能夠穩定起來
,KDE將為你提供非常好的服務,完成你的正當需求。KDE正在證明著一個開放源代碼的團隊是如何創
造一個界面友好的桌面環境的。
GNOME比KDE穩定的多,至少現在是這樣。GNOME背后的哲學思想與Unix的哲學是一致的:每一個
程序完成它的單一任務,給用戶所有他所需要的,以創造一個完美的、適合他的環境。雖然要費大量
時間周旋于眾多的設置 選項,但是能創造一個更適合你的環境。GNOME的分布式對象模型更是下一代
的GUI原型。
偶在自己的機器上用了一段時間的KDE,然后換成了GNOME(當然本本上是用fvwm2)。GNOME也并
不完美,但偶認為花時間作一些調整是值得的。不過,KDE和GNOME發展地都非常快,很難說以后偶用
的是什么啊(現在偶有點心儀KDE3.1的那個透明主題了^_^但GNOME身后的APPLE工程師們給偶使用
GNOME強力的心理支持,所以~~~)。
總結
以上是生活随笔為你收集整理的X Window、GNOME和KDE之间的关系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 对层级聚类树进行模块分割,定位基因在哪个
- 下一篇: 机器学习 | 早期停止法原理及Pytho