GNOME
出自Linux Wiki
简介
GNOME计划的目的是为GNU/Linux或UNIX系统提供一个易用的桌面环境,它的名称来自The GNU Network Object Model Environment(GNU网络对象模型环境)[1]。作为一款自由软件,GNOME是GNU计划的一部分。[2]
GNOME的官方读音是:/gəˈnoʊm/,也有很多人按照英语的发音读做/ˈnoʊm/[3]。
项目主要包括两个部分:GNOME桌面环境和GNOME开发环境。前者提供了一个吸引人的直观的用户桌面系统,后者则为开发者提供了一个开发GNOME应用程序的扩展架构。
它是完全自由的,可以免费获得。
GNOME社区非常重视软件的易用性,他们强调软件不应是一些功能的简单堆积。GNOME的支持包括中文在内的多种语言。GNOME同样重视残障人士,也为他们开发了相关工具。[4]
GNOME的目标是基于自由软件,为Unix或者类Unix操作系统构造一个功能完善、操作简单以及界面友好的桌面环境。目前被Linux和OpenSolaris等系统所采用。GNOME计划还受到了不少公司的支持,如:惠普、IBM、Mandriva、Novell、Red Hat和Sun。
起源
1997年8月,Miguel de Icaza和Federico Mena发起了GNOME计划,当初的目标是做一个KDE的替代品。
KDE是一个基于Qt的桌面环境,而QT由Trolltech开发,当时并未使用自由软件许可。GNU项目的成员关注于使用象这样的一种工具箱构造自由的软件桌面和应用软件,从而发起两个项目:一个是作为纯粹Qt库替代品的“Harmony”;还有就是目的在于使用完全与Qt无关的自由软件构造桌面系统的GNOME项目。
GIMP Toolkit (GTK+)被选作Qt的替代品,成为GNOME桌面的基础。GTK+使用LGPL自由软件许可证,允许使用到它的软件使用任意的许可证发布。GNOME桌面的库使用LGPL,而GNOME计划内的应用程序使用GPL许可证。
后来,2000年9月Trolltech在GNU GPL和QPL(去掉了大多数争论多年的内容)双重许可证下发布了GNU/Linux版的Qt库。2009年3月,Nokia在收购Trolltech后,又发布了LGPL协议的Qt,使其免于许可证的争议。但此时GNOME已经相当流行了。
GNOME桌面系统使用C语言编程,但也存在一些其它语言的绑定使得能够使用其它语言编写GNOME应用程序,例如C++, Java, Ruby, C#, Python, Perl等等。
开发人员组织结构
和大多数自由软件类似,GNOME开发组织也很松散,关于其开发的讨论散布于众多公开的邮件列表中。
2000年8月成立了GNOME基金会。基金会并不直接参与技术决策,而是协调发布和决定哪些对象应该成为GNOME的组成部分。基金会网站将其成员资格定义为:
“按照GNOME基金会章程,任何对GNOME有贡献者都可能是合格的成员。尽管很难精确定义,贡献者一般必须对GNOME计划有不小的帮助。其贡献形式包括代码、文档、翻译、计划范围的资源维护或者其它对GNOME计划有意义的重要活动 。”
基金会成员每年11月选举董事会,其候选人必须也是贡献者。
平台
尽管最初是GNU/Linux的桌面,GNOME已经运行在大多数类Unix系统(如*BSD变体、AIX、IRIX、HP-UX),它取代CDE被Sun Microsystems公司采纳为Solaris平台的标准桌面。GNOME也移植到Cygwin使其能运行于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桌面纯粹用C写成。关于是否使用其它高级语言C#,Python和Java等正在深入讨论。这些语言都已经用于开发GNOME应用程序,但是如果用于GNOME核心应用的开发就必须在所有GNOME安装中加入相应的虚拟机。这会抬高可以运行GNOME桌面的计算机的最低配置要求。
GNOME应用软件
较完整的GNOME应用软件列表在GNOME官方网站上。下面只列举其中很少的一部分:
- Abiword——文字处理器。
- Epiphany——网页浏览器。自从GNOME 2.14起Epiphany取代Galeon成为缺省浏览器。
- Evolution——联系/安排和e-mail管理。
- Empathy——即时通讯软件。
- gedit——文本编辑器。
- The Gimp——高级图像编辑器。
- Gnumeric——电子表格软件。
- Inkscape—— 矢量绘图软件。
- Nautilus——文件管理器。
- Rhythmbox——类型Apple iTunes的音乐管理软件。
- Totem——媒体播放器。
参考资料
- ↑ http://mail.gnome.org/archives/desktop-devel-list/2006-April/msg00436.html
- ↑ http://www.gnome.org/
- ↑ http://en.wikipedia.org/wiki/GNOME
- ↑ http://projects.gnome.org/accessibility/