X視窗系統
![本頁使用了標題或全文手工轉換](http://178.128.105.246/cars-http-upload.wikimedia.org/wikipedia/commons/thumb/c/cd/Zh_conversion_icon_m.svg/35px-Zh_conversion_icon_m.svg.png)
![]() | 此條目需要更新。 (2013年12月14日) |
![]() | 此條目的引用需要清理,使其符合格式。 |
![]() | |
開發者 | X.Org基金會 |
---|---|
當前版本 | |
操作系統 | 適用於多種作業系統 |
類型 | 視窗系統 |
許可協議 | MIT授權 |
網站 | x.org |
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.8(簡稱:X11R7.8),而此專案由X.Org基金會所領導,且是以MIT授權和相似的授權許可的自由軟體。[3]
![](http://178.128.105.246/cars-http-upload.wikimedia.org/wikipedia/commons/thumb/f/fc/GNOME_3.32.1.png/220px-GNOME_3.32.1.png)
X的C/S模式和網絡透明性
[編輯]X能為GUI環境提供基本的框架:在屏幕上描繪、呈現圖像與移動程式視窗,同時也受理、執行、及管理電腦與滑鼠、鍵盤的互動程序。不過,X並沒有管轄到使用者介面的部份,而是由其他以X為基礎的實現體來負責,也因為如此,以X為基礎環境所開發成的視覺樣式非常地多;不同的程式可能有截然不同的介面呈現。
X採用C/S的架構模型,由一個X服務器與多個X客戶端程序進行通訊,服務器接受對於圖形輸出(窗口)的請求並反饋用戶輸入(鍵盤、鼠標、觸摸屏),服務器可能是一個能顯示到其他顯示系統的應用程序,也可能是控制某個PC的視頻輸出的系統程序,也可能是個特殊硬件。
X的一大特點在於「網路透明性」[4]:應用程式(「客戶端」應用程式)所執行的機器,不一定是使用者本地的機器(顯示的「伺服器」)。X中所提及的「客戶端」和「伺服器」等字眼用詞也經常與人們一般想定的相反,「伺服器」反而是在使用者本地端的自有機器上執行,而非是在遠端的另一部機器上執行。
![](http://178.128.105.246/cars-http-upload.wikimedia.org/wikipedia/commons/thumb/0/03/X_client_server_example.svg/250px-X_client_server_example.svg.png)
服務器和客戶端之間的通信協議的運作對計算機網絡是透明的:客戶端和服務器可以在同一台計算機上,也可以不是,或許其架構和操作系統也不同,但都能運行。客戶機和服務器還能夠使用安全連接在互聯網上安全地通訊。
為了使遠端客戶程序顯示到本地服務器,用戶一般需要啟動一個終端窗口和到達遠端計算機的telnet或者ssh,令其顯示到用戶計算機,(例如:在運行bash的遠端計算機上export DISPLAY=[用戶的計算機]:0)然後啟動客戶端。然後客戶端就會連接到本地計算機,並且遠端應用程序會顯示到本地屏幕並被本地輸入設備所控制。與之對應,本地計算機上也可以執行一個連接到遠端計算機的小型代理程序,並在該端啟動與執行自有需求與指定的應用程序。
實際的遠端客戶端的例子有:圖形化管理遠程計算機;在遠端UNIX計算機上運行計算密集的仿真程序並把結果顯示到本地的Windows桌面計算機;用一套顯示器、鍵盤和鼠標控制同時運行在多台計算機上的圖形化軟件。
X的設計原則
[編輯]X的設計原則,早在最初仍在麻省理工學院的階段(1984年)就已經成形,由鮑伯·斯凱夫勒和吉姆·傑提斯兩人制訂出X最早的開發、強化、改進原則,原則大體如下:
- 除非沒有它就無法完成一個真正完整的應用程式,否則不用增加新的功能。
- 決定一個系統不是什麼和決定它是什麼同樣重要。與其去適應整個世界的需要,寧可使得系統可以擴展,如此才能以持續相容的方式來滿足新增需求
- 只有完全沒實例時,才會比只有一個實例來的糟。
- 如果問題沒完全弄懂,最好不要去解決它[5]
- 如果可以透過10%的工作量得到90%的預期效果,應該用更簡單的辦法解決。(參見:更糟就是更好)
- 盡量避免複雜性。
- 提供機制而不是策略,有關使用者介面的開發實現,交給實際應用者自主。
之後,上述原則中的第一項原則在設計X11時被加以修改,修訂成:「除非已有真正的應用程式,真的需要X為其修訂、增訂等支援,否則不會為X增加新功能。」X基本上一直遵循這些原則,參考實現的擴展及改進也是以此原則的角度來著手,也因為奉行上述原則,使至今的最新版X仍能與最初(1987年)發佈的協定標準近乎完全相容。
使用者界面
[編輯]X刻意不去規範應用程式在使用者界面上的具體細節設計,這些包括按鈕、選單和視窗的標題欄等等,這些都由視窗管理器(window manager)、GUI構件工具包、桌面環境(desktop environment)或者應用程序指定的GUI(如POS)等等的用戶軟件來提供,然而因為架構設計上保留了高度的彈性發揮空間,致使多年來X在「基礎、典型、一般性」的使用者介面上,也都有數目驚人的多樣性選擇。
在X的系統架構中,視窗管理器用於控制視窗程式的位置和外觀,其界面類似Microsoft的Windows或者Macintosh(例如:KDE的KWin或者GNOME的Metacity),不過在控制機制上卻截然不同(例如:X提供的基本視窗管理器twm)。視窗管理器可能只是個框架(例如:twm),但也可能提供了全套的桌面環境功能(例如:Enlightenment)。
雖然不同的X使用者介面可以有很大的差距、差異,然而絕大多數的用戶在使用X時,多是用已經高度全套化的桌面環境,桌面環境不僅有視窗管理器,還具備各種應用程式以及協調一致的界面,目前最流行的桌面環境是GNOME和KDE,此兩者已普遍使用於Linux作業系統上,而UNIX所用的標準桌面環境多是通用桌面環境CDE,然而也有些UNIX也開始採行GNOME。
此外,X桌面環境及組件雖然極其多樣,但同時也需要保持相容性與互通性,關於此則有freedesktop.org積極與努力地維持各種不同X桌面環境的相容性,使相競態勢下仍不失X的相容本色。
實現
[編輯]X的標準實現是X.Org的參考實現。由於其許可證比較寬鬆,出現了大量自由的或者專有的實現。商業的UNIX商家傾向於採用參考實現並使之適應其硬件,例如高度定製並加入專有的擴展。
直到2004年,在自由的類UNIX系統上最常見的X變體是XFree86。顧名思義,它源於X的386兼容的PC機的移植,到了上個(20)世紀90年代末期成為X的技術創新的主要來源和X開發的事實標準[6]。但是從2004年起,最流行的X服務器是XFree86的分支—X.Org的參考實現。
雖然X一般和UNIX聯繫在一起,X服務器也能夠自然地存在於其他圖形環境。DEC/COMPAQ/HP的OpenVMS操作系統用X加上CDE做為其標準桌面環境,稱為DECwindows。蘋果公司的Mac OS X v10.3(研發時的代號:Panther,美洲豹)包括Apple X11,它基於XFree86 4.3和X11R6.6,並能和Mac OS X更好地集成。
Microsoft的Windows本身不包含對X的支持,但是有不少第三方的實現可用,其中有自由軟件如Cygwin/X、Xming、WeirdMind[7]和WeirdX,另外專有、專屬性的也有Xmanager、X-Deep/32、X-Win32、WiredX和Exceed。它們多用於控制遠程X客戶端。
當X寄生在其他窗口系統(例如:Windows或Mac OS)時,X系統一般是「rootless,無根」的,也就是說:宿主(主體)窗口系統擔當根窗口(背景和相關菜單)並管理寄生(客體)的X窗口的位置。但是也有些服務器,例如Exceed,能夠在宿主系統上創建根窗口使得遠程客戶端能夠做為分離的窗口在其上顯示。
X終端機
[編輯]X終端機(X Terminal)是做為僅運行X服務器的瘦客戶機的專用硬件。該架構廣泛用於為了使多人同時使用同一個大型服務器而構造終端。這也符合MIT的計劃的初衷。
X終端搜索網絡,使用X顯示管理器產生允許其運行客戶機的主機列表。初始主機需要執行X顯示管理器。
專用的X終端機(硬件)現在已經不太常見了,現在經常使用個人計算機並搭配執行X終端機的實效模擬程式(Emulator)來完成相同的功能,過去(1990年代初期)業界在推行X終端機時也將其稱為「窮人的UNIX工作站」。
X的局限和批評
[編輯]在《UNIX痛恨者手冊》一書中有個章節為:"X視窗所造成的災禍(The X-Windows Disaster)"[8],該書用此整個章節的篇幅內容來討論X在20世紀80年代末到同世紀90年代初的問題與困擾。
視頻硬件
[編輯]PC
[編輯]在PC世界裡,需要第三方硬件的驅動的非主流的個人計算機軟件往往不能支持所有為Microsoft Windows出品的設備。X Window也不例外,它的實現往往缺少較新(或者非常舊)的顯示卡高效驅動程序。
X.org和XFree86這樣的開源X實現中,開發社區通過復用已有代碼,可以很快更新改進驅動程序,從而能夠為較陳舊的或者很通用的硬件開發出高質量的驅動。
高性能圖形計算目前是頂級的圖形功能,一般由廠家通過專有驅動來實現,而且往往優先考慮是Windows(最大的消費市場)。由於高性能視頻市場的顯赫地位,一些硬件/驅動廠商會考慮通過將技術細節變為商業秘密或者將其中創新變為軟件專利,而這阻礙了開源驅動的實現。
其他設備
[編輯]在PC機之外的世界裡,很多X的實現是為非傳統設備如PDA和手機而編寫(或者移植)的。這樣的實現必須提供為在此之上運行的平台提供至少且必須的設備支持。
性能
[編輯]X Window的C/S體系(主從式架構)設計在應用程序和視頻硬件之間多加了一層軟件,導致繪圖效率下降,所以引起了一些批評。因此開發了若干擴展,在設備和客戶機在同一個系統上時,通過在取得適當許可的情況下,以直接訪問設備來改善這一問題。而在Linux上,一些視頻驅動已經部分移入內核以提高效率。
穩定性
[編輯]另一方面,X也被批評為需要(或者提供)了過多的對硬件的直接訪問,從而影響了系統穩定性。行為不良的顯卡驅動(有時也可能是應用程序)甚至能夠導致整個系統崩潰或者重啟;有時即使操作系統仍在工作,它也不能繼續渲染其顯示(這時除了重啟,缺乏好的恢復手段)。
根本上,目前所有的桌面GUI操作系統都提供某種對硬件的直接訪問,支持者認為市場已經證明為了提供圖形性能犧牲一點穩定性是值得的。或許將來隨着技術和用戶的演化這一平衡會有所變化。
用戶界面特徵
[編輯]X刻意不去規範用戶界面和程序之間大多數的通信,導致出現了幾種非常不同的界面,同時程序之間協同困難;而客戶機之間的互操作規範ICCCM以難以正確實現而聞名。後來的標準化嘗試,如Motif和CDE,也於事無補。長久以來這已經成為用戶和程序員的巨大的挫折的源頭[9]。目前,程序的感觀一致性和通信一般是通過為特定桌面環境或者構件工具箱編程來處理,這也避免了直接和ICCCM接觸。
X缺乏良好的網絡與透明的音效系統。當用戶對音效日益期盼時,各種不兼容的音效子系統便出現了。過去,大多數程序員只好忽略網絡問題,簡單地使用本地的並且是OS專用的音效API。第一代客戶機-服務器音效系統有rplay和Network Audio System。而最近的努力產生了EsounD(GNOME)和ARts(KDE),而這也並非標準。而其他系統如Media Application Server則正在開發當中。
直到最近,X也沒有好的顯示印表機所列印的內容(所見即所得)的解決方案。許多X客戶機完全用PostScript實現打印,而這與發送到服務器的幾乎整個是分離的。從X11R6.3起包含了Xprint,此時客戶機已經不錯,但是服務器實現還不行。而從X11R6.8起實現的質量已經很好[10],並且獲得了部件的支持。
網絡
[編輯]X不能像VNC那樣把客戶端的通訊從一個服務器卸下然後再附加到另一個上,但正在進行為X增加此功能的工作,另外還要實現通過VNC實現X服務器的顯示。
X服務器和遠端客戶機之間的網絡通信使用明文的缺陷,讓攻擊者使用封包擷取程式就能夠截獲和閱讀它。這一缺陷一般可以通過在SSH通訊上使用X來解決。
設備中立和客戶機與服務器分離還帶來了一定開銷。X的網絡透明性要求客戶機和服務器分別運行。在其早期,與同時的採取窗口系統嵌入操作系統這一方法的Microsoft Windows和Mac OS比較,這給獨立系統帶來明顯的性能影響。為了獲得可以接受的性能,推薦起碼要4到8MB的RAM,但在1990年代之前,這被認為與Windows或者Mac OS相比太超過了。
當前版本的Windows和Mac OS X Quartz也包含了和X的客戶機/服務器相類似的子系統劃分,其性能和資源需求同X加上KDE或者GNOME也類似。現在主要的消耗來自於客戶機和服務器之間的網絡往返延遲(非協議本身產生的滯後時間),應該通過應用程序的設計來改善[11]。
X的競爭者
[編輯]X在類Unix系統上幾乎完全占據統治地位。但是仍然有人嘗試提供替代品和更多的選擇。過去曾經有昇陽的NeWS,但它遭到市場淘汰;還有NeXT的Display PostScript,它最終轉變為蘋果公司的Mac OS X內的Quartz。
應對對於X的批評的更前衛的嘗試有Berlin/Fresco和Y Window System這樣的完全替換。這些代用品被認為不值得採用,而任何不能做到與X向後兼容的的替代品的可行性都被廣泛置疑。
其他有的競爭者通過直接操作硬件來避免X的開銷,這樣的項目包括DirectFB。但是由於DRI正在致力於使用可靠的內核級接口提供幀緩衝,這些努力可能變成是多餘的。
freedesktop.org所主持的Wayland顯示伺服器同時運用了前述兩種方法處理X的缺點,它完全替換了X的架構而且運用DRI來直接操作硬體。Canonical公司替他旗下的Ubuntu Linux作業系統開發中的Mir是一個類似的計劃。預計支援ARM晶片組和x86架構的電腦。Mir透過Xmir向後兼容使用X Window的程式。
其他以圖形終端服務形式達到網絡透明性的嘗試還有VNC(很底層的系統,通過網絡發送壓縮的位圖;UNIX上的實現包括X服務器)、思傑系統(類似X的Windows軟件)、塔朗泰拉(為網絡瀏覽器提供Java客戶機)和NX技術(用於遠程顯示的節省帶寬的協議)。
歷史
[編輯]前身
[編輯]事實上,早在X出現前已有幾個點陣圖式的軟體顯示系統已經存在,例如帕洛阿爾托研究中心(施樂公司)提出的Alto(1973年)和Star(1981年)、蘋果電腦提出的Lisa(1983年)和麥金塔(1984年)、在UNIX世界也有Athena計畫(1982年)和Rob Pike的Blit終端機(1984年)。
X從1983年之前稱為W Window系統的視窗系統中,推衍出它的名字當作是繼任者(在拉丁字母裡面X直接接在W後面)。W Window系統是運行於V作業系統。W使用一個支援終端機和圖形視窗的網路協定,而伺服器維護顯示的列表。
起源和早期的發展
[編輯]X起初是MIT於1984年的構想,當作為Athena計畫的吉姆·給提和MIT電腦科學實驗室的鮑伯·斯凱夫勒的共同研究。Scheifler需要一個可以使用的顯示環境來對Argus系統除錯。Athena計畫,是DEC、MIT、和IBM之間的聯合計畫,用來提供給需要一個平台獨立顯示系統,可把不同種類多個製造商之系統連結在一起,給所有學生容易存取電腦資源;該視窗系統曾經在卡耐基美隆大學(Carnegie Mellon University,CMU)的Athena計畫中發���過,但是在授權上並可能得到且沒有其他可替代可選擇。
該計畫藉由創立一個可以執行本地應用程式且能夠拜訪遠端資源的協定來解決這個問題。起初在1983年中期W視窗系統的UNIX移植在V作業系統下以1/4速度運行;在1984年5月,Scheilfer將W的同步協定換成非同步協定,以及將顯示列表換成直接模式繪圖,而創造出X的版本1。X是第一個真正的硬體和製造商無關的視窗系統環境。
Scheifler、Gettys和Ron Newman著手工作且X快速地進展著。版本6於1985年1月推出。DEC正準備要推出它的第一個Ultrix工作站,且X是唯一最有希望即時準備妥當的視窗系統。於是X6被移植到MicroVAX的DEC QVSS顯示器。
1985年第二季,為了支持DEC的VAXstation-II/GPX增加了色彩支持,由此形成了版本9。儘管MIT此前已經免費許可X6給一些外部群體,它此時決定在後來演變為MIT授權的許可證下發放對X9和後續版本。X9於1985年9月發布。
布朗大學的一些人將版本9移植到IBM RT/PC,為了讀取RT的非對齊數據對協議做了不兼容的修改,導致1985年稍後發布版本10。1986年有若干外部團體對X提出需要。X10R2發布於1986年1月。1986年2月的X10R3是第一個廣泛發行的版本,DEC和惠普都基於它發布產品。別的一些團體把X10移植到Apollo或者Sun工作站甚至IBM PC/AT。X10的最後一個版本X10R4於1986年12月發布。
儘管X10既有趣又強大,但很明顯在X被更加廣泛地採納前人們期待X的協議更加設備中立;但是這樣大規模地完全重新設計所要求地資源超出了MIT自身能夠提供的。於是DEC的Western Software Laboratory躋身該項目。DEC WSL的Smokey Wallace,另外還有Jim Gettys提議X11在DEC WSL創建,但能夠使用與X9和X10同樣的方法自由獲取。該項目於1986年5月開始,協議部分於8月結束,軟件的alpha(內部)測試於1987年2月就,beta(外部)測試開始於5月。X11最終於1987年9月15日發布。
X11協議設計由Scheifler領導,並在nascent Internet的開放郵件列表上廣泛討論。於是X成為最早的較大規模的開源軟件項目之一。
MIT X協會與X協會公司
[編輯]1987年,隨着X11取得明顯成功,MIT希望免除X的管理責任。但是1987年6月與9個廠商舉行會晤,這些廠商表示他們相信為了避免X由於商業因素而分裂,需要中立方的參與。1988年1月,X協會(X Consortium)做為非營利廠商團體而成立,由Scheifler擔任主管,而Keith Packard擔任高級開發人員,確保X能持續以中立超然的立場提供商業與學術教育所需的開發。此後MIT X協會(MIT X Consortium)完成了一系列重要的X11版本,第一個就是1988年1月的版本2(X11R2)。
1993年,X協會公司(X Consortium, Inc.;非營利性質的公司)做為MIT X協會的接繼者而成立。它於1994年5月16日發布了X11R6。1995年X協會公司接手了UNIX系統的Motif工具箱和CDE(Common Desktop Environment)共通桌面環境。而原有的X協會在發布了最後一個版本的X11R6.3後,於1996年末解散。
開放團體
[編輯]1997年中,X Consortium將X的管理交給開放團體,而它是1996年由開放軟體基金會(OSF)和X/Open合併成立的廠商團體。
開放團體於1998年首次發布X11R6.4。為了確保X開發上的資金,所以X11R6.4偏離傳統的自由許可條款,進而引起爭議[12]。新條款阻礙了許多項目(例如:XFree86)採納它,甚至包括一些廠商。在XFree86以分離相威脅後[13],X11R6.4於1998年9月在傳統許可條款下發布[14],而開放團體的最後一個發布是X11R6.4 patch 3,即第三度發佈的補強程式。
X.Org
[編輯]1999年5月開放團體組建了X.Org。X.Org指導了X11R6.5.1之前的版本發布。在此期間X的開發死氣沉沉[15]。2003年,隨着Linux的流行X被大量安裝。但是X.Org幾乎無聲無息,活躍的開發由XFree86承擔。[16]
XFree86
[編輯]在1989年至1990年期間,托馬斯·羅爾把X11R4分類器上提供的X服務器程序的源代碼下載到運行速度僅為33MHz的386PC上,成功運行了被他稱為是X38611.1的X服務器。這就是XFree86的雛形。
1992年後多數技術創新都發生在XFree86項目中。1999年,由於眾多對於XFree86在Linux上應用有興趣的硬件廠商[17]的推動,並也已經成為最普及的X版本,XFree86成為X.Org的榮譽成員(不付費)[18]。
但是自2003年開始,XFree86內部卻發生了爭論。它被認為太教堂式了,如同它的開發模式;開發者不能通過CVS做提交[19],而廠商被迫維護大量補丁[20]。2003年3月,自從最初的MIT X Consortium結束之後就參加XFree86的Keith Packard由於被認為態度不良而被驅逐[21][22] [23]
X.Org和XFree86開始討論能夠有助於X開發的重組[24][25][26]Jim Gettys早在2000年就熱心於開放的開發模式[27]。Gettys、Packard和其他幾個人開始討論有效管理X和開放式開發的細節。
最終就像是X11R6.4許可證爭議的迴響,XFree86於2004年2月在更加嚴格許可證下發布了4.4。許多依賴X的項目認為該許可證無法接受[28],特別是它和GNU General Public License[29]不兼容。這引起一場論戰,許多人認為到了該對XFree86分叉(fork)[30]的時候了,許多Linux發行版,包括Fedora、Gentoo都紛紛在最新的版本中使用X.Org基金會的發布代替XFree86。
X.Org基金會
[編輯]2004年年初X.Org基金會成立。這意味著X在管理上的根本轉變。1988年以來X的管理者(包括過去的X.Org)都是廠商組織,而基金會由軟件開發者領導,採用依靠外部參與的集市模式的社區開發。其成員身份對個人開放,法人成員則成為贊助者。X.Org還開始同freedesktop.org密切合作。
在XFree86 4.4RC2基礎上合併了X11R6.6的修改,基金會在2004年4月發布了X11R6.7。Gettys和Packard使用了在舊許可證下發布的XFree86的最後的版本,但是強調了開放的開發模式並保持了與GPL的兼容性,從而帶來了很多過去XFree86的開發者[29]。
2004年9月X11R6.8發布。它加入重要的新特性,包括對半透明窗口的初步支持、很多複雜的視覺效果、屏幕放大和簡圖,以及與3D沉浸式顯示系統(例如Sun的Project Looking Glass和Croquet project)集成的設施。而外觀策略由稱為合成管理器(compositing managers)的外部應用程序提供。
停滯
[編輯]X視窗系統標準最新版本截至2024年,已經超過十年,而修正X許多侷限的Wayland,也逐漸步入成熟,並被許多重大 Linux 發行版如 Fedora 和 Ubuntu 選為預設視窗系統[31],成為事實上的下一代視窗系統。RHEL 在發行版本8時預設使用 Wayland,發行版本9時將 Xorg 伺服器標示為以棄用,並預計於版本10正式移除。[32]
未來方向
[編輯]有了X.Org基金會和freedesktop.org,X的開發再度加速。目前和未來的版本都將是可使用的最終產品,而不僅僅是在其上構築產品的骨架。
隨着硬件操作被移入內核,幾乎對視頻硬件的訪問將通過OpenGL(沒有硬件OpenGL的系統使用Mesa 3D)和基層直接渲染模塊進行[33]。這由XFree86 version 4引入並出現在X11R6.7及其後續版本。
參考實現的架構被模塊化,每個獨立模塊做為分離的項目維護。X11R6.9將是單體源代碼而X11R7.0將有具備相同特徵集的模塊化源代碼。[34]。
寫法、稱呼上的誤混
[編輯]「X Window系統」一般也簡稱成「X11」或「X」,而「X Windows」的稱寫方式(類似「Microsoft Windows」的稱寫)並沒有被正式認可,不過這種誤會的稱寫法卻很普遍且經常出現(例如在UNIX痛恨者手冊一書中)。
版本歷史
[編輯]版本 | 發表日期 | 重大變更 |
---|---|---|
X1 | 1984年6月 | 首次使用"X"作為稱呼;基金會自此將W與X區隔。 |
X6 | 1985年1月 | 首版授權給若干的外部公司。 |
X9 | 1985年9月 | 彩色化,以及首次以MIT授權方式發佈。 |
X10 | 1985年後期 | 開始能在IBM RT/PC、IBM PC AT(使用DOS作業系統)以及其他硬體上執行。 |
X10R2 | 1986年1月 | |
X10R3 | 1986年2月 | 首次在MIT之外發佈。uwm使視窗管理員(Window Manager)程式標準化。 |
X10R4 | 1986年12月 | 發佈X10的最後一版。 |
X11 | 1987年9月15日 | 首次發佈現有X Window系統所用的協定(Protocol)。 |
X11R2 | 1988年2月 | 以X協會(Consortium)之名的首次發佈。[35] |
X11R3 | 1988年10月25日 | 發佈XDM。 |
X11R4 | 1989年12月22日 | XDMCP、twm成為標準的視窗管理員(Window Manager)程式,同時強化應用程式、發佈Shape extension及新的字型。 |
X11R5 | 1991年12月5日 | 發佈PEX、Xcms(色彩管理功用)、字型伺服器、X386。 |
X11R6 | 1994年5月16日 | 發佈ICCCM v2.0;Inter-Client Exchange(用戶端間的交換);X Session Management(行程管理程式);X Synchronization extension(同步機制延伸程式);X Image extension(影像延伸程式);XTEST extension(XTEST延伸程式);X Input(輸入用程式);X Big Requests;XC-MISC;變更XFree86。 |
X11R6.1 | 1996年3月14日 | 發佈X Double Buffer extension(雙重緩衝延伸程式);X keyboard extension(鍵盤延伸程式);X Record extension(記錄延伸程式)。 |
X11R6.2 X11R6.3 (代號:百老匯) |
1996年12月23日 | 發佈Web功能功效、LBX。以X協會之名的最後一次發佈。X11R6.2是X11R6.3的子集合(subset),X11R6.3隻針對原有X11R6.1進行特點強化,如XPrint以及可以直書的Xlib,以及可由使用者進行特性定義。[36] |
X11R6.4 | 1998年3月31日 | 發佈Xinerama。[37] |
X11R6.5 | X.org的一次內部發佈,沒有對外公開。 | |
X11R6.5.1 | 2000年8月20日 | |
X11R6.6 | 2001年4月4日 | 修復錯誤、變更XFree86。 |
X11R6.7.0 | 2004年4月6日 | 首次由X.Org基金會進行發佈,此一發佈新增了XFree86 4.4rc2。此外也有完整的末端用戶的發行版本。移除XIE、PEX及libxml2。[38] |
X11R6.8.0 | 2004年9月9日 | 發佈Window translucency、XDamage、分散式多頭X、XFixes、Composite、XEvIE等。[39] |
X11R6.8.1 | 2004年9月17日 | 修補libxpm的安全防護功效。[40] |
X11R6.8.2 | 2005年2月9日 | 修補錯誤,更新驅動程式。[41] |
X11R6.9 X11R7.0 |
2005年12月21日 | 發佈EXA,主要的原始程式碼進行再拆解、組構。以相同的原始程式碼為基礎,衍生出模組化的7.0版以及一體性、團塊性的6.9版。[42] |
X11R7.1 | 2006年5月22日 | 強化EXA,整合Kdrive、AIGLX,強化作業系統及平台的支援性。[43] |
X11R7.2 | 2007年2月15日 | 移除LBX。[44] |
X11R7.3 | 2007年9月6日 | 支持XServer 1.4,輸入hotplug,輸出hotplug (RandR 1.2), DTrace probes, PCI domain [45] |
X11R7.4 | 2008年9月23日 | 支持XServer 1.5.1, XACE, PCI-rework, EXA speed-ups, _X_EXPORT, GLX 1.4,更快的啟動和關機。[46] |
X11R7.5 | 2009年10月26日 | 支持XServer 1.7, XKB 2及Xi 2, XGE, RandR 1.3 (GPU object), MPX, predictable pointer acceleration, DRI內存管理器, DRI2, Shatter,進一步消除過時的libraries及擴展。[47] |
X11R7.6 | 2010年12月20日 | 支持XServer 1.9, Xi 3, XKB 2, UnixWare possible XCB requirement。[48] |
X11R7.7 | 2012年6月6日 | Xorg server 1.10改變, Xorg server 1.11改變, Xorg server 1.12改變; Sync擴展3.1:增加Fence object支持; Xi 2.2多點觸控支持; XFixes 5.0: Pointer Barriers。[49] |
參見
[編輯]- 視窗系統(Windowing system),針對一般的終端機。
- X Window系統的協議和架構
- X Window核心協議,功效機制等制訂、定義。
- X視窗管理器,軟體的建立原則。
- 用戶之間的通訊對話說明書,政策原則標準依據。
- X11顏色名稱:相關的歷史零星事物。
- Xgl,針對較現代、先進的顯示卡而設計的X伺服器架構。
- General Graphics Interface,簡稱GGI。一般性、共通性的圖形、圖像介面。
- AIGLX,全稱Accelerated Indirect GLX,X.Org基金會與Fedora Core Linux社群共同發起的開放原碼專案,被期望以間接方式加速GLX的繪圖著色功效。
- VirtualGL,用於遠端顯示的程式,可顯示立體(3D)呈現的應用程式,且能發揮運用顯示卡的硬體加速著色功效。
- Y Window System,也稱Y-Windows,是一套視窗系統,由一個視窗伺服器與一個用戶端函式庫所組成,同時也是一套可供應用程式撰寫者呼用的應用程式介面。
參考資料
[編輯]- ^ 7.7. [2024年4月5日].
- ^ X11R7.x - X Window System Version 11 Release 7.x ongoing development. [2024年4月5日].
- ^ (英文) X.Org许可协议. X.Org基金會. 2010-12-20 [2011-12-14]. (原始內容存檔於2021-05-13).
- ^ 註:此處所說的「透明性」,更詳細地說是指:「通透性、無形、感受不到、無法察覺差異」等的含意。
- ^ 註:言下之意是:暫時、局部性的解決只會使事情更複雜、更難收拾。
- ^ 參:http://www.xfree86.org/pipermail/forum/2004-February/003945.html (頁面存檔備份,存於網際網路檔案館) (英文)
- ^ 參:WeirdMind的網址:http://www.tam.cornell.edu/Computer.old/remoteaccess/weirdmind/ Archive.is的存檔,存檔日期2004-02-24 (英文)
- ^ 參:http://catalog.com/hopkins/UNIX-haters/x-windows/disaster.html (頁面存檔備份,存於網際網路檔案館) (英文)
- ^ 參:http://lists.debian.org/debian-user/1996/11/msg00637.html (頁面存檔備份,存於網際網路檔案館) (英文)
- ^ 參:http://xprint.mozdev.org/docs/Xprint_FAQ.html#contra_xprint (頁面存檔備份,存於網際網路檔案館) (英文)
- ^ 參:http://keithp.com/~keithp/talks/lbxpost/paper.html (頁面存檔備份,存於網際網路檔案館) (英文)
- ^ 參:http://old.lwn.net/lwn/1998/0409/xstate.html (頁面存檔備份,存於網際網路檔案館) (英文)
- ^ 參:http://www.cat.org.au/maffew/cat/xfree-dawes.html (頁面存檔備份,存於網際網路檔案館) (英文)
- ^ 參:http://cbbrowne.com/info/x11r6.4.html (頁面存檔備份,存於網際網路檔案館) (英文)
- ^ 參:http://www.computerworld.com/softwaretopics/software/appdev/story/0,10801,67861,00.html (頁面存檔備份,存於網際網路檔案館) (英文)
- ^ 參:http://xfree86.org/pipermail/forum/2003-April/003127.html (頁面存檔備份,存於網際網路檔案館) (英文)
- ^ 參:http://slashdot.org/article.pl?sid=99/12/01/1342251 (頁面存檔備份,存於網際網路檔案館) (英文)
- ^ 參:http://xfree86.org/pipermail/forum/2003-March/000418.html (頁面存檔備份,存於網際網路檔案館) (英文)
- ^ 參:http://www.xfree86.org/pipermail/forum/2003-March/002018.html (頁面存檔備份,存於網際網路檔案館) (英文)
- ^ 參:http://www.advogato.org/person/mharris/diary.html?start=5 (頁面存檔備份,存於網際網路檔案館) (英文)
- ^ 參:http://www.xfree86.org/pipermail/forum/2003-March/001997.html (頁面存檔備份,存於網際網路檔案館) (英文)
- ^ 參:http://www.xfree86.org/pipermail/forum/2003-March/002165.html (頁面存檔備份,存於網際網路檔案館) (英文)
- ^ 參:http://www.xfree86.org/pipermail/forum/2003-April/003016.html (頁面存檔備份,存於網際網路檔案館) (英文)
- ^ 參:http://www.xfree86.org/pipermail/forum/2003-March/000554.html (頁面存檔備份,存於網際網路檔案館) (英文)
- ^ 參:http://www.xfree86.org/pipermail/forum/2003-March/002415.html (頁面存檔備份,存於網際網路檔案館) (英文)
- ^ 參:http://xfree86.org/pipermail/forum/2003-April/003144.html (頁面存檔備份,存於網際網路檔案館) (英文)
- ^ 參:http://www.usenix.org/.../Talk.htm (頁面存檔備份,存於網際網路檔案館) (英文)
- ^ 參:http://yro.slashdot.org/article.pl?sid=04/02/18/131223 (頁面存檔備份,存於網際網路檔案館) (英文)
- ^ 29.0 29.1 參:http://www.dwheeler.com/essays/gpl-compatible.html#xfree86 (頁面存檔備份,存於網際網路檔案館) (英文)
- ^ 參:http://www.osnews.com/story.php?news_id=6157 (頁面存檔備份,存於網際網路檔案館) (英文)
- ^ Changes/WaylandByDefault - Fedora Project Wiki. fedoraproject.org. [2024-05-24]. (原始內容存檔於2015-12-27).
- ^ Red Hat Enterprise Linux 10 plans for Wayland and Xorg server. www.redhat.com. [2024-05-24]. (原始內容存檔於2024-05-24) (英語).
- ^ 參:http://keithp.com/~keithp/talks/xserver_ols2004/ (頁面存檔備份,存於網際網路檔案館) (英文)
- ^ 參:http://wiki.x.org/wiki/ModularizationProposal (頁面存檔備份,存於網際網路檔案館) (英文)
- ^ 參:http://www.linuxdocs.org/HOWTOs/XWindow-User-HOWTO-2.html (頁面存檔備份,存於網際網路檔案館) (英文)
- ^ 參:http://www.xfree86.org/3.3.6/RELNOTES1.html (頁面存檔備份,存於網際網路檔案館) (英文)
- ^ 參:http://www.opengroup.org/tech/desktop/Press_Releases/x11r6.4ga.htm (頁面存檔備份,存於網際網路檔案館) (英文)
- ^ (英文) Release Notes for X11R6.7.0. 2004-03-31 [2011-12-14]. (原始內容存檔於2016-03-04).
- ^ (英文) Release Notes for X11R6.8.0. 2004-09-08 [2011-12-14]. (原始內容存檔於2016-03-04).
- ^ (英文) Release Notes for X11R6.8.1. 2004-09-17 [2011-12-14]. (原始內容存檔於2012-01-12).
- ^ (英文) Release Notes for X11R6.8.2. 2005-02-09 [2011-12-14]. (原始內容存檔於2016-03-05).
- ^ (英文) Release Notes for X11R6.9 and X11R7.0. 2005-12-21 [2011-12-14]. (原始內容存檔於2007-02-18).
- ^ (英文) Release Notes for X11R7.1. 2006-05-22 [2011-12-14]. (原始內容存檔於2022-04-19).
- ^ 參:http://xorg.freedesktop.org/wiki/ChangesForX11R72 (頁面存檔備份,存於網際網路檔案館) (英文)
- ^ (英文) Release Notes for X11R7.3. 2007-09-06 [2011-12-14]. (原始內容存檔於2021-05-08).
- ^ (英文) Release Notes for X11R7.4. 2008-09-23 [2011-12-14]. (原始內容存檔於2021-06-13).
- ^ (英文) Release Notes for X11R7.5. 2009-10-26 [2011-12-14]. (原始內容存檔於2020-12-26).
- ^ (英文) Release Notes for X11R7.6. 2010-12-20 [2011-12-14]. (原始內容存檔於2022-04-20).
- ^ (英文) Release Notes for X11R7.7. 2012-06-06 [2013-02-25]. (原始內容存檔於2021-12-05).
參考書籍
[編輯]- Scheifler, Robert W.; James Gettys. X Window System: Core and extension protocols: X version 11, releases 6 and 6.1. Digital Press. 1996. ISBN 978-1-55558-148-0.
- Keith Packard. The Evolution of the X Server Architecture. 1999 [2006-09-23]. (原始內容存檔於2011-01-29).
- Matthew Arnison. The means to an X for Linux: an interview with David Dawes from XFree86.org. 1999-06 [2006-09-23]. (原始內容存檔於2006-09-16).
- Jim Gettys. Lessons Learned about Open Source. 2000 [2006-09-23]. (原始內容存檔於2011-01-29).
- Christopher B. Browne. On the Thesis that X is Big/Bloated/Obsolete and Should Be Replaced. [2006-09-23]. (原始內容存檔於2002-12-13).
- Jim Gettys. Open Source Desktop Technology Road Map. 2003-12-09 [2006-09-23]. (原始內容存檔於2006-01-02).
- Oscar Boykin. X Marks the Spot: Looking back at X11 Developments of Past Year. OSNews. 2004-04-25 [2006-09-23]. (原始內容存檔於2011-08-23).
- Keith Packard. Getting X Off The Hardware. 2004-06 [2006-09-23]. (原始內容存檔於2016-04-18).
- Mike Paquette, Apple Computer. Why Apple didn't use the X windowing system. [2006-09-23]. (原始內容存檔於2011-08-23).
- David A. Wheeler. The Cautionary Tale of XFree86. Make Your Open Source Software GPL-Compatible. Or Else. 2005-04-16 [2006-09-23]. (原始內容存檔於2013-06-23).
- Jon Smirl. The State of Linux Graphic. 2005-08-30 [2006-09-23]. (原始內容存檔於2006-03-01).
外部連結
[編輯]相關內容
[編輯]- (英文) X.Org (頁面存檔備份,存於網際網路檔案館),X.Org基金會的官方網站。
- (英文) X視窗所造成的災禍 (頁面存檔備份,存於網際網路檔案館),引自《UNIX-HATERS Handbook》一書。
- (英文) xwinman.org,X Window管理程式,或稱:X視窗管理員。
- (英文) 《State of Linux Graphics》,收納於英文維基文庫。
- (英文) RFC 1198 (頁面存檔備份,存於網際網路檔案館),FYI on the X Window System
- (英文) 《Writing a Graphics Device Driver and DDX for the DIGITAL UNIX X Server》 (頁面存檔備份,存於網際網路檔案館),線上手冊、書籍。
- (英文) 《Technical X Window System and Motif WWW Sites》(頁面存檔備份,存於網際網路檔案館),線上手冊、書籍。
知名的實做
[編輯]- (英文) XOrg Foundation Open Source Public Implementation of X11 (頁面存檔備份,存於網際網路檔案館),X11的正式實現體。
- (英文) XFree86,很多年來X系列最受歡迎的版本,特別是在開放原始碼的類UNIX平台。
- (英文) X11 for Mac OS X,與Mac OS X緊密整合的Apple X11。
|