X Window系統

類UNIX系統的圖形控制器和網絡協議

X Window系統X Window System,也常稱為X11X,天視窗系統)是一種以點陣圖方式顯示的軟件視窗系統。最初是1984年麻省理工學院的研究,之後變成UNIX類UNIX、以及OpenVMS作業系統所一致適用的標準化軟件工具套件及顯示架構的運作協定。X Window系統透過軟件工具及架構協定來建立作業系統所用的圖形化使用者介面,此後則逐漸擴展適用到各形各色的其他作業系統上。現在幾乎所有的作業系統都能支援與使用X。更重要的是,今日知名的桌面環境——GNOMEKDE也都是以X Window系統為基礎建構成的。

X Window系統
開發者X.Org基金會
目前版本X11R7.8(2017年5月2日)
作業系統適用於多種作業系統
類型視窗系統
許可協定MIT授權
網站x.org

由於X只是工具套件及架構規範,本身並無實際參與運作的實體,所以必須有人依據此標準進行開發撰寫。如此才有真正可用、可執行的實體,始可稱為實現體。目前依據X的規範架構所開發撰寫成的實現體中,以X.Org最為普遍且最受歡迎。X.Org所用的協定版本,X11,是在1987年9月所發佈。而今最新的參考實作(參考性、示範性的實作體)版本則是X11 Release 7.8(簡稱:X11R7.8),而此專案由X.Org基金會所領導,且是以MIT授權和相似的授權許可的自由軟件[1]

GNOME 3.32

X的主從式模式和網絡透明性

編輯

X能為GUI環境提供基本的框架:在螢幕上描繪、呈現圖像與移動程式視窗,同時也受理、執行、及管理電腦與滑鼠鍵盤的互動程式。不過,X並沒有管轄到用戶介面的部份,而是由其他以X為基礎的實現體來負責,也因為如此,以X為基礎環境所開發成的視覺樣式非常地多;不同的程式可能有截然不同的介面呈現。

X採用主從式的架構模型,由一個X伺服器與多個X客戶端程式進行通訊,伺服器接受對於圖形輸出(視窗)的請求並反應用戶輸入(鍵盤、滑鼠、輕觸式螢幕),伺服器可能是一個能顯示到其他顯示系統的應用程式,也可能是控制某個PC的影像輸出的系統程式,也可能是個特殊硬件。

X的一大特點在於「網絡透明性」[2]:應用程式(「客戶端」應用程式)所執行的機器,不一定是用戶本地的機器(顯示的「伺服器」)。X中所提及的「客戶端」和「伺服器」等字眼用詞也經常與人們一般想定的相反,「伺服器」反而是在用戶本地端的自有機器上執行,而非是在遠端的另一部機器上執行。

 
在圖例中,X伺服器從鍵盤、滑鼠端取得輸入資訊,之後將輸入反應顯示於銀幕,而網頁瀏覽器終端機模擬器則在用戶端的本機系統上執行。此外用戶端也透過網絡與遠端的機器、伺服器保持聯繫,以保訊息狀態的更新。如此的機制及架構能使遠端執行的軟件如同在本機端執行一樣。

伺服器和客戶端之間的通訊協定的運作對電腦網絡是透明的:客戶端和伺服器可以在同一台電腦上,也可以不是,或許其架構作業系統也不同,但都能執行。客戶機和伺服器還能夠使用安全連接在互聯網安全地通訊。

為了使遠端客戶程式顯示到本地伺服器,用戶一般需要啟動一個終端機視窗和到達遠端電腦的telnet或者ssh,令其顯示到用戶電腦,(例如:在執行bash的遠端電腦上export DISPLAY=[用戶的電腦]:0)然後啟動客戶端。然後客戶端就會連接到本地電腦,並且遠端應用程式會顯示到本地螢幕並被本地輸入裝置所控制。與之對應,本地電腦上也可以執行一個連接到遠端電腦的小型代理程式,並在該端啟動與執行自有需求與指定的應用程式。

實際的遠端客戶端的例子有:圖形化管理遠端電腦;在遠端UNIX電腦上執行計算密集的仿真程式並把結果顯示到本地的Windows桌面電腦;用一套顯示器、鍵盤和滑鼠控制同時執行在多台電腦上的圖形化軟件。

X的設計原則

編輯

