- GConf
-
GConf ist ein von der Arbeitsumgebung GNOME verwendetes System zur Speicherung von Konfigurationseinstellungen des Desktops und der GNOME-Anwendungen. Änderungen an diesen Einstellungen werden durch den Daemon gconfd vorgenommen. gconfd überwacht die Datenbank auf Änderungen und wendet neue Einstellungen auf alle Anwendungen an, die diese benutzen. Diese Technik ist auch als „auto apply“ (automatisches Anwenden) bekannt im Gegensatz zu „explicit apply“, bei dem Änderungen erst übernommen werden, wenn der Benutzer auf „OK“ oder „Anwenden“ klickt. Auch der Ausdruck „instant apply“ (sofortiges Anwenden) wird manchmal verwendet.
Die Datenbank von GConf setzt standardmäßig eine Verzeichnisstruktur mit XML-Dateien ein, die im Verzeichnis
~/.gconf
gespeichert wird. GConf kann auch andere Backends, beispielsweise einen Datenbankserver, verwenden, die Speicherung in XML-Dateien ist jedoch die am häufigsten eingesetzte Konfiguration.Die Anwendung gconf-editor ermöglicht es Benutzern Einstellungen manuell zu ändern, sie wird in der Regel jedoch nicht von Endbenutzern verwendet um Benutzereinstellungen festzulegen. Diese sollten von der Anwendung selbst verwaltet werden.
Inhaltsverzeichnis
Architektur
GConf basiert zurzeit auf der ORBit genannten C-Implementierung von CORBA, soll aber wie die übrigen GNOME-Bibliotheken und -Anwendungen in Zukunft DBus verwenden. Die Software besteht aus einem Sitzungsdaemon, der verschiedene Quellen für Konfigurationsschemata beim Anmelden des Benutzers initialisiert. Jede Quelle basiert auf einem bestimmten Backend, das die Schlüssel-Werte-Paare der Konfigurationsdatenbank bereitstellt. Standardmäßig basiert das Backend auf XML. Momentan ist dies das einzige funktionierende Backend für GConf, daneben existiert nur noch ein LDAP-Backend im frühen Entwicklungsstadium. Jede Quelle kann auch im schreibgeschützten Modus betrieben werden um zum Beispiel in Firmennetzwerken eine Basiskonfiguration bereitzustellen.
Die Werte in der GConf-Datenbank werden über einen Pfad der Form
/pfad/zum/anwendungsschluessel
angesprochen.Um auf die durch den GConf-Daemon verwaltete GConf-Datenbank zuzugreifen sollte eine auf GConfClient-basierende GObject-Klasse verwendet werden.
Weitergabe der Änderungen
Eine Anwendung, die GConf verwendet, sollte nicht durch Polling die Datenbank abfragen, sondern eine Rückruffunktion (Callback) für den gewünschten Schlüssel anmelden, was dem Model View Controller-Paradigma entspricht. Jedes Mal, wenn eine Anwendung den an diesen Schlüssel gebundenen Wert ändert, werden die Rückruffunktionen aufgerufen.
Schemata
Eine Anwendung, die GConf verwendet, sollte zu jedem Schlüssel, den sie innerhalb der GConf-Datenbank anlegt eine Beschreibung bereitstellen. Diese 'Schema' genannten Konfigurationsmetadaten werden ebenfalls in der Konfigurationsdatenbank abgelegt. Das Schema sollte einen (möglichst lokalisierten) beschreibenden Text, einen gültigen Wertetyp und eine Voreinstellung enthalten.
Schnittstellen
Wie viele Bibliotheken der GNOME-Plattform kann auch auf GConf in verschiedenen Programmiersprachen wie beispielsweise C, C++, Perl, Java und Python zugegriffen werden.
Im Normalfall wird die GConf nicht direkt vom Endanwender editiert. Der Zugriff erfolgt indirekt über das jeweilige Programm, das seine Einstellungen hinterlegt. Bestimmte Zusatzoptionen sind allerdings nicht über ein graphisches Interface konfigurierbar und lassen sich ausschließlich in der Registry setzen. Dem Entwickler und fortgeschrittenen Anwender stehen hierzu Werkzeuge wie das Kommandozeilenprogramm gsettings oder das graphische Tool gconf-editor zur Verfügung.
Weblinks
- GConf-Projektseite (englisch)
- Artikel Gconf im GNOME Desktop-Systemverwaltungshandbuch (deutsch)
- GConf-Erweiterungspläne (englisch)
- Gnome2::GConf Perl Modul (englisch)
- easygconf Python Modul (englisch)
Wikimedia Foundation.