Rev | Author | # | Line |
---|---|---|---|
2 | AristotlePagaltzis | 1 | GConf is [GNOME]'s configuration storage system. It is not tied to [GNOME] and can be used by any other program as well, though. |
1 | CraigBox | 2 | |
2 | AristotlePagaltzis | 3 | If you're looking for configuration for Gnome 2 user applications like [Evolution], you'll find it in GConf. Settings are stored in __.gconf/__ by default (and not normally changed). You can edit the settings using __gconf-editor__ if you want a [GTK] [GUI] or using __gconftool__ from the CommandLine. |
4 | |||
5 | Comparisons with MicrosoftWindows's registry are inevitable. GConf is a database rather than a series of configuration files, but it's XML, it's open and it actually works. | ||
1 | CraigBox | 6 | |
7 | The Windows registry fails because: | ||
8 | |||
9 | * It's very difficult to manage a large number of computers; system administrators can't install defaults, or push changes out to multiple user computers. Proprietary add-on tools exist that try to resolve this problem in various (rather frightening) ways. | ||
10 | * The registry contains lots of undocumented, cryptically-formatted data, and regedit is therefore dangerous and difficult to use. | ||
11 | * The registry becomes corrupted, and this tends to destroy the whole operating system installation. | ||
12 | |||
13 | GConf attempts to leapfrog the registry concept. It's a library which provides a simple configuration data storage interface to applications, and also an architecture that tries to make things easy for system administrators. | ||
14 | |||
15 | Here are some of the features of GConf: | ||
16 | |||
2 | AristotlePagaltzis | 17 | ; Replaceable backend architecture : GConf currently has a single backend that stores configuration data in XML-format text files; however, the architecture allows a Registry-like binary database backend, an LDAP backend, or even a full-blown SQL database backend. The backend used is configurable by the system administrator. This is a valuable feature for IS deparatments managing large numbers of computers. |
18 | ; Configuration key documentation : Applications can install documentation along with their configuration data, explaining the possible settings and the effect of each configuration key. A regedit-style tool can display this documentation, making it much easier to customize applications without breaking them. The GConf database also stores useful meta-information such as the application that owns a key, when the key was last changed, etc. | ||
19 | ; Data change notification service : If configuration data is changed, all interested applications are notified. The notification service works across the network, affecting all login sessions for a single user. | ||
1 | CraigBox | 20 | |
2 | AristotlePagaltzis | 21 | This means that programs built from components (where each component may be in a separate process) are much easier to write, because if one component changes a setting the others can discover the change and update themselves. [GNOME]'s [Nautilus] file manager f.ex. is actually a collection of applications, including an embedded web browser and various navigation components, which communicate via [CORBA]. However, you want a single preferences dialog located in the top-level "shell" component. Without GConf, a custom protocol would have to be invented for preferences settings to notify embedded components of changes to user preferences. |
1 | CraigBox | 22 | |
23 | Notification is also useful if multiple application instances are running. GNOME 2.0 uses this feature to let user interface configuration take effect on-the-fly without restarting any applications; if you turn off toolbar icons, for example, toolbar icons will immediately disappear in all running apps. | ||
24 | |||
2 | AristotlePagaltzis | 25 | See also: http://developer.gnome.org/feature/archive/gconf/gconf.html |
lib/blame.php:177: Warning: Invalid argument supplied for foreach() (...repeated 2 times)