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:
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.
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.
If the schema key is found, check the value of the schema key.
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
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.
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:
For all the systems that the users log in to, ensure that the file /etc/orbitrc contains the following line:
ORBIIOPIPv4=1
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.
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.
The TCP protocol in ORBit2
is not
completely secure because the communications between servers and clients are
not encrypted.