KDE与GNOME之圣战
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
X Window 打造桌面环境
在介绍KDE和Gnome之前,我们有必要先来介绍UNIX/Linux图形环境的概念。对一个习惯Windows的用户来说,要正确理解UNIX /Linux的图形环境可能颇为困难,因为它与纯图形化Windows并没有多少共同点。Linux实际上是以UNIX为模板的,它继承了UNIX内核设计精简、高度健壮的特点,无论系统结构还是操作方式也都与UNIX无异。简单点说,你可以将Linux看成是UNIX类系统中的一个特殊版本。我们知道,微软Windows在早期只是一个基于DOS的应用程序,用户必须首先进入DOS 后再启动Windows进程,而从Windows 95开始,微软将图形界面作为默认,命令行界面只有在需要的情况下才开启,后来的Windows98/Me
实际上也都隶属于该体系。但在Windows2000之后,DOS被彻底清除,Windows成为一个完全图形化的操作系统。但UNIX/Linux与之不同,强大的命令行界面始终是它们的基础,在上个世纪八十年代中期,图形界面风潮席卷操作系统业界,麻省理工学院(MIT)也在1984年与当时的DEC 公司合作,致力于在UNIX系统上开发一个分散式的视窗环境,这便是大名鼎鼎的“X Window System”项目。不过,X Window(请注意不是XWindows)并不是一个直接的图形操作环境,而是作为图形环境与UNIX 系统内核沟通的中间桥梁,任何厂商都可以在XWindow基础上开发出不同的GUI图形环境。MIT和DEC的目的只在于为UNIX系统设计一套简单的图形框架,以使UNIX工作站的屏幕上可显示更多的命令,对于GUI 的精美程度和易用程度并不讲究,毕竟那时候能够熟练操作UNIX的都是些习惯命令行的高手,根本不在乎GUI存在与否。1986 年,MIT正式发行X Window,此后它便成为UNIX的标准视窗环境。紧接着,全力负责发展该项目的X协会成立,XWindow进入了新阶段。与此同步,许多UNIX
厂商也在X Window原型上开发适合自己的UNIXGUI视窗环境,其中比较著名的有SUN与AT&T联手开发的“Open Look”、IBM主导下的OSF (Open SoftwareFoundation,开放软件基金会)开发出的“Motif”。而一些爱好者则成立了非营利的XFree86组织,致力于在X86系统上开发XWindow,这套免费且功能完整的XWindow很快就进入了商用UNIX系统中,且被移植到多种硬件平台上,后来的Linux也直接从该项目中获益。当然,这些早期的XWindow环境都设计得很简单,许多GUI元素模仿于微软的Windows,但XWindow拥有一个小小的创新:当鼠标指针移动到某个窗口时,该窗口会被自动激活,用户无需点击便能够直接输入,简化了用户操作—这个特性在后来的KDE和Gnome中也都得到完整的继承。
由于必须以UNIX系统作为基础,XWindow注定只能成为UNIX上的一个应用,而不可能与操作系统内核高度整合,这就使得基于XWindow的图形环境不可能有很高的运行效率,但它的优点在于拥有很强的设计灵活性和可移植性。X Window从逻辑上分为三层:最底层的XServer(X服务器)主要处理输入/输出信息并维护相关资源,它接受来自键盘、鼠标的操作并将它交给X Client(X客户端)作出反馈,而由XClient传来的输出信息也由它来负责输出;最外层的XClient则提供一个完整的GUI界面,负责
与用户的直接交互(KDE、Gnome都是一个X Client),而衔接X Server 与XClient的就是“X Protocol(X通讯协议)”、它的任务是充当这两者的沟通管道。尽管UNIX厂商采用相同的XWindow,但由于终端的X Client 并不相同,这就导致不同UNIX产品搭配的GUI界面看起来非常不一样。
图 49.1. X Window系统架构示意图
KDE项目的发起
MIT的X Window推出之后就成为UNIX图形界面的标准,但在商业应用上分为两大流派:一派是以Sun公司领导的OpenLook阵营,一派是IBM/HP领导的OSF(Open SoftwareFoundation)的Motif,双方经过多年竞争之后,Motif最终获得领先地位。不过,Motif只是一个带有窗口管理器(Window-Manager)的图形界面库(Widget-Library),而非一个真正意义上的GUI界面。经过协商之后IBM/HP与SUN决定将Motif 与Open Look整合,并在此基础上开发出一个名为“CDE(Common Desktop Environment)”的GUI作为UNIX的标准图形界面。遗憾的是,Motif/CDE和UNIX系统的价格都非常昂贵,而当时微软的Windows发展速度惊人并率先在桌面市场占据垄断地位,CDE则一直停留在UNIX领域提供给root系统管理员使用,直到今天情况依然如此。
图 49.2. KDE 1.0尽管设计粗糙,但它奠定了整个KDE项目的基础。
在上个世纪九十年代中期,以开源模式推进的Linux在开发者中已经拥有广泛的影响力。尽管X Window已经非常成熟,也有不少基于XWindow 的图形界面程序,但它们不是未具备完整的图形操作功能就是价格高昂(如CDE),根本无法用于Linux系统中。如果Linux要获得真正意义上的突破,一套完全免费、功能完善的GUI就非常必要。1996年10月,图形排版工具Lyx的开发者、一位名为MatthiasEttrich的德国人发起了KDE (Kool Desktop Environment)项目,与之前各种基于XWindow的图形程序不同的是,KDE并非针对系统管理员,它的用户群被锁定为普通的终端用户,MatthiasEttrich希望KDE能够包含用户日常应用所需要的所有应用程序组件,例如Web浏览器、电子邮件客户端、办公套件、图形图像处理软件等等,将UNIX/Linux彻底带到桌面。当然,KDE符合GPL规范,以免费和开放源代码的方式运行。
KDE项目发起后,迅速吸引了一大批高水平的自由软件开发者,这些开发者都希望KDE能够将Linux系统的强大能力与舒适直观的图形界面联结起来,创建最优秀的桌面操作系统。经过艰苦卓绝的共同努力,KDE 1.0终于在1998年的7月12日正式推出。以当时的水平来说,KDE1.0在技术上可圈可点,它较好的实现了预期的目标,各项功能初步具备,开发人员已经可以很好地使用它了。当然,对用户来说,KDE1.0远远比不上同时期的Windows 98来得平易近人,KDE 1.0中大量的Bug更是让人头疼。但对开发人员来说,KDE1.0的推出鼓舞人心,它证明了KDE项目开源协作的开发方式完全可行,开发者对未来充满信心。有必要提到的是,在KDE1.0版的开发过程中,SuSE、Caldera等Linux商业公司对该项目提供资金上的支持,在1999年,IBM、Corel、RedHat、富士通-西门子等公司也纷纷对KDE项目提供资金和技术支持,自此KDE项目走上了快速发展阶段并长期保持着领先地位。但在2004年之后,GNOME不仅开始在技术上超越前者,也获得更多商业公司的广泛支持,KDE丧失主导地位,其原