Privacy Policy Cookie Policy Terms and Conditions X Window系統 - Wikipedia

X Window系統

维基百科,自由的百科全书

讨论页的问题得到解决之前,本页面被保护以防止频繁的移动
这个页面仍然可以编辑,但是直到解除保护之前都不能移动。保护并不是对目前页面版本的认可。您也可以提出解除保护请求


X Window System
开发者: X.Org基金会
稳定版本 7.1  (2006年5月22日) [+/-]
预览版本: 1.1.99.3(xorg-server)  (2006年7月30日)

git(development)  (various) [+/-]

操作系统: 適用於多種作業系統
用途: 視窗系統
软件授权: MIT授權
网站 www.x.org

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

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

KDE 3.3
KDE 3.3
GNOME 2

目录

[编辑] X客户端/服务器模式和网络透明性

主條目:X Window系统的协议和架构

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

X採行-{A|zh-cn:客户端-服务器;zh-tw:主從式}-的架構模型,由一个X服务器与多個X客户端程序進行通讯,服务器接受对于图形输出(窗口)的请求并-{A|zh-cn:反馈;zh-tw:反應}-用户输入(键盘、鼠标、-{A|zh-cn:触摸屏;zh-tw:觸控螢幕}-),服务器可能是一个能显示到其他显示系统的应用程序,也可能是控制某个PC的视频输出的系统程序,也可能是個特殊硬件。

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

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

服务器和客户端之间的通信协议的运作对计算机网络是透明的: 客户端和服务器可以在同一台计算机上,也可以不是, 或许其架构操作系统也不同,但都能运行。客户机和服务器还能够使用安全连接上在互联网上安全地通讯。

为了使远端客户程序显示到本地服务器,用户一般需要启动一个-{A|zh-cn:终端窗口;zh-tw:終端機視窗}-和到达远端计算机的telnet或者ssh,令其显示到用户计算机,(例如:在-{A|zh-cn:运行;zh-tw:執行}-bash的远端计算机上export DISPLAY=[用户的计算机]:0)然后启动客户端。 然后客户端就会连接到本地计算机,并且远端应用程序会显示到本地屏幕并被本地输入设备所控制。与之对应,本地计算机上也可以执行一个连接到远端计算机的小型代理程序,并在該端启动與執行自有需求與指定的应用程序。

实际的远端客户端的例子有:图形化管理远程计算机;在远端UNIX计算机上运行计算密集的仿真程序并把结果显示到本地的Windows桌面计算机;用一套显示器、键盘和鼠标控制同时运行在多台计算机上的图形化软件。

[编辑] X的設計原則

X的設計原則早在最初仍在麻省理工學院的階段(1984年)就已經成形,由Bob Scheifler和Jim Gettys兩人制訂出X最早的開發、強化、改進原則,原則大體如下:

  • 除非沒有它就無法完成一個真正完整的應用程式,否則不用增加新的功能。
  • 決定一個系統不是什麼和決定它是什麼同樣重要。與其去適應整個世界的需要,寧可使得系統可以擴展,如此才能以持續相容的方式來滿足新增需求
  • 只有完全沒實例時,才會比只有一個實例來的糟。
  • 如果問題沒完全弄懂,最好不要去解決它[3]
  • 如果預期要用90%的努力去完成10%的工作,應該用更簡單的辦法解決。參見:更糟就是更好。)
  • 盡量避免複雜性。
  • 提供機制而不是策略,有關使用者介面的開發實現交給實際應用者自主。

之後,上述原則中的第一項原則在設計X11時被加以修改,修訂成:「除非已有真正的應用程式真的需要X為其修訂、增訂等支援,否則不會為X增加新功能。」X基本上一直遵循這些原則,參考實現的擴展及改進也是以此原則的角度來著手,也因為奉行上述原則,使至今的最新版X仍能與最初(1987年)發佈的協定標準近乎完全相容。

在UNIX(Solaris 8)上執行的CDE
UNIXSolaris 8)上執行的CDE
在OpenVMS 7.3-1上執行的DECwindows CDE
在OpenVMS 7.3-1上執行的DECwindows CDE

[编辑] 使用者界面

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商家倾向于采用参考实现并使之适应其硬件,例如高度定制并加入专有的扩展。

Cygwin/X以无根方式运行在微软的Windows XP上。屏幕显示X 的应用程序(xeyes、xclock和xterm)与原生的Windows附屬應用程式(日期和時間、小算盤)共享屏幕。
Cygwin/X以无根方式运行在微软的Windows XP上。屏幕显示X 的应用程序(xeyes、xclock和xterm)与原生的Windows附屬應用程式(日期和時間、小算盤)共享屏幕。