X的設計原則,早在最初仍在麻省理工學院的階段(1984年)就已經成形,由鮑伯·斯凱夫勒英語Bob Scheifler吉姆·傑提斯英語Jim Gettys兩人制訂出X最早的開發、強化、改進原則,原則大體如下:

  • 除非沒有它就無法完成一個真正完整的應用程式,否則不用增加新的功能。
  • 決定一個系統不是什麼和決定它是什麼同樣重要。與其去適應整個世界的需要,寧可使得系統可以擴展,如此才能以持續相容的方式來滿足新增需求
  • 只有完全沒實例時,才會比只有一個實例來的糟。
  • 如果問題沒完全弄懂,最好不要去解決它[3]
  • 如果可以透過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時,多是用已經高度全套化的桌面環境,桌面環境不僅有視窗管理器,還具備各種應用程式以及協調一致的介面,目前最流行的桌面環境是GNOMEKDE,此兩者已普遍使用於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開發的事實標準[4]。但是從2004年起,最流行的X伺服器是XFree86的分支X.Org的參考實現

雖然X一般和UNIX聯絡在一起,X伺服器也能夠自然地存在於其他圖形環境。DECCOMPAQHPOpenVMS作業系統用X加上CDE做為其標準桌面環境,稱為DECwindows蘋果公司Mac OS X v10.3(研發時的代號:Panther,美洲豹)包括Apple X11,它基於XFree86 4.3和X11R6.6,並能和Mac OS X更好地整合。

MicrosoftWindows本身不包含對X的支援,但是有不少協力的實現可用,其中有自由軟件Cygwin/XXming、WeirdMind[5]WeirdX,另外專有、專屬性的也有XmanagerX-Deep/32X-Win32英語X-Win32WiredXExceed英語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痛恨者手冊英語UNIX-HATERS Handbook》一書中有個章節為:"X視窗所造成的災禍(The X-Windows Disaster)"[6],該書用此整個章節的篇幅內容來討論X在20世紀80年代末到同世紀90年代初的問題與困擾。

影片硬件

編輯

PC世界裏,需要協力硬件的驅動的非主流的個人電腦軟件往往不能支援所有為Microsoft Windows出品的裝置。X Window也不例外,它的實現往往缺少較新(或者非常舊)的顯示卡高效驅動程式。

X.orgXFree86這樣的開源X實現中,開發社區透過復用已有代碼,可以很快更新改進驅動程式,從而能夠為較陳舊的或者很通用的硬件開發出高質素的驅動。

高效能圖形計算目前是頂級的圖形功能,一般由廠家透過專有驅動來實現,而且往往優先考慮是Windows(最大的消費市場)。由於高效能影片市場的顯赫地位,一些硬件/驅動廠商會考慮透過將技術細節變為商業秘密或者將其中創新變為軟件專利,而這阻礙了開源驅動的實現。

其他裝置

編輯

PC機之外的世界裏,很多X的實現是為非傳統裝置如PDA手機而編寫(或者移植)的。這樣的實現必須提供為在此之上執行的平台提供至少且必須的裝置支援。

效能

編輯

X Window的主從式體系(主從式架構)設計在應用程式和影片硬件之間多加了一層軟件,導致繪圖效率下降,所以引起了一些批評。因此開發了若干擴充,在裝置和客戶機在同一個系統上時,透過在取得適當許可的情況下,以直接訪問裝置來改善這一問題。而在Linux上,一些影片驅動已經部分移入內核以提高效率。

穩定性

編輯

另一方面,X也被批評為需要(或者提供)了過多的對硬件的直接訪問,從而影響了系統穩定性。行為不良的顯示卡驅動(有時也可能是應用程式)甚至能夠導致整個系統崩潰或者重新啟動;有時即使作業系統仍在工作,它也不能繼續彩現其顯示(這時除了重新啟動,缺乏好的恢復手段)。

根本上,目前所有的桌面GUI作業系統都提供某種對硬件的直接訪問,支持者認為市場已經證明為了提供圖形效能犧牲一點穩定性是值得的。或許將來隨着技術和用戶的演化這一平衡會有所變化。

用戶介面特徵

編輯

X刻意不去規範用戶介面和程式之間大多數的通訊,導致出現了幾種非常不同的介面,同時程式之間協同困難;而客戶機之間的互操作規範ICCCM以難以正確實現而聞名。後來的標準化嘗試,如MotifCDE,也於事無補。長久以來這已經成為用戶和程式設計師的巨大的挫折的源頭[7]。目前,程式的感觀一致性和通訊一般是透過為特定桌面環境或者構件工具箱編程來處理,這也避免了直接和ICCCM接觸。

