Chapter 1. Configuration Overview: The GConf System

The GConf system is one of the primary means to configure the users' desktops, therefore a brief overview of this system is provided below.

Many configurable quantities are accessible via key/value pairs using the graphical GConf editor tool. This tool is available from the command-line using the command /usr/bin/gconf-editor, or, more simply by typing gconf-editor in a terminal. The GConf editor is also available through Applications (the main menu on the panel) => System Tools => Configuration Editor.

For more detailed information on GConf Editor, refer to the Configuration Editor Manual through Applications (the main menu on the panel) => Help, and by selecting the Applications Category, then the Utilities Category, and finally, by selecting the Configuration Editor Manual Document.

Figure 1-1. The GConf Editor

1.1. Background: Configuration Sources

The following provides background material that the administrator may find useful, especially when saving current desktop preferences.

TipTip
 

Readers might first wish to refer to the GConf section of the GNOME Desktop System Administration Guide available through Applications (the main menu on the panel) => Help, and by selecting the Desktop Category, selecting the System Administration Guide Document, and reading the chapter titled Using GConf, and also the GConf project page located on the web at http://www.gnome.org/projects/gconf/ before continuing. Specifically, the use of gconftool-2 to load and dump preference settings is not discussed in depth in this document, but is detailed in the GNOME Guide.

GConf stores preferences data in a set of configuration sources. The sources used, their properties, and the order in which they are used by GConf is defined in the /etc/gconf/2/path file.

Each configuration source entry has three parts:

Storage Backend Identifier

The only commonly used configuration backend is the XML backend whose identifier is xml.

Configuration Source Flags

A comma separated list of flags which is interpreted by the storage backend. The XML backend recognizes two flags - readonly and readwrite which determine whether the configuration source is writable.

Storage Location

The location in which the storage backend should store the preferences data. The exact meaning of this storage location depends on the storage backend in use. With the XML backend, the location is the path to a filesystem directory.

By default there is a Mandatory Source, a User Source and a Defaults Source. They are:

The order of the configuration sources is intentional. If a key is set in the Mandatory Source and the Defaults Source, then the value in the Mandatory Source takes precedence. Therefore, by setting the value of a key in the Mandatory Source, users will not be able to modify that key.

The default GConf path file also includes a number of other path files if they exist. The /etc/gconf/2/path file allows administrators to define new configuration sources and include them in the set of configuration sources used by GConf. The configuration sources specified in the path file are included before the standard Defaults Source.

One final item of note is that the storage location specifier for a source may also reference the value of environmental variables. For example, the standard User Source is defined as xml:readwrite:$(HOME)/.gconf. Environmental variables may be defined as follows:

$(HOME)

The user's home directory.

$(USER)

The user's username.

$(ENV_name)

Any other environmental variable may be referenced by prefixing the environmental variables name with ENV_.