直到2004年,在自由的类UNIX系统上最常见的X变体是XFree86。顾名思义,它源于X的386兼容的PC机的移植,到了上個(20)世纪90年代末期成为X的技术创新的主要来源和X开发的事实标准[4]。但是从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更好地-{A|zh-cn:集成;zh-tw:整合}-。

MicrosoftWindows本身不包含对X的支持,但是有不少第三方的实现可用,其中有自由软件Cygwin/XXming、WeirdMind[5]和WeirdX,另外專有、專屬性的也有Xmanager、X-Deep/32、X-Win32、WiredX、Exceed和X-Win32。它们多用于控制远程X客户端。

当X寄生在其他窗口系统(例如:Windows或Mac OS)时,X系统一般是“rootless,無根”的,也就是说:宿主(主體)窗口系统担当根窗口(背景和相关-{A|zh-cn:菜单;zh-tw:選單}-)并管理寄生(客體)的X窗口的位置。但是也有些服务器,例如Exceed,能够在宿主系统上创建根窗口使得远程客户端能够做为分离的窗口在其上显示。

[编辑] X终端機

主條目:X終端機

X终端機X Terminal)是做为瘦客户机在X服务器上运行的专用硬件。该架构广泛用于为了使多人同时使用同一个大型服务器而构造终端。这也符合MIT的计划的初衷。

X终端搜索网络,使用XDMCP产生允许其运行客户机的主机列表。初始主机需要執行X顯示管理員(X display manager)。

-{A|zh-cn:专用的;zh-tw:獨用性的}-X终端機(硬件)现在已经不太常见了,现在经常使用个人计算机並搭配執行X終端機的實效模擬程式(Emulator)来完成相同的功能,過去(1990年代初期)業界在推行X終端機時也將其稱為「窮人的UNIX工作站」。

[编辑] X的局限和批评

在《UNIX痛恨者手冊》(UNIX-HATERS Handbook)一書中有個章節為:"X 視窗所造成的災禍(The X-Windows Disaster)"[6],該書用此整個章節的篇幅內容來讨论 X 在20世纪80年代末到同世紀90年代初的问题與困擾。

[编辑] -{A|zh-cn:视频;zh-tw:視訊}-硬件

[编辑] PC

PC世界里,需要-{A|zh-cn:第三方;zh-tw:協力}-硬件的驱动的非主流的个人计算机软件往往不能支持所有为Microsoft Windows出品的设备。X Window也不例外,它的实现往往缺少较新(或者非常旧)的显卡高效驱动程序。

X.orgXFree86这样的开源X实现中,开发社区通过复用已有代码,可以很快更新改进-{A|zh-cn:驱动程序;zh-tw:驅動程式}-,从而能够为较陈旧的或者很通用的硬件开发出高质量的驱动。

高性能图形计算目前是顶级的图形功能,一般由厂家通过专有驱动来实现,而且往往优先考虑是Windows(最大的消费市场)。由于高性能视频市场的显赫地位,一些硬件/驱动厂商会考虑通过将技术细节变为商业秘密或者将其中创新变为软件专利,而这阻碍了开源驱动的实现。

[编辑] 其他设备

PC机之外的世界裡,很多X的实现是为非传统设备如PDA手机而编写(或者移植)的。这样的实现必须提供为在此之上运行的平台提供至少是必须的设备支持。

[编辑] 性能

X Window的C/S体系(主從式架構)设计在-{A|zh-cn:应用程序;zh-tw:應用程式}-和-{A|zh-cn:视频;zh-tw:視訊}-硬件之间多加了一层软件,导致图形效率下降,所以引起了一些批评。因此开发了若干扩展,在设备和客户机在同一个系统上时,-{A|zh-cn:通过;zh-tw:透過}-在取得适当许可的情况下,以直接-{A|zh-cn:访问;zh-tw:存取}-设备来改善这一问题。而在Linux上,一些视频驱动已经部分移入内核以提高效率。

[编辑] 稳定性

另一方面,X也被批评为需要(或者提供)了过多的对硬件的直接访问,从而影响了系统稳定性。行为不良的显卡驱动(有时也可能是应用程序)甚至能够导致整个系统崩溃或者重启;有时即时操作系统仍在工作,它也不能继续渲染其显示 (这时除了重启,缺乏好的恢复手段)。

根本上,目前所有的桌面GUI操作系统都提供某种对硬件的直接访问,支持者认为市场已经证明为了提供图形性能牺牲一点稳定性是值得的。或许将来随着技术和用户的演化这一平衡会有所变化。

[编辑] 用户界面特征

