歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

逐步邁向成熟的Linux操作系統桌面

  在桌面Linux的一陣泡沫過去以後,國內的GNU/Linux廠商們把自己的市場戰略方向紛紛轉向了嵌入式系統開發、定制服務以及OEM市場,希望藉此來獲取利潤,等待市場的復蘇。因為在嵌入和定制服務方面正是

  GNU/Linux的優勢所在。OEM則是通過在台式PC上預裝桌面版的GNU/Linux操作系統來代替Windows操作系統,所以有不少Linux廠商試圖在被Windows占領已久的市場上搶得一席之地。最近,我們從一部分Linux廠商公布的數據中得知,該OEM市場的增長情況非常可觀。期待桌面Linux大放光彩的人們一邊為之慶幸,一邊又不得不冷靜下來細想:GNU/Linux究竟發展到了什麼樣的程度?它還需要做哪些方面的工作才能走向大規模的市場化?

  自由的利弊與Linux架構

  不管桌面Linux市場如何變化,自由軟件世界的開發者們總是充滿熱情,他們按照GNU的思想把GNU/Linux和許多自由軟件發展下去,一點點地走向成熟,就像以前Linux在服務器市場獲得的巨大成功一樣。自由是Linux開發中最大的優點,同時也是最大的不足。優點在於,Linux的開發可以不受太多外界因素的影響,從而得到非常健康的發展;缺點是開發者們由於對外界經常采取不太理會的態度,從而在軟件的人性化方面會讓普通用戶很難接受,這會導致缺乏OEM廠商的支持。一種操作系統軟件不管擁有多少先進的特性,如果缺少與用戶的親和力,則很難取得成功。

  好在GNU/Linux從起步到現在,其每一個新版本的發布以及最近的很多跡象都在表明GNU/Linux在軟件界面的人性化方面不斷進步著。下面我們將從一個完整的Linux系統架構來分析其發展趨勢。在這之前,我們先需要從圖1中了解桌面Linux的系統架構。

  在圖1中可以看到,圖形化的Linux是一個類Unix操作系統。必需采用X-Windows,繞過系統核心直接操作硬件,才能實現高效率的圖形能力。與其他桌面操作系統一樣,桌面化的Linux也需要大量應用程序的支持,而當前Linux欠缺的就是易用的桌面環境和其上的應用程序,以及對各種在桌面系統中常用硬件的支持。

  GNU/Linux核心的變化

  當GNU/Linux的核心發展到2.4版本的時候,其結構已經非常清晰和穩定。在接下來的時間裡,GNU/Linux的開發者們會不斷地為其增加新的驅動程序和新的特性,包括輸入設備和多媒體設備的支持。他們希望GNU/Linux除了能在服務器市場一展身手以外,還能真正地成為一個可以放到桌面上來使用的操作系統,也就是它不但需要增強圖形界面的易用性,系統底層的功能也要能跟上。這從其核心的2.4.5到2.5版本的發展就能看出來,在更加明確地為設備分類,穩定已有代碼的同時,也協調好了類Unix的設備訪問方法,保持了系統和軟件的一致性,同時也大范圍地增加了系統所能支持的硬件設備種類。作為整個操作系統的最底層,這些都為更好地支持基於其上的各種應用做好了鋪墊。

  圖形界面的優化

  在發展的初期,GNU/Linux與Windows明顯不同的是,它作為一個類Unix的操作系統不是最注重圖形界面的易用性,而是把前期開發的重點放在了內存管理、進程調度等系統的基礎部分。由於受類Unix系統的傳統影響,GNU/Linux在核心裡面並沒有直接實現桌面系統所必需的圖形驅動能力,這對於今天已經離不開圖形化界面的普通用戶來說,簡直是不可思議的。雖然GNU/Linux核心的2.2版本之後都提供了FrameBuffer Console設備,但是也只能提供一些簡單的圖形能力。值得慶幸的是,與傳統的Unix系統一樣,自由軟件世界的X窗口系統——XFree86給GNU/Linux賦予了實現圖形用戶界面的能力。

  XFree86通過繞過操作系統直接訪問硬件的方式來驅動圖形設備,獲得高效率的加速能力,從這一點來說它非常像一個圖形設備驅動程序而不是一個窗口系統,但同時又提供簡單的ATOM管理和消息處理的能力,讓開發者不至於工作在最原始的環境下。而整個XFree86基於TCP/IP的C/S 結構,能夠很輕易地把系統的處理分布化。同時X窗口系統開放的工業標准正是其在Unix世界長盛不衰的原因,但是XFree86卻不具備現在大多數流行的圖形化操作系統所必需的桌面管理和提供快速開發接口的功能。開發XFree86下的應用程序,很多細節完全需要由開發者自己來完成,這造成了在GNU/Linux平台下應用軟件的缺乏。所以在XFree86上的應用一直局限於某些專業領域,自由軟件世界的開發者們看到了這些不足,在發展過程中,KDE/GNOME(the K Desktop Environment /GNU,s Network Object Model Environment,K桌面環境/GNU網絡對象模型環境)就應運而生。

 




  基於應用的桌面環境

  我們在各個時期的GNU/Linux發行版本中可以看到,從GNU/Linux上發展起來的KDE/GNOME和其前輩CDE一樣,都能夠在X窗口系統下提供良好的開發接口和友好的圖形用戶界面(不同的是,KDE的底層調用的是商業化的QT,而GNOME是完全開放的GLIB;KDE比較注重界面的華麗,GNOME則比較實用),這不但能夠給Linux用戶提供一個完整的圖形界面,同時還給軟件開發提供了一條捷徑。事實上針對KDE/GNOME也已湧現出越來越多的應用程序。

  隨著時間的推移,開發者們越來越意識到圖形界面的重要性,他們在開發過程中融入了很多其他圖形化操作系統的優點,包括Windows的統一資源管理和一致的用戶界面、Mac OS易用的菜單條等。這已經在新版本的GNOME 2/KDE3裡體現出來了(圖2),我們從中可以看到,除了與早期的軟件保持兼容以外,包括打印、圖形支持和集中式資源管理都已經初具雛形。而在筆者試用的過程中,新版本不管是易用性還是外觀,各方面比起以前的版本都有了非常大的提高。這意味著我們不久就可以看到一些應用界面非常接近現在流行的圖形化操作系統的全新GNU/Linux桌面操作系統。

  另外,現在有一些像Sun公司這樣的大廠商介入到GNU/Linux下應用程序的開發中,而且不斷地有各種基於Linux的應用軟件計劃在啟動,這會使用戶最常使用到的字處理、多媒體播放、實時通信和網絡浏覽器等軟件越來越豐富,功能越來越完善(圖3)。

  GNU/Linux標准化的道路

  最近,幾家比較大的廠商扛著建立GNU/Linux標准的旗號,想聯合其他相關廠商成立聯盟,以讓GNU/Linux走向標准化,從而推動這個行業的發展。那麼,標准化的意義何在?

  標准化固然有不少很好的地方:可以讓開發者更好地去適應平台,並讓更多的軟件廠商加入這個陣營,更好地發掘GNU/Linux的價值,畢竟GNU/Linux的很多推廣工作是由這些廠商來做的。但是從目前的情況看來,這些舉動更多地是想保護各個廠商自己的利益,對自由軟件世界不能帶來多大的影響。首先,在剛開始建立標准的時候就出現了兩大陣營,這樣會不會造成惡性競爭?其次,在自由軟件世界裡面,很多開放的、沒有標准化的約定都得到大多數開發者的遵守,這也是GNU/Linux能發展到今天的一個最重要的條件; 另外,雖然Red Hat是很多自由軟件開發計劃的支持者,但是大多數開發者對這些所謂的標准陣營沒有任何的響應。甚至在他們的網站上找不到任何的相關消息,這也意味著他們不關心這些舉動帶來的影響。因為GNU/Linux畢竟是一個很特殊的領域。為什麼這樣說呢?因為開放和自由對於自由軟件世界的擁護者來說,Linux並不是惟一的目標,他們眼中的開放更多的是指開放的系統平台,也就是說各種不同平台間的軟件能在源代碼這一層做到兼容。這樣可以經常最大程度地避免在編寫代碼過程中的重復勞動。很多自由軟件在這些方面都做得非常好,包括GNOME/KDE,它們除了能在Linux下工作以外,還可以在現存的絕大多數操作系統下運行,甚至包括Windows.

  今後的主要任務

  要想把GNU/Linux桌面化,軟件廠商就要去協調硬件廠商,通過合作開發讓更多的設備能夠在GNU/Linux下工作,並且提供很好的系統管理工具,消除用戶對GNU/Linux“難用”的看法。如果能夠聯合一些國內外的獨立軟件開發商,發展基於GNU/Linux的應用軟件,就能完全體現出GNU/Linux的價值,讓更多的用戶接受GNU/Linux.

  在國內,雖然有很多廠商推出所謂的工作站/桌面版本,充其量也就是削減了服務軟件,在易用性方面和Windows相比還是遠遠不夠。也許國內的廠商並沒有意識到這一點,在其桌面Linux發行版中主要是做了中文化方面的工作,其他方面還需要相當多的努力。如果國內的Linux廠商迅速地掌握好時機,推出能夠勝任桌面工作的GNU/Linux發行版本,就會慢慢讓GNU/Linux在國內的桌面化應用進入一個實質階段。

  關於GNU/Linux

  GNU是在1984年由Richard M. Stallman發起的自由軟件計劃,旨在開發一個自由的類Unix平台。GNU是Gnu Not Unix 遞歸的縮寫,意指以Unix為基礎,但又不是Unix.在GNU的核心Hurd的開發過程中,Linux核心和GNU的工具合並,成為一個完整的操作系統,而且所有的開發完全基於GNU的開發環境,被合稱為GNU/Linux.

 



  關於GNU/Linux

  GNU是在1984年由Richard M. Stallman發起的自由軟件計劃,旨在開發一個自由的類Unix平台。GNU是Gnu Not Unix 遞歸的縮寫,意指以Unix為基礎,但又不是Unix.在GNU的核心Hurd的開發過程中,Linux核心和GNU的工具合並,成為一個完整的操作系統,而且所有的開發完全基於GNU的開發環境,被合稱為GNU/Linux.

 



Copyright © Linux教程網 All Rights Reserved