X缺乏良好的網絡與透明的音效系統。當用戶對音效日益期盼時,各種不相容的音效子系統便出現了。過去,大多數程式設計師只好忽略網絡問題,簡單地使用本地的並且是OS獨用性的音效API。第一代客戶機-伺服器音效系統有rplayNetwork Audio System。而最近的努力產生了EsounD(GNOME)和ARts(KDE),而這也並非標準。而其他系統如Media Application Server則正在開發當中。

直到最近,X也沒有好的顯示印表機所列印的內容(所見即所得)的解決方案。許多X客戶機完全用PostScript實現列印,而這與傳送到伺服器的幾乎整個是分離的。從X11R6.3起包含了Xprint,此時客戶機已經不錯,但是伺服器實現還不行。而從X11R6.8起實現的質素已經很好[8],並且獲得了部件的支援。

網絡

編輯

X不能像VNC那樣把客戶端的通訊從一個伺服器卸下然後再附加到另一個上,但正在進行為X增加此功能的工作,另外還要實現透過VNC實現X伺服器的顯示。

X伺服器和遠端客戶機之間的網絡通訊使用明文的缺陷,讓攻擊者使用封包擷取程式就能夠截獲和閱讀它。這一缺陷一般可以透過在SSH通訊上使用X來解決。

裝置中立和客戶機與伺服器分離還帶來了一定開銷。X的網絡透明性要求客戶機和伺服器分別執行。在其早期,與同時的採取視窗系統嵌入作業系統這一方法的Microsoft WindowsMac OS比較,這給獨立系統帶來明顯的效能影響。為了獲得可以接受的效能,推薦起碼要4到8MBRAM,但在1990年代之前,這被認為與Windows或者Mac OS相比太超過了。

目前版本的Windows和Mac OS X Quartz也包含了和X的客戶機/伺服器相類似的子系統劃分,其效能和資源需求同X加上KDE或者GNOME也類似。現在主要的消耗來自於客戶機和伺服器之間的網絡往返延遲(非協定本身產生的滯後時間),應該透過應用程式的設計來改善[9]

X的競爭者

編輯

X在類Unix系統上幾乎完全佔據統治地位。但是仍然有人嘗試提供替代品和更多的選擇。過去曾經有昇陽NeWS英語NeWS,但它遭到市場淘汰;還有NeXTDisplay PostScript,它最終轉變為蘋果公司Mac OS X內的Quartz

應對對於X的批評的更前衛的嘗試有Berlin/FrescoY Window System這樣的完全替換。這些代用品被認為不值得採用,而任何不能做到與X向下相容的的替代品的可行性都被廣泛置疑。

其他有的競爭者透過直接操作硬件來避免X的開銷,這樣的專案包括DirectFB。但是由於DRI英語Direct Rendering Infrastructure正在致力於使用可靠的內核級介面提供幀緩衝,這些努力可能變成是多餘的。

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 PikeBlit終端機(1984年)。

X從1983年之前稱為W Window系統的視窗系統中,推衍出它的名字當作是繼任者(在拉丁字母裏面X直接接在W後面)。W Window系統是運行於V作業系統。W使用一個支援終端機和圖形視窗的網絡協定,而伺服器維護顯示的列表。

起源和早期的發展

編輯

X起初是MIT於1984年的構想,當作為Athena計畫吉姆·給提英語Jim Gettys和MIT電腦科學實驗室的鮑伯·斯凱夫勒英語Bob Scheifler的共同研究。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工具箱和CDECommon Desktop Environment)共通桌面環境。而原有的X協會在發佈了最後一個版本的X11R6.3後,於1996年末解散。

開放團體

編輯

1997年中,X Consortium將X的管理交給開放團體,而它是1996年由開放軟件基金會(OSF)和X/Open合併成立的廠商團體。

開放團體於1998年首次發佈X11R6.4。為了確保X開發上的資金,所以X11R6.4偏離傳統的自由許可條款,進而引起爭議[10]。新條款阻礙了許多專案(例如:XFree86)採納它,甚至包括一些廠商。在XFree86以分離相威脅後[11],X11R6.4於1998年9月在傳統許可條款下發佈[12],而開放團體的最後一個發佈是X11R6.4 patch 3,即第三度發佈的補強程式。

1999年5月開放團體組建了X.Org。X.Org指導了X11R6.5.1之前的版本發佈。在此期間X的開發死氣沉沉[13]。2003年,隨着Linux的流行X被大量安裝。但是X.Org幾乎無聲無息,活躍的開發由XFree86承擔。[14]

