Java Desktop System Release 3 Administration Guide

GConf Daemon

The GConf daemon is called gconfd-2. The GConf daemon notifies applications when a preference value changes. For example, you might select to show only icons in toolbars in the Menus & Toolbars preference tool. When you select this option in the preference tool, the toolbars on all open applications are updated instantly. The GConf daemon can operate locally, or across a network.

An instance of the GConf daemon is started for each user. If a user logs in to more than one system, an instance of the GConf daemon is started for each session. You can configure the Java Desktop System to use only one instance of the GConf daemon when a user logs in to more than one system. For information about how to do this, see Configuring the Java Desktop System to Use One Instance of the GConf Daemon.

The GConf daemon does not have to deal with complex problems such as authentication and data security. When the GConf daemon starts, the daemon loads the GConf path file. The GConf daemon manages all access between applications and the configuration sources.

When an application requests the value of a preference key, the daemon searches the configuration sources as follows:

  1. Search for the value of the preference key in each configuration source, in the order specified in the path file. If the value is found, return the value.

  2. If a value is not found, search for the schema key that corresponds to the preference key in each configuration source, in the order specified in the path file.

  3. If the schema key is found, check the value of the schema key.

  4. If the value of the schema key is a schema object, return the suggested value in the <default> element of the schema object.

The GConf daemon also caches preference key values. All applications use this cache, so applications only need to access the configuration sources once.

To terminate the GConf daemon, execute the following command:

# gconftool-2 --shutdown

Configuring the Java Desktop System to Use One Instance of the GConf Daemon

By default, the Java Desktop System creates multiple instances of the GConf daemon when users log in to more than one system. You can configure the Java Desktop System to use only one instance of the GConf daemon when a user logs in to more than one system. The user must have an Network File System (NFS) home directory.

When a user uses one instance of the GConf daemon on more than one system, and the user changes the value of a preference, the change is applied to all of the sessions to which the user is logged in. For example, if the user selects to show only icons in toolbars in the Menus & Toolbars preference tool in one session, the toolbars on all open applications are updated instantly in all sessions to which the user is logged in.


Note –

Users can only use a single instance of the GConf daemon for multiple sessions if all of the sessions can access the home directory of the user.


The Java Desktop System uses Common Object Request Broker Architecture (CORBA). CORBA enables application objects to communicate with one another regardless of what programming language the applications are written in, and regardless of what operating system the applications are running on.

In CORBA, an Object Request Broker (ORB) communicates between servers and clients. One of the ORBs in the Java Desktop System is ORBit2. GConf uses the TCP protocol in ORBit2 to communicate between the GConf daemon and the sessions to which the user is logged in.

To configure a system to use one instance of the GConf daemon for each user, perform the following steps:

  1. For all the systems that the users log in to, ensure that the file /etc/orbitrc contains the following line:

    ORBIIOPIPv4=1
  2. Set the value of the GCONF_GLOBAL_LOCKS environment variable to 1. This ensures that GConf creates locks in the home directory of the user, and not in a directory on the local system.

  3. Restart the GConf daemon.

To configure the system to use multiple instances of the GConf daemon for each user, unset the value of the GCONF_GLOBAL_LOCKS environment variable. Then restart the GConf daemon.


Caution – Caution –

The TCP protocol in ORBit2 is not completely secure because the communications between servers and clients are not encrypted.