"In the beginning, Microsoft invented the Windows Registry. and Windows Registry was a big binary data mess without form, and danger was upon the face of reinstallation, blah blah. And GNOME folks said, 'let there be something better'. And there was something better.

GConf is GNOME 2.x's configuration management system.

In GConf, all configuration data is stored in a directory tree as XML files, along with schemas for the data (metadata, documentation, etc). This hopefully makes configurations less prone to corruption, and it probably helps a lot that the data is actually human-readable. It is also possible to write other storage backends.

GConf has a command-line tool (gconftool) to see the data, and there's also a GUI (gconf-editor) - clearly better than Windows regedit because it also displays documentation for most of the items =)

It was, of course, made by *NIX folks, for *NIX folks, at least judging from the paths; The user's own data is stored in ~/.gconf/, and the system-wide settings an be stored /etc/gconf.

GConf is process transparent, which means that if one application changes some value, and another running application uses the same value, this application also receives the new value. Also, GConf is backwards and forwards compatible (a requirement in the style guides); gconfd version 2 coexists peacefully with older versions, and data stored in gconf directory should be modifiable with all versions.

In GNOME, the programs automatically run gconfd, and gconfd automatically shuts down after a while if no applications use it. This daemon manages and cache the GConf information for the user. There's an API for accessing configuration data through gconfd (the GConfClient API), and a style guide for gconf entries. The client-daemon connection is implemented with CORBA protocols, even though the programmers need not know this.

Log in or register to write something here or to contact authors.