XFree86

編輯

在1989年至1990年期間,托馬斯·羅爾把X11R4分類器上提供的X伺服器程式的原始碼下載到執行速度僅為33MHz的386PC上,成功執行了被他稱為是X38611.1的X伺服器。這就是XFree86的雛形。

1992年後多數技術創新都發生在XFree86專案中。1999年,由於眾多對於XFree86在Linux上應用有興趣的硬件廠商[15]的推動,並也已經成為最普及的X版本,XFree86成為X.Org的榮譽成員(不付費)[16]

但是自2003年開始,XFree86內部卻發生了爭論。它被認為太教堂式了,如同它的開發模式;開發者不能透過CVS做提交[17],而廠商被迫維護大量修補程式[18]。2003年3月,自從最初的MIT X Consortium結束之後就參加XFree86的Keith Packard由於被認為態度不良而被驅逐[19][20] [21]

X.Org和XFree86開始討論能夠有助於X開發的重組[22][23][24]Jim Gettys早在2000年就熱心於開放的開發模式[25]。Gettys、Packard和其他幾個人開始討論有效管理X和開放式開發的細節。

最終就像是X11R6.4許可證爭議的迴響,XFree86於2004年2月在更加嚴格許可證下發佈了4.4。許多依賴X的專案認為該許可證無法接受[26],特別是它和GNU General Public License[27]不相容。這引起一場論戰,許多人認為到了該對XFree86分叉(fork)[28]的時候了,許多Linux發行版,包括FedoraGentoo都紛紛在最新的版本中使用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的開發者[27]

2004年9月X11R6.8發佈。它加入重要的新特性,包括對半透明視窗的初步支援、很多複雜的視覺效果、螢幕放大和簡圖,以及與3D沉浸式顯示系統(例如Sun的Project Looking GlassCroquet project)整合的設施。而外觀策略由稱為合成管理器(compositing managers)的外部應用程式提供。

停滯

編輯

X Window系統標準最新版本截至2024年,已經超過十年,而修正X許多侷限的Wayland,也逐漸步入成熟,並被許多重大 Linux 發行版如 FedoraUbuntu 選為預設視窗系統[29],成為事實上的下一代視窗系統。RHEL 在發行版本8時預設使用 Wayland,發行版本9時將 Xorg 伺服器標示為以棄用,並預計於版本10正式移除。[30]

未來方向

編輯

有了X.Org基金會和freedesktop.org,X的開發再度加速。目前和未來的版本都將是可使用的最終產品,而不僅僅是在其上構築產品的骨架。

隨着硬件操作被移入內核,幾乎對影片硬件的訪問將透過OpenGL(沒有硬件OpenGL的系統使用Mesa 3D)和基層直接彩現模組進行[31]。這由XFree86 version 4引入並出現在X11R6.7及其後續版本。

參考實現的架構被模組化,每個獨立模組做為分離的專案維護。X11R6.9將是單體原始碼而X11R7.0將有具備相同特徵集的模組化原始碼。[32]

寫法、稱呼上的誤混

編輯

「X Window系統」一般也簡稱成「X11」或「X」,而「X Windows」的稱寫方式(類似「Microsoft Windows」的稱寫)並沒有被正式認可,不過這種誤會的稱寫法卻很普遍且經常出現(例如在UNIX痛恨者手冊英語UNIX-HATERS Handbook一書中)。

版本歷史