X刻意不去规范用户界面和程序之间大多数的通信,导致出现了几种非常不同的界面,同时程序之间协同困难;而客户机之间的互操作规范ICCCM以难以正确实现而闻名。后来的标准化尝试,如Motif和CDE,也于事无补。长久以来这已经成为用户和程序员的巨大的挫折的源头[7]。目前,-{A|zh-cn:程序;zh-tw:程式}-的感观一致性和通信一般是通过为特定桌面环境或者构件工具箱编程来处理,这也避免了直接和ICCCM接触。

X缺乏良好的网络透明的声音系统。当用户对声音日益期盼时,各种不兼容的声音子系统便出现了。过去,大多数程序员只好忽略网络问题,简单地使用本地的并且是OS专用的声音API。第一代客户机-服务器声音系统有rplay和Network 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系统上几乎完全占据统治地位。但是仍然有人尝试提供替代品和更多的选择。过去曾经有Sun的NeWS,但它遭到市场失败;还有NeXT的Display PostScript,它最终转变为苹果电脑Mac OS X內的Quartz

应对对于X的批评的更前卫的尝试有Berlin/Fresco和Y Window System这样的完全替换。这些代用品被认为不值得采用,而任何不能做到与X向后兼容的的替代品的可行性都被广泛置疑。

其他有的竞争者通过直接操作硬件来避免X的开销,这样的项目包括DirectFB。但是由于DRI正在致力于使用可靠的内核级接口提供帧缓冲,这些努力可能变成是多余的。

其他以图形终端服务形式达到网络透明性的尝试还有VNC(很底层的系统,通过网络发送压缩的位图;UNIX上的实现包括X服务器)、Citrix MetaFrame(类似X的Windows软件)、Tarantella(为网络浏览器提供Java客户机)和NX技術(用于远程显示的节省带宽的协议)。

[编辑] 历史

[编辑] 前身

事實上,早在X出現前已有幾個-{zh-cn:位图;zh-tw:點陣圖;zh-hk:點陣圖}-式的軟體顯示系統已經存在,例如帕洛阿尔托研究中心施乐公司)提出的Alto(1973年)和Star(1981年)、蘋果電腦提出的Lisa(1983年)和麥金塔1984年)、在UNIX世界也有-{zh-cn:雅典娜工程;zh-tw:Athena計畫;zh-hk:Athena計畫}-(1982年)和Rob Pike的Blit終端機(1984年)。

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

[编辑] 起源和早期的發展

X起初是MIT1984年的構想,當作為-{zh-cn:雅典娜工程;zh-tw:Athena計畫;zh-hk:Athena 計畫}-的吉姆·給提(Jim Gettys)和MIT電腦科學實驗室的鮑伯·斯凱夫勒(Bob Scheifler)的共同研究。Scheifler需要一個可以使用的顯示環境來對Argus系統除錯。-{zh-cn:雅典娜工程;zh-tw:Athena計畫;zh-hk:Athena計畫}-,是DEC、MIT、和IBM之間的聯合計畫,用來提供給需要一個平台獨立顯示系統,可把不同種類多個製造商之系統連結在一起,給所有學生容易存取電腦資源;該視窗系統曾經在卡耐基美隆大學(Carnegie Mellon University,CMU)的-{zh-cn:雅典娜工程;zh-tw:Athena計畫;zh-hk: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擔任-{A|zh-cn:高级;zh-tw:資深}-开发人员,確保 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的管理交给開放團體(The Open Group),而它是1996年由開放軟體基金會(Open Software Foundation;OSF)和X/Open合并成立的厂商团体。

開放團體於1998年首次发布X11R6.4。为了確保 X 开发上的资金,所以X11R6.4偏离传统的自由许可条款,進而引起争议[10]。新条款阻碍了许多项目(例如:XFree86)采纳它,甚至包括一些厂商。在XFree86以分离相威胁后[11],X11R6.4于1998年9月在传统许可条款下发布[12],而開放團體的最后一个发布是X11R6.4 patch 3,即第三度發佈的補強程式。

[编辑] X.Org

1999年5月開放團體组建了X.Org。X.Org指导了X11R6.5.1之前的版本发布。在此期间X的开发死气沉沉[13]2003年,随着Linux的流行X被大量安装。但是X.Org几乎无声无息,活跃的开发由XFree86承担。[14]

[编辑] XFree86

主條目: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],而厂商被迫维护大量-{A|zh-cn:补丁;zh-tw:補強程式}-[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)都是厂商组织,而基金会由软件开发者领导,采用依靠外部参与的-{A|zh-cn:集市;zh-tw:市集}-模式的社区开发。其成员身份对个人开放,法人成员则成为赞助者。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)的外部-{A|zh-cn:应用程序;zh-tw:應用程式}-提供。

[编辑] 未来方向

有了X.Org基金会和freedesktop.org,X的开发再度加速。目前和未来的版本都将是可使用的最终产品,而不仅仅是在其上构筑产品的骨架。

