百科解释
目录·起源·目标·组织·平台·架构·未来发展·Freedesktop.org和GNOME·主要GNOME应用软件·版本·参见 GNOME,即GNU网络对象模型环境 (The GNU Network Object Model Environment),GNU计划的一部分,开放源码运动的一个重要组成部分。 目标是基于自由软件,为Unix或者类Unix操作系统构造一个功能完善、操作简单以及界面友好的桌面环境,他是GNU计划的正式桌面。 起源 GNOME计划是1997年8月由Miguel de Icaza和Federico Mena发起,作为KDE的替代品。 使用孟加拉语的GNOME KDE是一个基于Qt部件工具箱的自由桌面环境,而QT是由Trolltech开发,当时并未使用自由软件许可。GNU项目的成员关注于使用象这样的一种工具箱构造自由的软件桌面和应用软件,从而发起两个项目:一个是作为纯粹Qt库替代品的“Harmony”;还有就是目的在于使用完全与Qt无关的自由软件构造桌面系统的GNOME项目。 在GNOME变得实用和普及之后,2000年9月Trolltech在GNU GPL和QPL(去掉了大多数争论多年的内容)双重许可证下发布了GNU/Linux版的QT库。但是Qt的许可证还是在许多人中间有争议,因为GPL用于库时对与之链接的代码-例如的KDE框架和任何为其编写的程序-都施加了许可证限制。 GIMP Toolkit(GTK+)被选中做为Qt toolkit的替代,担当GNOME桌面的基础。GTK+使用GNU宽通用公共许可证(LGPL,一个自由软件许可证),允许链接到它的软件——例如GNOME的应用程序——使用任意的许可证。GNOME桌面的库使用LGPL,而GNOME计划内的应用程序使用GPL许可证。 GNOME桌面系统使用C语言编程,但也存在一些其他语言的绑定使得能够使用其他语言编写GNOME应用程序,例如C++, Java, Ruby, C#, Python, Perl 等等。 目标 引自GNOME网站: GNOME计划提供了两个东西:GNOME桌面环境,一个对最终用户来说符合直觉并十分吸引人的桌面;还有GNOME开发平台,一个能使开发的应用程序与桌面其他部分集成的可扩展框架。 GNOME桌面主张简单、好用和恰到好处,因此GNOME开发中有两点很突出: 易用性——设计和建立为所有人所用的桌面和应用程序,不论其技术技巧和身体残疾。 国际化——保证桌面和应用程序可以用于很多语言。 组织 和大多数自由软件类似,GNOME组织也很松散,其关于开发的讨论散布于众多向任何人开发的邮件列表。为了处理管理工作、施加影响以及于同对开发GNOME软件有兴趣的公司联系,2000年8月成立了GNOME基金会。基金会并不直接参与技术决策,而是协调发布和决定哪些对象应该成为GNOME的组成部分。基金会网站将其成员资格定义为: “按照GNOME基金会章程,任何对GNOME有贡献者都可能是合格的成员。尽管很难精确定义,贡献者一般必须对GNOME计划有不小帮助。其贡献形式包括代码、文档、翻译、计划范围的资源维护或者其它对GNOME计划有意义的重要活动 。” 基金会成员每年11月选举董事会,其候选人必须也是贡献者。 平台 尽管最初是GNU/Linux的桌面,GNOME已经运行在大多数类Unix系统(如*BSD变体、AIX、IRIX、HP-UX),并被Sun Microsystems公司采纳为Solaris平台的标准桌面,取代了过时的CDE。Sun Microsystems公司也以Java Desktop System名义发布一个商业版的桌面-一个被SUSELinux系统使用的基于GNOME的桌面。GNOME也移植到Cygwin使其能运行于Microsoft Windows。GNOME 还被众多LiveCDLinux发行版使用,如Gnoppix,Morphix和Ubuntu。LiveCD 能使计算机直接从CD启动,无需删除或者改变现有操作系统如Microsoft Windows。 架构 GNOME桌面由许多不同的项目构成,部分最重要的如下所示: ATK——可达性工具包 Bonobo——复合文档技术 GObject——用于C语言的面向对象框架 GConf——保存应用软件设置 GNOME VFS——虚拟档案系统 GNOME Keyring——安全系统 GNOME Print——GNOME软件打印文档 GStreamer——GNOME软件的多媒体框架 GTK+——构件工具包 Cairo——复杂的2D图形库 Human Interface Guidelines——Sun微系统公司提供的使得GNOME应用软件易于使用的研究和文档 LibXML——为GNOME设计的XML库 ORBit——使软件组件化的CORBAORB Pango——i18n文本排列和变换库 Metacity——窗口管理器 未来发展 在GNOME之下还有很多子计划,现在它们并不是都包含在GNOME发布版里。一些基于概念的纯粹试验性质的有朝一日或许加入稳定的GNOME软件,其他还有一些正在完善以便直接加入。例如: GNOME存储 D-BUS 尽管GNOME应用软件可以使用很多编程语言,但是作为GNOME发行版一部分的GNOME桌面纯粹用C写成。关于是否使用其他高级语言C#,Python和Java等正在深入讨论。这些语言都已经用于开发GNOME应用程序,但是如果用于GNOME核心应用的开发就必须在所有GNOME安装中加入相应的虚拟机。这会抬高可以运行GNOME桌面的计算机的最低配置要求。 Freedesktop.org和GNOME Freedesktop.org是一项帮助在不同的X Window桌面——例如GNOME,KDE或者XFCE——之间实现互操作和共享技术的计划。尽管并非正式标准化组织,Freedesktop.org定义了X桌面的基本特征,包括程序之间的拖放、窗口管理器规范、菜单布局、最近文件列表、程序之间复制粘贴和共享的MIME 类型数据库等等。遵从Freedesktop.org规范使得GNOME应用程序能够集成到其他桌面(反之亦然),并鼓励之间的竞争和合作。 主要GNOME应用软件 其中主要的包括: Abiword——文字处理器。 Epiphany——网页浏览器。自从GNOME 2.4起Epiphany取代Galeon成为默认浏览器。 Evolution——联系/安排和e-mail管理。 Gaim(Pidgin)——即时通讯软件。 gedit——文本编辑器。 The Gimp——高级图像编辑器。 Gnumeric——电子表格软件。 Ekiga——IP电话或者电话软件。 Inkscape—— 矢量绘图软件。 Nautilus——文件管理器。 Rhythmbox——类似Apple iTunes的音乐管理软件。 Totem——媒体播放器。 版本 稳定版本 组成GNOME计划的每一部分(见架构)都有自己的版本号和发布规划。但是单个模块的维护者协调彼此的工作以便大约每6个月建立一个完整的GNOME发布版本。下边的发布版本列表分类属于稳定版。提供给测试和开发者的不稳定版本和修复单个模块缺陷都没有列入。 即将到来的版本 CVS版本 大多数操作系统安装只包括GNOME桌面的稳定和已测试版本。开发者则对使用最新的CVS 版本进行测试、修复缺陷和增加新特征有兴趣(注:开发中的代码并不推荐作为日常使用,因为其中包含许多未经测试的修改和试验性的变更)。下载源代码后手工编译和安装GNOME桌面是一个辛苦和耗时的工作,有一些构造脚本——例如jhbuild用于自动化这一过程。 参见 GnomeFiles ——软件库 Linux文档计划