編輯
版本 發表日期 重大變更
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)之名的首次發佈。[33]
X11R3 1988年10月25日 發佈XDM
X11R4 1989年12月22日 XDMCPtwm成為標準的視窗管理員(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,以及可由用戶進行特性定義。[34]
X11R6.4 1998年3月31日 發佈Xinerama[35]
X11R6.5 X.org的一次內部發佈,沒有對外公開。
X11R6.5.1 2000年8月20日
X11R6.6 2001年4月4日 修復錯誤、變更XFree86。
X11R6.7.0 2004年4月6日 (2004-04-06) 首次由X.Org基金會進行發佈,此一發佈新增了XFree86 4.4rc2。此外也有完整的末端用戶的發行版本。移除XIE、PEX及libxml2。[36]
X11R6.8.0 2004年9月9日 (2004-09-09) 發佈Window translucency、XDamage、分散式多頭X、XFixes、Composite、XEvIE等。[37]
X11R6.8.1 2004年9月17日 (2004-09-17) 修補libxpm的安全防護功效。[38]
X11R6.8.2 2005年2月9日 (2005-02-09) 修補錯誤,更新驅動程式。[39]
X11R6.9
X11R7.0
2005年12月21日 (2005-12-21) 發佈EXA,主要的原始程式碼進行再拆解、組構。以相同的原始程式碼為基礎,衍生出模組化的7.0版以及一體性、團塊性的6.9版。[40]
X11R7.1 2006年5月22日 (2006-05-22) 強化EXA,整合KdriveAIGLX,強化作業系統及平台的支援性。[41]
X11R7.2 2007年2月15日 (2007-02-15) 移除LBX[42]
X11R7.3 2007年9月6日 (2007-09-06) 支援XServer 1.4,輸入hotplug,輸出hotplug (RandR 1.2), DTrace probes, PCI domain [43]
X11R7.4 2008年9月23日 (2008-09-23) 支援XServer 1.5.1, XACE, PCI-rework, EXA speed-ups, _X_EXPORT, GLX 1.4,更快的啟動和關機。[44]
X11R7.5 2009年10月26日 (2009-10-26) 支援XServer 1.7, XKB 2及Xi 2, XGE, RandR 1.3 (GPU object), MPX, predictable pointer acceleration, DRI主記憶體管理器, DRI2, Shatter,進一步消除過時的libraries及擴展。[45]
X11R7.6 2010年12月20日 (2010-12-20) 支援XServer 1.9, Xi 3, XKB 2, UnixWare possible XCB requirement。[46]
X11R7.7 2012年6月6日 (2012-06-06) 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。[47]

參見

編輯

參考資料

編輯
  1. ^ (英文) X.Org许可协议. X.Org基金會. 2010-12-20 [2011-12-14]. (原始內容存檔於2021-05-13). 
  2. ^ 註:此處所說的「透明性」,更詳細地說是指:「通透性、無形、感受不到、無法察覺差異」等的含意。
  3. ^ 註:言下之意是:暫時、局部性的解決只會使事情更複雜、更難收拾。
  4. ^ 參:http://www.xfree86.org/pipermail/forum/2004-February/003945.html頁面存檔備份,存於互聯網檔案館(英文)
  5. ^ 參:WeirdMind的網址:http://www.tam.cornell.edu/Computer.old/remoteaccess/weirdmind/ Archive.is存檔,存檔日期2004-02-24 (英文)
  6. ^ 參:http://catalog.com/hopkins/UNIX-haters/x-windows/disaster.html頁面存檔備份,存於互聯網檔案館(英文)
  7. ^ 參:http://lists.debian.org/debian-user/1996/11/msg00637.html頁面存檔備份,存於互聯網檔案館(英文)
  8. ^ 參:http://xprint.mozdev.org/docs/Xprint_FAQ.html#contra_xprint頁面存檔備份,存於互聯網檔案館(英文)
  9. ^ 參:http://keithp.com/~keithp/talks/lbxpost/paper.html頁面存檔備份,存於互聯網檔案館(英文)
  10. ^ 參:http://old.lwn.net/lwn/1998/0409/xstate.html頁面存檔備份,存於互聯網檔案館(英文)
  11. ^ 參:http://www.cat.org.au/maffew/cat/xfree-dawes.html頁面存檔備份,存於互聯網檔案館(英文)
  12. ^ 參:http://cbbrowne.com/info/x11r6.4.html頁面存檔備份,存於互聯網檔案館(英文)
  13. ^ 參:http://www.computerworld.com/softwaretopics/software/appdev/story/0,10801,67861,00.html頁面存檔備份,存於互聯網檔案館(英文)
  14. ^ 參:http://xfree86.org/pipermail/forum/2003-April/003127.html頁面存檔備份,存於互聯網檔案館(英文)
  15. ^ 參:http://slashdot.org/article.pl?sid=99/12/01/1342251頁面存檔備份,存於互聯網檔案館(英文)
  16. ^ 參:http://xfree86.org/pipermail/forum/2003-March/000418.html頁面存檔備份,存於互聯網檔案館(英文)
  17. ^ 參:http://www.xfree86.org/pipermail/forum/2003-March/002018.html頁面存檔備份,存於互聯網檔案館(英文)
  18. ^ 參:http://www.advogato.org/person/mharris/diary.html?start=5頁面存檔備份,存於互聯網檔案館(英文)
  19. ^ 參:http://www.xfree86.org/pipermail/forum/2003-March/001997.html頁面存檔備份,存於互聯網檔案館(英文)
  20. ^ 參:http://www.xfree86.org/pipermail/forum/2003-March/002165.html頁面存檔備份,存於互聯網檔案館(英文)
  21. ^ 參:http://www.xfree86.org/pipermail/forum/2003-April/003016.html頁面存檔備份,存於互聯網檔案館(英文)
  22. ^ 參:http://www.xfree86.org/pipermail/forum/2003-March/000554.html頁面存檔備份,存於互聯網檔案館(英文)
  23. ^ 參:http://www.xfree86.org/pipermail/forum/2003-March/002415.html頁面存檔備份,存於互聯網檔案館(英文)
  24. ^ 參:http://xfree86.org/pipermail/forum/2003-April/003144.html頁面存檔備份,存於互聯網檔案館(英文)
  25. ^ 參:http://www.usenix.org/.../Talk.htm 頁面存檔備份,存於互聯網檔案館(英文)
  26. ^ 參:http://yro.slashdot.org/article.pl?sid=04/02/18/131223頁面存檔備份,存於互聯網檔案館(英文)
  27. ^ 27.0 27.1 參:http://www.dwheeler.com/essays/gpl-compatible.html#xfree86頁面存檔備份,存於互聯網檔案館(英文)
  28. ^ 參:http://www.osnews.com/story.php?news_id=6157頁面存檔備份,存於互聯網檔案館(英文)
  29. ^ Changes/WaylandByDefault - Fedora Project Wiki. fedoraproject.org. [2024-05-24]. (原始內容存檔於2015-12-27). 
  30. ^ Red Hat Enterprise Linux 10 plans for Wayland and Xorg server. www.redhat.com. [2024-05-24]. (原始內容存檔於2024-05-24) (英語). 
  31. ^ 參:http://keithp.com/~keithp/talks/xserver_ols2004/頁面存檔備份,存於互聯網檔案館(英文)
  32. ^ 參:http://wiki.x.org/wiki/ModularizationProposal頁面存檔備份,存於互聯網檔案館(英文)
  33. ^ 參:http://www.linuxdocs.org/HOWTOs/XWindow-User-HOWTO-2.html頁面存檔備份,存於互聯網檔案館(英文)
  34. ^ 參:http://www.xfree86.org/3.3.6/RELNOTES1.html頁面存檔備份,存於互聯網檔案館(英文)
  35. ^ 參:http://www.opengroup.org/tech/desktop/Press_Releases/x11r6.4ga.htm頁面存檔備份,存於互聯網檔案館(英文)
  36. ^ (英文) Release Notes for X11R6.7.0. 2004-03-31 [2011-12-14]. (原始內容存檔於2016-03-04). 
  37. ^ (英文) Release Notes for X11R6.8.0. 2004-09-08 [2011-12-14]. (原始內容存檔於2016-03-04). 
  38. ^ (英文) Release Notes for X11R6.8.1. 2004-09-17 [2011-12-14]. (原始內容存檔於2012-01-12). 
  39. ^ (英文) Release Notes for X11R6.8.2. 2005-02-09 [2011-12-14]. (原始內容存檔於2016-03-05). 
  40. ^ (英文) Release Notes for X11R6.9 and X11R7.0. 2005-12-21 [2011-12-14]. (原始內容存檔於2007-02-18). 
  41. ^ (英文) Release Notes for X11R7.1. 2006-05-22 [2011-12-14]. (原始內容存檔於2022-04-19). 
  42. ^ 參:http://xorg.freedesktop.org/wiki/ChangesForX11R72頁面存檔備份,存於互聯網檔案館(英文)
  43. ^ (英文) Release Notes for X11R7.3. 2007-09-06 [2011-12-14]. (原始內容存檔於2021-05-08). 
  44. ^ (英文) Release Notes for X11R7.4. 2008-09-23 [2011-12-14]. (原始內容存檔於2021-06-13). 
  45. ^ (英文) Release Notes for X11R7.5. 2009-10-26 [2011-12-14]. (原始內容存檔於2020-12-26). 
  46. ^ (英文) Release Notes for X11R7.6. 2010-12-20 [2011-12-14]. (原始內容存檔於2022-04-20). 
  47. ^ (英文) Release Notes for X11R7.7. 2012-06-06 [2013-02-25]. (原始內容存檔於2021-12-05). 

參考書籍

編輯

外部連結

編輯

相關內容

編輯

知名的實做

編輯