随着硬件操作被移入内核,几乎对视频硬件的访问将通过OpenGL(没有硬件OpenGL的系统使用Mesa)和基层直接渲染模块进行[30]。这由XFree86 version 4引入并出现在X11R6.7及其后续版本。

参考实现的架构被模块化,每个独立模块做为分离的项目维护。X11R6.9将是单体源代码而X11R7.0将有具备相同特征集的模块化源代码。[31]

[编辑] 寫法、稱呼上的誤混

“X Window系统”一般也簡稱成“X11”或“X”,而“X Windows”的稱寫方式(類似“Microsoft Windows”的稱寫)並沒有被正式認可,不過這種誤會的稱寫法卻經常很普遍且經常出現(例如在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年 以X協會(Consortium)之名的首次發佈。[32]
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(研發代號:Broadway,百老匯)
1996年12月23日 發佈Web功能功效、LBX。以X協會之名的最後一次發佈。X11R6.2是X11R6.3的子集合(subset),X11R6.3只針對原有X11R6.1進行特點強化,如XPrint以及可以直書的Xlib,以及可由使用者進行特性定義。[33]
X11R6.4 1998年3月31日 發佈Xinerama。[34]
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[35]
X11R6.8.0 2004年9月8日 發佈Window translucency、XDamage、分散式多頭X、XFixes、Composite、XEvIE等。
X11R6.8.1 2004年9月17日 修補libxpm的安全防護功效。
X11R6.8.2 2005年2月10日 修補錯誤,更新驅動程式。
X11R6.9
X11R7.0
2005年12月21日 發佈EXA,主要的原始程式碼進行再拆解、組構[36],以相同的原始程式碼為基礎,衍生出模組化的7.0版以及一體性、團塊性的6.9版。
X11R7.1 2006年5月22日 強化EXA,整合Kdrive、AIGLX,強化作業系統及平台的支援性。[37]
X11R7.2 2006年 移除LBX。[38]

[编辑] 参见

  • 視窗系統(Windowing system),針對一般的終端機。
  • X Window-{A|zh-cn:内核协议;zh-tw:核心協定}-(X Window core protocol),功效機制等制訂、定義。
  • Xgl,針對較現代、先進的顯示卡而設計的 X 伺服器架構。
  • VirtualGL,用於遠端顯示的程式,可顯示立體(3D)呈現的應用程式,且能發揮運用顯示卡的硬體加速著色功效。
  • Y Window System,也稱Y-Windows,是一套視窗系統,由一個視窗伺服器與一個用戶端函式庫所組成,同時也是一套可供應用程式撰寫者呼用的應用程式介面
  • Sax2,也稱YaST(Yet Another Setup Tool),一種作業系統設定及-{A|zh-cn:配置;zh-tw:組態}-的工具程式。

[编辑] 注释

  1. 參:http://ftp.x.org/pub/X11R7.0/doc/html/LICENSE1.html#1 (英文)
  2. 註:此處所說的“透明性”,更詳細地說是指:「通透性、無形、感受不到、無法察覺差異」等的含意。
  3. 註:言下之意是:暫時、局部性的解決只會使事情更複雜、更難收拾。
  4. 參:http://www.xfree86.org/pipermail/forum/2004-February/003945.html (英文)
  5. 參:WeirdMind的網址:http://www.tam.cornell.edu/Computer.old/remoteaccess/weirdmind/ (英文)
  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. 參:http://www.dwheeler.com/essays/gpl-compatible.html#xfree86 (英文)
  28. 參:http://www.osnews.com/story.php?news_id=6157 (英文)
  29. 參:http://www.dwheeler.com/essays/gpl-compatible.html#xfree86 (英文)
  30. 參:http://keithp.com/~keithp/talks/xserver_ols2004/ (英文)
  31. 參:http://wiki.x.org/wiki/ModularizationProposal (英文)
  32. 參:http://www.linuxdocs.org/HOWTOs/XWindow-User-HOWTO-2.html (英文)
  33. 參:http://www.xfree86.org/3.3.6/RELNOTES1.html (英文)
  34. 參:http://www.opengroup.org/tech/desktop/Press_Releases/x11r6.4ga.htm (英文)
  35. 參:http://lwn.net/Articles/79302/ (英文)
  36. http://xorg.freedesktop.org/wiki/ChangesSince68 (英文)
  37. 參:http://ftp.x.org/pub/X11R7.1/doc/RELNOTES.html (英文)
  38. 參:http://xorg.freedesktop.org/wiki/ChangesForX11R72 (英文)

[编辑] 参考文献

[编辑] 外部链接

您可以在维基共享资源中查找与此条目相关的多媒体资源:

[编辑] 相關內容

[编辑] 知名的實做

建議先行了解: W Window系统
可進一步認識: XFree86、X.Org

THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu