X窗口系统

類UNIX系統的圖形控制器和網絡協議
(重定向自X视窗系统

X窗口系统X Window System,也常称为X11X,天窗口系统)是一种以位图方式显示的软件窗口系统。最初是1984年麻省理工学院的研究,之后变成UNIX类UNIX、以及OpenVMS操作系统所一致适用的标准化软件工具包及显示架构的运作协议。X窗口系统通过软件工具及架构协议来建立操作系统所用的图形用户界面,此后则逐渐扩展适用到各形各色的其他操作系统上。现在几乎所有的操作系统都能支持与使用X。更重要的是,今日知名的桌面环境——GNOMEKDE也都是以X窗口系统为基础建构成的。

X窗口系统
开发者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的C/S模式和网络透明性

编辑

X能为GUI环境提供基本的框架:在屏幕上描绘、呈现图像与移动程序窗口,同时也受理、执行、及管理电脑与鼠标键盘的交互程序。不过,X并没有管辖到用户界面的部分,而是由其他以X为基础的实现体来负责,也因为如此,以X为基础环境所开发成的视觉样式非常地多;不同的程序可能有截然不同的接口呈现。

X采用C/S的架构模型,由一个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的C/S体系(C/S架构)设计在应用程序和视频硬件之间多加了一层软件,导致绘图效率下降,所以引起了一些批评。因此开发了若干扩展,在设备和客户机在同一个系统上时,通过在获取适当许可的情况下,以直接访问设备来改善这一问题。而在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世界也有雅典娜工程(1982年)和Rob PikeBlit终端(1984年)。

X从1983年之前称为W Window系统的窗口系统中,推衍出它的名字当作是继任者(在拉丁字母里面X直接接在W后面)。W Window系统是运行于V操作系统。W使用一个支持终端和图形窗口的网络协议,而服务器维护显示的列表。

起源和早期的发展

编辑

X起初是MIT于1984年的构想,当作为雅典娜工程吉姆·给提英语Jim Gettys和MIT计算机科学实验室的鲍伯·斯凯夫勒英语Bob Scheifler的共同研究。Scheifler需要一个可以使用的显示环境来对Argus系统调试。雅典娜工程,是DEC、MIT、和IBM之间的联合项目,用来提供给需要一个平台独立显示系统,可把不同种类多个制造商之系统链接在一起,给所有学生容易访问电脑资源;该窗口系统曾经在卡耐基美隆大學(Carnegie Mellon University,CMU)的雅典娜工程中发展过,但是在授权上并可能得到且没有其他可替代可选择。

该项目借由创立一个可以执行本地应用程序且能够拜访远程资源的协议来解决这个问题。起初在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窗口系统标准最新版本截至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窗口系统”一般也简称成“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窗口系统所用的协议(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). 

参考书籍

编辑

外部链接

编辑

相关内容

编辑

知名的实做

编辑