用于 Solaris 操作环境的 GNOME 2.0 桌面系统管理指南

GConf 库

GConf 库中的每个首选项都表示为一个键值对。 GConf 首选项键是库中与应用程序首选项对应的一个元素。 例如,/apps/gnome-session/options/show_splash_screen 首选项键与“会话”首选项工具中“登录时显示启动画面”选项对应。 GNOME 用户界面不包含 GConf 库中的所有首选项键。例如,“会话”首选项工具不包含对应于 /apps/gnome-session/options/splash_screen_text 键的选项。

库的结构类似于一个简单的分级文件系统。 库包含以下内容:

通常,首选项键具有简单值,例如:字符串、整数或字符串和整数的列表。 库中的首选项键的格式取决于用于读库的后端模块。 以下是使用可扩展标记语言 (XML) 后端模块读取库时的 /desktop/gnome/interface/font_name 首选项键的示例:

<entry name="font_name" mtime="1038323555" muser="user123" type="string">
<stringvalue>avantgarde 10</stringvalue></entry>

注意:

在本指南中谈到首选项键时,键名称中加上了该键的路径。 例如,/desktop/gnome/interface 子目录中的 font_name 首选项键又称 /desktop/gnome/interface/font_name


GConf 配置源

GConf 库包含一系列被称为配置源的存储位置。 配置源列在 GConf 路径文件中。 GConf 路径文件的位置是 /etc/gconf/version_number/path 。 每个用户都有一个路径文件。 路径文件中的每一行指定以下信息:

默认情况下,GConf 路径文件的内容如下所示:

xml:readonly:/etc/gconf/gconf.xml.mandatory include "$(HOME)/.gconf.path"
xml:readwrite:$(HOME)/.gconf
xml:readonly:/etc/gconf/gconf.xml.defaults

GConf 搜索首选项值时,GConf 按照路径文件中指定的顺序读取配置源。 下表说明路径文件中的配置源:

配置源 

说明 

强制 

此配置源上的权限设为只读。 用户不能覆盖此配置源中的值,因此,此源中的首选项是强制的。 

用户 

此配置源存储在用户主目录中的 .gconf 目录中。 用户设置首选项时,新的首选项信息将添加到这里。

默认 

此配置源包含默认的首选项设置。 

路径文件中配置源的顺序确保强制首选项设置可以改写用户首选项设置。 此顺序还确保用户首选项设置将改写默认首选项设置。 也就是说,GConf 按以下优先级顺序应用首选项:

  1. 强制首选项

  2. 用户指定的首选项

  3. 默认首选项

通过更改 GConf 路径文件中的 include 指令,用户可以使用另一个配置源。要使用另一个配置源,用户必须指定此配置源的位置。 用户在主目录中一个名为 .gconf.path 的文件中指定此配置源的位置。

GConf 架构

GConf 架构GConf 架构键GConf 架构对象的统称。下表说明架构键和架构对象以及这些项目与首选项键之间的关系:

菜单项 

说明 

首选项键 

GConf 库中对应于应用程序首选项的元素。

架构键 

为首选项键存储架构对象的键。  

架构对象 

配置源中包含有关首选项键的信息的元素,例如以下信息: 

  • 使用此首选项键的应用程序的名称。

  • 此首选项键所需的值类型,例如整型、布尔型等。

  • 首选项键的默认值。

  • 有关首选项键的概要文档。

下表给出首选项键、架构键和架构对象的示例:

菜单项 

示例 

首选项键 

/desktop/gnome/interface/font_name

架构键 

/schemas/desktop/gnome/interface/font_name

架构对象 

<schema>
  <applyto>/desktop/gnome/interface/font_name</applyto>
  <key>/schemas/desktop/gnome/interface/font_name</key>
  <owner>gnome</owner>
  <type>string</type>
  <default>Sans 10</default>
  <locale name="C">
    <short>Default font</short>
      <long>Name of the default font used by gtk+.</long>
  </locale>
</schema>

可以将一个架构键与一个首选项键关联起来。 例如,下面的 /desktop/gnome/interface/font_name 键包含一个架构键:

<entry name="font_name" mtime="1034873859" 
schema="/schemas/desktop/gnome/interface/font_name"/>

将架构键与首选项键相关联后,首选项将使用架构键的架构对象中指定的建议值。 建议值包含在架构对象的 <default> 元素中。 默认情况下,默认配置源中所有的首选项键都与架构键相关联。

通常,架构存储在默认的配置源中。

GConf 架构定义文件

架构从架构定义文件生成。架构定义文件定义特定应用程序中所有键的特性。 架构定义文件的扩展名为 .schemas

架构定义文件包含在 /etc/gconf/schemas 目录中。 可以用架构定义文件创建新的配置源。

有些架构定义文件与 GNOME 用户界面的一部分密切相关。 例如,system_http_proxy.schemas 对应于网络代理首选项工具。 而另一些架构定义文件包含 GNOME 用户界面中不显示的首选项键。 例如,用户界面中不显示 /apps/gnome-session/options/splash_screen_text 键。

GNOME 用户界面的某些部分所包含的首选项可能表示一个以上的架构定义文件中的首选项键。例如,键盘快捷键首选项工具包含的首选项表示 panel-global-config.schemas metacity.schemas 文件中的键。