GConf
aus Wikipedia, der freien Enzyklopädie
GConf ist ein von der Desktop-Umgebung 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, was einige jedoch nicht tun und bei Anwendern für Verwirrung sorgen.
Inhaltsverzeichnis |
[Bearbeiten] Architektur
GConf basiert im Moment auf der ORBit genannten C-Implementation von CORBA. Seine Architektur besteht aus einem Sitzungsdaemon, der verschiedene Quellen für Konfigurationsschemas beim Anmelden des Benutzers initialisiert. Jede Quelle basiert auf einem bestimmten Backend, dass 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 ein LDAP-Backend im Entwicklungsstadium. Jede Quelle kann auch im schreibgeschützten Modus betrieben werden um zum Beispiel in Firmennetzwerken eine Standard-Basiskonfiguration bereitzustellen.
Die Werte in der GConf-Datenbank werden über einen Pfad der Form /pfad/zum/anwendungs/schluessel
angesprochen.
Um auf die durch den GConf-Daemon verwaltete GConf-Datenbank zuzugreifen sollte eine auf GConfClient GObject basierende Klasse verwendet werden.
[Bearbeiten] Weitergabe der Änderungen
Eine Anwendung, die GConf verwendet, sollte niemals mit direktem 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.
[Bearbeiten] Schemas
Eine Anwendung, die GConf verwendet, sollte eine Beschreibung bereitstellen zu jedem Schlüssel, den sie innerhalb der GConf-Datenbank anlegt. Diese 'Schema' genannten Konfigurations-Metadaten werden ebenfalls in der Konfigurationsdatenbank abgelegt. Das Schema sollte einen (möglichst lokalisierten) beschreibenden Text, einen gültigen Wertetyp und eine Voreinstellung enthalten.
[Bearbeiten] Schnittstellen
Wie viele Bibliotheken der GNOME-Plattform kann auch auf GConf in verschiedenen Programmiersprachen wie beispielsweise C, C++, Perl, Java und Python zugegriffen werden.