目录
本章讨论以下主题:
GConf 是一种用于存储应用程序自选设置的系统,它简化了用户自选设置的管理。 管理员可使用 GConf 执行以下操作:
为所有用户设置特定自选设置的必须值。 这可控制用户是否能够更新特定自选设置。
为所有用户设置特定自选设置的默认值。
对自选设置定义文件中指定的自选设置使用建议值。
阅读有关每个自选设置的文档。
当自选设置值更改时,GConf 还可本地或通过网络通知应用程序。 因此,更改自选设置时,使用该自选设置的所有应用程序都会立即更新。
GConf 可提供自选设置数据库(类似于简单的文件系统)。 此文件系统包含层次结构组织的密钥。 每个密钥可能是包含多个密钥匙的目录,或密钥具有值。 例如,密钥 /apps/metacity/general/titlebar_font 包含一个整数值,该值提供 Metacity 窗口管理器的标题栏字体大小。
GConf 具有以下组件:
GConf 存储库中的每个自选设置都表示为密钥值对。 GConf 自选设置密钥是存储库中的一个元素,它与一个应用程序自选设置对应。 例如,/apps/gnome-session/options/show_splash_screen 自选设置密钥与“会话”自选设置工具中的“登录时显示启动屏幕”选项对应。 GNOME Desktop 用户界面不包含 GConf 存储库中的任何自选设置密钥。 例如,“面板”自选设置工具内不包含与 /apps/panel/global/tooltips_enabled 密钥对应的选项。
存储库的构造类似于简单的分级文件系统。 存储库包含以下对象:
目录,与使用 GConf 存储库的应用程序对应。 例如,文件系统包含目录 /apps/metacity。
子目录,与自选设置的类别对应。 例如,文件系统包含目录 /apps/metacity/general。
特殊文件,这些文件列出目录中的自选设置密钥并包含有关密钥的信息。 例如,如果密钥与 HTTP 代理自选设置有关,则包含有关这些密钥的信息的文件位于目录 /system/http_proxy 中。
/schemas 目录包含描述所有自选设置密钥的文件。
通常,自选设置密钥具有简单的值,如字符串、整数或字符串列表和整数列表。 存储库中自选设置密钥的格式取决于用于读取存储库的后端模块。 以下是当使用可扩展标记语言(XML)读取存储库时的 /desktop/gnome/interface/font_name 自选设置密钥示例:
<entry name=”font_name” mtime=”1038323555” muser=”user123” type=”string”> <stringvalue>Sans 10</stringvalue> </entry>
![]() | 注意 |
|---|---|
当本指南引用自选设置密钥时,会向密钥名称添加到密钥的路径。 例如,将作为 | |
GConf 存储库包含成为配置源的一系列存储位置。 配置源列在 /etc/opt/gnome/opt/gnome/gconf/ gconf-version-number/ 路径下的 GConf 路径文件中。 每个用户都有一个路径文件。 路径文件指定每个配置源的以下信息:
用于读取存储库的后端模块
存储库的许可权限
存储库的位置
GConf 路径文件还包含包括指示信息。 默认情况下,GConf 路径文件的内容如下所示:
xml:readonly:/etc/opt/gnome/opt/gnome/gconf/gconf.xml.mandatory include /etc/opt/gnome/opt/gnome/gconf/2/local-mandatory.path include “$(HOME)/.gconf.path” include /etc/opt/gnome/opt/gnome/gconf/2/local-defaults.path xml:readwrite:$(HOME)/.gconf xml:readonly:/etc/opt/gnome/opt/gnome/gconf/gconf.xml.defaults
当 GConf 搜索自选设置值时,它会以路径文件中指定的顺序读取配置源。 下表描述路径文件中的配置源:
路径文件中的配置源的顺序确保必需自选设置覆盖用户自选设置。 顺序还确保用户自选设置覆盖默认自选设置。 即,GConf 通过以下优先级顺序应用自选设置:
必需自选设置
用户指定的自选设置
默认自选设置
GConf 路径文件中的包括指示信息使系统管理员能够指定其他配置源:
GConf 模式是一个用于 GConf 模式密钥和 GConf 模式对象的集合术语。 下表说明了模式密钥和模式对象以及它们与自选设置密钥的关系:
以下是自选设置密钥、模式密钥和模式对象的示例:
表 10.4. 自选设置密钥、模式密钥和模式对象示例
可将模式密钥与自选设置密钥关联。 例如,以下 /desktop/gnome/interface/font_name 密钥包含模式密钥:
<entry name=”font_name” mtime=”1034873859” schema=”/schemas/desktop/gnome/interface/font_name”/>
将模式密钥与自选设置密钥关联时,自选设置会使用模式密钥的模式对象中所指定的建议值。 建议值包含在模式对象中的 <default> 元素中。 默认情况下,默认配置源中的所有自选设置密钥都与模式密钥关联。
模式通常存储在默认配置源中。
模式生成于模式定义文件。 模式定义文件定义特定应用程序中所有密钥的特征。 模式定义文件具有 .schemas 扩展名。
模式定义文件包含在 /etc/opt/gnome/opt/gnome/gconf/schemas 目录中。 可使用模式定义文件来创建新的配置源。
一些模式定义文件与 GNOME Desktop 用户界面的一部分紧密对应。 例如,system_http_proxy.schemas 与“网络代理”自选设置工具对应。 其他模式定义文件包含不在 GNOME Desktop 用户界面中的自选设置密钥。 例如,/apps/panel/global/tooltips_enabled 密钥不存在。
GNOME Desktop 用户界面某些部分所包含的自选设置表示来自多个模式定义文件的自选设置密钥。 例如,“键盘快捷方式”自选设置工具所包含的自选设置表示来自 panel-global-config.schemas 和 metacity.schemas 文件的密钥。
GConf 守护程序称为 gconfd-2。当自选设置值更改时,它会通知应用程序。 例如,可在“菜单和工具栏”自选设置工具中选择以在工具栏中只显示图标。 在自选设置工具中选择此选项时,将会即时更新所有打开的应用程序上的工具栏。 守护程序可本地运行,或通过网络访问守护程序。
GConf 守护程序的实例启动时将面向每个用户。 用户无需处理复杂的问题,如认证和数据安全性。 守护程序启动时,它会装载 GConf 路径文件。 守护程序还管理应用程序和配置源之间的所有访问。
当应用程序请求自选设置密钥的值时,守护程序会如下搜索配置源:
通过路径文件中指定的顺序来在每个配置源中搜索自选设置密钥的值。
如果找到值,则返回值。
如果未找到值,则通过路径文件中指定的顺序来在每个配置源中搜索与自选设置密钥对应的模式密钥。
如果找到模式密钥,则检查模式密钥的值。
如果模式密钥的值是模式对象,则返回模式对象 <default> 元素中的建议值。
GConf 守护程序还可超速缓存自选设置密钥值。 所有应用程序都使用此超速缓存,因此应用程序只需访问配置源一次。
要终止 GConf 守护程序,请使用以下命令:
gconftool-2 --shutdown
GConf 包含称为 gconftool-2 的命令行工具。可使用 gconftool-2 来执行以下任务:
设置密钥的值
显示密钥的值
安装应用程序时,从模式定义文件安装模式
例如,可使用以下命令来显示 /desktop/gnome 目录和子目录中的所有密钥的值:
gconftool-2 --recursive-list /desktop/gnome
下表列出可与 gconftool-2 命令一起使用的一些选项:
表 10.5. gconftool-2 选项
|
选项 |
功能 |
|---|---|
|
|
列出指定目录中的所有子目录。 |
|
|
显示指定目录中所有密钥的值。 |
|
|
与 |
|
|
与 |
|
|
生成列表,该列表包含指定 GConf 存储库目录中的所有自选设置密钥。 列表包含 <gconfentryfile> 元素中所有密钥的 XML 说明。 例如,可重定向此选项的输出以生成列出了与面板配置相关的所有密钥的文件。 可将 |
|
|
显示指定的自选设置密钥的值。 还显示指定模式密钥的模式对象中元素的值。 |
|
|
显示有关 gconftool-2 命令的帮助讯息以及可与此命令一起使用的选项。 |
|
|
将配置源当前目录中的自选设置密钥的值设置为指定文件中的值。 指定的文件必须在 |
|
|
与 |
|
|
向应用程序安装模式定义文件。 |
|
|
与 |
|
|
显示指定目录中所有子目录中的所有自选设置密钥的值。 |
|
|
将目录中所有子目录中的所有自选设置密钥的值从用户设置重置为默认配置源中的设置。 |
|
|
设置自选设置密钥的值并将值写入到用户配置源。 将其与
gconftool-2 --set “/apps/gnome-terminal/profiles/Default/background_color” --type string “#000000”
还可将其与 |
|
|
设置模式密钥中特性的值并将值写入到默认配置源。 将其与以下选项一起使用以指定希望更新的特性:
例如,以下命令在模式密钥中设置
gconftool-2 --set-schema “/schemas/apps/gnome-terminal/profiles/Default/background_color” --short-desc “Default background color of terminal”
|
|
|
与 |
|
|
终止 GConf 守护程序。 |
|
|
设置自选设置密钥的值时,指定数据类型。 当设置模式密钥中的特性值时,也可以使用此选项。 以下是有效数据类型:
|
|
|
将自选设置密钥值从用户设置重置为默认配置源中的设置。 |
|
|
显示有关 gconftool-2 命令的简短帮助讯息以及可与此命令一起使用的选项。 |
可设置自选设置密钥的必需值或默认值。 在更改必需自选设置值或用户默认自选设置值之前,必须确保所有用户都没有运行 GConf 守护程序。
![]() | 重要 |
|---|---|
更改必需自选设置值或用户默认自选设置值之前,必须确保所有用户已注销。 | |
要设置自选设置密钥的必需值或默认值,请使用 gconftool-2 命令,如下所示:
gconftool-2 --direct --config-source configuration-source --type data-type --set preference-keyvalue
例如,要将 wwwproxy.xyz.com 设置为必需 HTTP 代理主机,则使用以下命令:
gconftool-2 --direct --config-source xml:readwrite:/etc/opt/gnome/opt/gnome/gconf/gconf.xml.mandatory --type string --set /system/http_proxy/host wwwproxy.xyz.com
用户不能覆盖此自选设置值。
还可使用 gconftool-2 命令来设置默认值。 例如,要将默认工作空间数设置为 5,则使用以下命令:
gconftool-2 --direct --config-source xml:readwrite:/etc/opt/gnome/opt/gnome/gconf/gconf.xml.defaults --type int --set /apps/metacity/general/num_workspaces 5
用户可以覆盖此自选设置值。
以下章节说明如何向常规自选设置指派必需或默认值:
要设置 HTTP 代理自选设置,可修改 /system/http_proxy/ 中的自选设置密钥值。 例如,要设置 HTTP 代理主机的必需值,则使用以下命令:
gconftool-2 --direct --config-source xml:readwrite:/etc/opt/gnome/opt/gnome/gconf/gconf.xml.mandatory --type string --set /system/http_proxy/host proxy-name
要设置 HTTP 代理主机的默认值,则使用以下命令:
gconftool-2 --direct --config-source xml:readwrite:/etc/opt/gnome/opt/gnome/gconf/gconf.xml.defaults --type string --set /system/http_proxy/host proxy-name
还可设置其他与 HTTP 代理相关的自选设置。 有关更多信息,请参见 system_http_proxy.schemas 模式定义文件。
要设置打印管理器的自选设置,可修改 /apps/gnome-print-manager location 中的自选设置密钥值。 例如,如果不希望用户查看其他用户的打印作业,可如下设置必需值:
gconftool-2 --direct --config-source xml:readwrite:/etc/opt/gnome/gconf/gconf.xml.mandatory --type bool --set /apps/gnome-print-manager/show_all_jobs false
要设置此自选设置的默认值,则使用以下命令:
gconftool-2 --direct --config-source xml:readwrite:/etc/opt/gnome/gconf/gconf.xml.defaults --type bool --set /apps/gnome-print-manager/show_all_jobs false
还可设置其他打印管理器自选设置。 有关更多信息,请参见 gnome-print-manager.schemas 模式定义文件。
要设置必需工作空间数,可使用以下命令:
gconftool-2 --direct --config-source xml:readwrite:/etc/opt/gnome/gconf/gconf.xml.mandatory --type int --set /apps/metacity/general/num_workspaces integer
要设置默认工作空间数,可使用以下命令:
gconftool-2 --direct --config-source xml:readwrite:/etc/opt/gnome/gconf/gconf.xml.defaults --type int --set /apps/metacity/general/num_workspaces integer
还可设置其他窗口管理器自选设置。 有关更多信息,请参见 metacity.schemas 模式定义文件。
要设置键盘无障碍操作性自选设置,可修改 /desktop/gnome/accessibility/keyboard location 中的自选设置密钥值。例如,如果希望设置必需值以便启用键盘无障碍操作性功能,则使用以下命令:
gconftool-2 --direct --config-source xml:readwrite:/etc/opt/gnome/gconf/gconf.xml.mandatory --type bool --set /desktop/gnome/ accessibility/keyboard/enable true
要设置此自选设置的默认值,则使用以下命令:
gconftool-2 --direct --config-source xml:readwrite:/etc/opt/gnome/gconf/gconf.xml.defaults --type bool --set /desktop/gnome/ accessibility/keyboard/enable false
还可设置其他键盘操作性自选设置。 有关更多信息,请参见 desktop_gnome_accessibility_keyboard.schemas 模式定义文件。
要设置键盘快捷方式自选设置,可修改 /apps/ metacity/global_keybindings 位置中的自选设置密钥值。 例如,您可能会希望用户只使用 Alt+F3 键盘快捷方式来打开“运行应用程序”对话框。 要设置此必需值,请使用以下命令:
gconftool-2 --direct --config-source xml:readwrite:/etc/opt/gnome/gconf/gconf.xml.mandatory --type string --set /apps/metacity/global_keybindings ’<Alt>F3’
还可设置其他键盘快捷方式自选设置。 有关更多信息,请参见 metacity.schemas 模式定义文件。
panel-default-setup.entries 文件指定 GNOME Desktop 中的以下面板细节:
面板数
面板类型
面板属性
面板内容
配置各个面板和面板对象是非常复杂的任务。 必须首先理解 panel-default-setup.entries 文件的结构。 有关详细信息,参见 第 10.1.5.6.1 节 “指定各个面板和面板对象”。
要设置各个面板和面板对象的自选设置,必须在配置源中设置许多自选设置的值。 执行此操作最简单的方式是将 gconftool-2 命令与 --dump and --load 选项一起使用。 有关详细信息,参见 第 10.1.5.6.2 节 “设置各个面板和面板对象的自选设置”。
panel-default-setup.entries 文件包含指定面板和面板内容的部分,并且该文件指定模式密钥的值。 此文件位于 /etc/opt/gnome/gconf/schemas 目录中。
panel-default-setup.entries 文件的结构如下所示:
指定 GNOME Desktop 中面板、小程序和其他面板对象的常规结构的密钥。
以下密钥指定 GNOME Desktop 中显示的面板数、面板对象数和小程序数:
/apps/panel/default_setup/general/toplevel_id_list
/apps/panel/default_setup/general/object_id_list
/apps/panel/default_setup/general/applet_id_list
这些密钥还向每个面板、面板对象和小程序指派标识符。 例如,以下 panel-default-setup.entries 中的样本指定在 GNOME Desktop 中显示一个面板:
<entry>
<key>toplevel_id_list</key>
<schema_key>/schemas/apps/panel/general/toplevel_id_list
</schema_key>
<value>
<list type=”string”>
<value>
<string>bottom_panel</string>
</value>
</list>
</value>
</entry>
在 panel-default-setup.entries 文件中,标识符 bottom_panel 标识底部边缘面板。
指定面板属性的密钥。
面板属性密钥的结构如下所示:
/apps/panel/default_setup/toplevels/panel-name/panel-property-key
例如,/apps/panel/default_setup/toplevels/bottom_panel/size 密钥指定底部面板的大小。
指定面板对象、面板对象属性和驻留对象的面板的密钥。
例如,panel-default-setup.entries 中的以下示例指定位于底部面板左侧的“主菜单”对象:
<entrylist base=”/apps/panel/default_setup/objects/main_menu”>
<entry>
<key>object_type</key>
<schema_key>/schemas/apps/panel/objects/object_type</schema_key>
<value>
<string>menu-object</string>
</value>
</entry>
<entry>
<key>toplevel_id</key>
<schema_key>/schemas/apps/panel/objects/toplevel_id</schema_key>
<value>
<string>bottom_panel</string>
</value>
</entry>
<entry>
<key>position</key>
<schema_key>/schemas/apps/panel/objects/position</schema_key>
<value>
<int>0</int>
</value>
</entry>
.
.
.
</entrylist>
指定小程序、小程序自选设置和驻留小程序的面板的密钥。
例如,panel-default-setup.entries 中的以下示例指定底部面板中的“窗口列表”小程序:
<entrylist base=”/apps/panel/default_setup/applets/window_list”>
<entry>
<key>object_type</key>
<schema_key>/schemas/apps/panel/objects/object_type
</schema_key>
<value>
<string>bonobo-applet</string>
</value>
</entry>
<entry>
<key>toplevel_id</key>
<schema_key>/schemas/apps/panel/objects/toplevel_id
</schema_key>
<value>
<string>bottom_panel</string>
</value>
</entry>
<entry>
<key>position</key>
<schema_key>/schemas/apps/panel/objects/position
</schema_key>
<value>
<int>2</int>
</value>
</entry>
.
.
.
<entry>
<key>bonobo_iid</key>
<schema_key>/schemas/apps/panel/objects/bonobo_iid_type</schema_key>
<value>
<string>OAFIID:GNOME_WindowListApplet</string>
</value>
</entry>
</entrylist>
OAFIID 是小程序的唯一标识符。 要查找特定小程序的 OAFIID,请参见位于 /usr/lib/bonobo/servers 目录中小程序的 .server 文件。 例如,以下 GNOME_Wncklet_Factory.server 节选显示“窗口列表”小程序的 OAFIID:
<oaf_server iid=”OAFIID:GNOME_WindowListApplet” type=”factory” location=”OAFIID:GNOME_Wncklet_Factory”>
登录 GNOME 会话,然后根据需要配置面板。
将 --dump 选项与 gconftool-2 命令行工具一起使用以生成包含面板配置 XML 说明的文件。
--dump 选项会生成一个列表,该列表包含指定 GConf 存储库目录中的所有自选设置密钥。
例如,以下命令会在称为 my-panel-setup.entries 的文件中创建默认面板配置的 XML 说明:
gconftool-2 --dump /apps/panel/profiles/default > my-panel-setup.entries
在文本编辑器中打开 my-panel-setup.entries 文件,然后根据需要修改文件。
例如,您可能会希望更改桌面项文件的位置。 以下是使用 --dump 选项生成的文件的节选:
<entry>
<key>objects/object_16/launcher_location</key>
<schema_key>/schemas/apps/panel/objects/launcher_location
</schema_key>
<value>
<string>hadjaha-00adce02f7.desktop</string>
</value>
</entry>
在以上示例中,您可能会希望将对 hadjaha-00adce02f7.desktop 的引用更改为可通用的其他桌面项文件。
使用 --dump 选项生成面板配置时,面板对象的位置为绝对位置。 您可能会希望将这些位置更改为相对位置。 位于面板最左侧的对象的位置值为 0。 下一个对象的位置值为 1,并以此类推。 如果希望对象位置为面板右侧的相对位置,则将 right_stick 密钥的值设置为 True。
将 --load 选项与 gconftool-2 命令行工具一起使用以将默认配置源的值设置为 my-panel-setup.entries 文件中的值。
例如,以下命令会将默认配置源中的密钥值设置为 my-panel-setup.entries 中的对应密钥值:
gconftool-2 --direct --config-source xml:readwrite:/etc/opt/gnome/gconf/gconf.xml.defaults --load my-panel-setup.entries
以下章节说明如何向外观与使用体验自选设置指派必需或默认值:
要设置字体自选设置,可修改两个自选设置密钥的值。 下表显示要修改的密钥和这些密钥所对应的用户界面部分:
例如,要将 Sans 12 设置为必需应用程序字体,可使用以下命令:
gconftool-2 --direct --config-source xml:readwrite:/etc/opt/gnome/gconf/gconf.xml.mandatory --type string --set /desktop/gnome/interface/font_name “Sans 12"
要将 Palatino 12 设置默认桌面对象字体,可使用以下命令:
gconftool-2 --direct --config-source xml:readwrite:/etc/opt/gnome/gconf/gconf.xml.defaults --type string --set /apps/nautilus/preferences/desktop_font “palatino 12"
要设置桌面背景的自选设置,可在 /desktop/gnome/background 中修改自选设置密钥的值。 例如,要设置背景的必需图像,可使用以下命令:
gconftool-2 --direct --config-source xml:readwrite:/etc/opt/gnome/gconf/gconf.xml.mandatory --type string --set /desktop/gnome/background/picture_filename filename.png
要设置此自选设置的默认值,则使用以下命令:
gconftool-2 --direct --config-source xml:readwrite:/etc/opt/gnome/gconf/gconf.xml.defaults --type string --set /desktop/gnome/background/picture_filename filename.png
还可设置其他背景自选设置。 有关更多信息,请参见 desktop_gnome_background.schemas 模式定义文件。
要设置启动图像自选设置,可在 /apps/gnome-session/options/ 中修改自选设置密钥的值。 例如,如果不希望用户看到启动图像,可如下设置必需值:
gconftool-2 --direct --config-source xml:readwrite:/etc/opt/gnome/gconf/gconf.xml.mandatory --type bool --set /apps/gnome-session/options/show_splash_screen false
要设置此自选设置的默认值,则使用以下命令:
gconftool-2 --direct --config-source xml:readwrite:/etc/opt/gnome/gconf/gconf.xml.defaults --type bool --set /apps/gnome-session/options/show_splash_screen false
还可设置其他启动图像自选设置。 有关更多信息,请参见 gnome-session.schemas 模式定义文件。
要恢复用户的默认自选设置值,可使用以下命令:
gconftool-2 --direct --config-source user-configuration-source --recursive-unset
将 user-configuration-source 替换为用户主目录中 .gconf 目录中的配置源。
此命令可将所有子目录中的所有自选设置密钥的值从用户设置重置为默认配置源中的设置。
“配置编辑器”(GConf 编辑器)使您能够查看和编辑 GConf 存储库中存储的密钥值。
要打开“配置编辑器”:
“配置编辑器”窗口包含以下窗格:
可复制密钥的名称以便将密钥粘贴到其他应用程序中。 还可向密钥添加书签。