GConf-Datenbank
Jede Einstellung in der GConf-Datenbank wird als Schlüssel-Wert-Paar ausgedrückt. Ein GConf-Einstellungsschlüssel ist ein Element in dieser Datenbank, das zu einer Anwendungseinstellung korrespondiert. Zum Beispiel korrespondiert der Einstellungsschlüssel /apps/gnome-session/options/show_splash_screen zur Option Begrüßungsbildschirm anzeigen im Einstellungswerkzeug Sitzungen. Die Benutzerschnittstelle der GNOME-Arbeitsumgebung enthält nicht alle Einstellungsschlüssel der GConf-Datenbank. Beispielsweise enthält das Panel-Einstellungswerkzeug keine Option, die zum Einstellungsschlüssel /apps/panel/global/tooltips_enabled korrespondiert.
Die Datenbank ist wie ein simples hierarchisches Dateisystem aufgebaut. Die Datenbank enthält Folgendes:
- Ordner, die zu Anwendungen korrespondieren, welche die GConf-Datenbank verwenden. Beispielsweise enthält das Dateisystem den Ordner /apps/metacity.
- Unterordner, die sich auf Einstellungskategorien beziehen. Beispielsweise enthält das Dateisystem den Ordner /apps/metacity/general.
- Spezielle Dateien, die eine Liste der Einstellungsschlüssel im jeweiligen Ordner sowie Informationen über diese Schlüssel enthalten. Beispielsweise enthält eine solche Datei Informationen über die Schlüssel, die sich auf die HTTP-Proxy-Einstellungen im Ordner /system/http_proxy beziehen.
- Ein /schemas-Ordner, der Dateien enthält, welche alle Einstellungsschlüssel beschreiben.
Einstellungsschlüssel haben üblicherweise einfache Werte wie Zeichenketten, Ganzzahlen oder Listen aus Zeichenketten und Ganzzahlen. Das Format des Einstellungsschlüssels in der Datenbank hängt von dem Backend-Modul ab, welches zum Lesen der Datenbank verwendet wird. Nachfolgend finden Sie ein Beispiel des Einstellungsschlüssels /desktop/gnome/interface/font_name, wenn ein auf XML basierendes Backend-Modul zum Lesen der Datenbank verwendet wird:
<entry name="font_name" mtime="1038323555" muser="user123" type="string"> <stringvalue>Sans 10</stringvalue></entry>
Wenn sich diese Anleitung auf einen Referenzschlüssel bezieht, dann wird der Pfad zu diesem Schlüssel zum Namen des Schlüssels hinzugefügt. Beispielsweise bezieht sich der Einstellungsschlüssel font_name im Unterordner /desktop/gnome/interface auf /desktop/gnome/interface/font_name.
- 1.2.1. GConf-Konfigurationsquellen
- 1.2.2. GConf-Schemas
- 1.2.3. GConf-Schema-Definitionsdateien
1.2.1. GConf-Konfigurationsquellen
Die GConf-Datenbank enthält eine Reihe von Speicherorten, die Konfigurationsquellen genannt werden. Diese Konfigurationsquellen werden in der GConf-Pfaddatei aufgelistet. Der Ort der GConf-Pfaddatei ist /etc/gconf/gconf-Versionsnummer/Pfad. Jeder Benutzer hat eine solche Pfaddatei. Diese Pfaddatei enthält die folgenden Informationen für jede Konfigurationsquelle:
- Das Backend-Modul zum Lesen der Datenbank.
- Die Zugriffsrechte der Datenbank.
- Der Speicherort der Datenbank.
Die GConf-Pfaddatei enthält auch include-Anweisungen. Per Vorgabe sieht der Inhalt der GConf-Pfaddatei wie folgt aus:
xml:readonly:/etc/gconf/gconf.xml.mandatory include /etc/gconf/2/local-mandatory.path include "$(HOME)/.gconf.path" include /etc/gconf/2/local-defaults.path xml:readwrite:$(HOME)/.gconf xml:readonly:/etc/gconf/gconf.xml.defaults
Wenn GConf nach einem Einstellungswert sucht, dann liest GConf die Konfigurationsquellen anhand der in der Pfaddatei vorgegebenen Reihenfolge aus. Die folgende Tabelle beschreibt die Konfigurationsquellen der Pfaddatei:
Konfigurationsquelle | Beschreibung |
---|---|
Obligatorisch | Die Zugriffsrechte dieser Konfigurationsquelle sind auf »Nur lesen« gesetzt. Benutzer können die Werte in dieser Quelle nicht überschreiben, so dass die Einstellungen in dieser Quelle obligatorisch sind. |
Benutzer |
Die Konfigurationsquelle wird im Ordner .gconf im persönlichen Ordner des Benutzers gespeichert. Wenn der Benutzer Einstellungen ändert, dann wird die neue Einstellungsinformation zu diesem Ort hinzugefügt. Sie können den Konfigurationseditor zum Anpassen der Konfigurationsquelle des Benutzers verwenden. |
Standard | Diese Konfigurationsquelle enthält die vorgegebenen Einstellungen. |
Die Anordnung der Konfigurationsquellen in der Pfaddatei stellt sicher, dass obligatorische Einstellungen die benutzerdefinierten Einstellungen überschreiben. Außerdem wird sichergestellt, dass benutzerdefinierte Einstellungen die vorgegebenen Einstellungen überschreiben. Daher wendet GConf die Einstellungen in folgender Reihenfolge der Priorität an:
- Obligatorische Einstellungen
- Benutzerdefinierte Einstellungen
- Standardeinstellungen
Die include-Anweisungen in der GConf-Pfaddatei ermöglichen Systemverwaltern, weitere Konfigurationsquellen anzugeben.
Beinhaltete Konfigurationsdatenquelle | Beschreibung |
---|---|
/etc/gconf/2/local-mandatory.path | Verwenden Sie diese Konfigurationsquelle zum Speichern obligatorischer Einstellungswerte für ein bestimmtes System. |
$(HOME)/.gconf.path | Der Benutzer legt den Ort der Konfigurationsquelle in seinem persönlichen Ordner in der Datei .gconf.path fest. |
/etc/gconf/2/local-defaults.path | Verwenden Sie diese Konfigurationsquelle zum Speichern vorgegebener Einstellungswerte für ein bestimmtes System. |
1.2.2. GConf-Schemas
Ein GConf-Schema ist ein Sammelbegriff für einen GConf-Schema-Schlüssel und ein GConf-Schema-Objekt. Die folgende Tabelle beschreibt Schema-Schlüssel und Schema-Objekte und stellt diese zu den Einstellungschlüsseln in Beziehung:
Eintrag | Beschreibung |
---|---|
Einstellungsschlüssel | Ein Element in der GConf-Datenbank, das zu einer Anwendungseinstellung korrespondiert. |
Schema-Schlüssel | Ein Schlüssel, der ein Schema-Objekt für einen Einstellungsschlüssel enthält. |
Schema-Objekt |
Ein Element einer Konfigurationsquelle, welches Informationen über einen Einstellungsschlüssel enthält, wie die folgenden:
|
In der folgenden Tabelle finden Sie Beispiele für einen Einstellungsschlüssel, einen Schema-Schlüssel und ein Schema-Objekt:
Eintrag | Beispiel |
---|---|
Einstellungsschlüssel | /desktop/gnome/interface/font_name |
Schema-Schlüssel | /schemas/desktop/gnome/interface/font_name |
Schema-Objekt |
<schema> <applyto>/desktop/gnome/interface/font_name</applyto> <key>/schemas/desktop/gnome/interface/font_name</key> <owner>gnome</owner> <type>string</type> <default>Sans 10</default> <locale name="C"> <short>Default font</short> <long>Name of the default font used by gtk+.</long> </locale> </schema> |
Sie können einen Schema-Schlüssel einem Einstellungsschlüssel zuordnen. Beispielsweise enthält der Schlüssel /desktop/gnome/interface/font_name einen Schema-Schlüssel.
<entry name="font_name" mtime="1034873859" schema="/schemas/desktop/gnome/interface/font_name"/>
Wenn Sie einen Schema-Schlüssel einem Einstellungsschlüssel zuordnen, dann verwendet der Einstellungsschlüssel den vorgeschlagenen Wert, der in dem Schema-Objekt des Schema-Schlüssels angegeben ist. Der vorgeschlagene Wert befindet sich im <default>-Element im Schema-Objekt. Als Vorgabe sidn alle Einstellungsschlüssel in der vorgegebenen Konfigurationsquelle Schema-Schlüsseln zugeordnet.
Typischerweise werden Schemata in der vorgegebenen Konfigurationsquelle gespeichert.
1.2.3. GConf-Schema-Definitionsdateien
Schemata werden aus Schema-Definitionsdateien erstellt. Eine Schema-Definitionsdatei gibt die Charakteristik aller Schlüssel in einer bestimmten Anwendung vor. Schema-Definitionsdateien, haben die Endung .schemas.
Die Schema-Definitionsdateien befinden sich im Ordner /etc/gconf/schemas. Sie können die Schema-Definitionsdateien zum Anlegen neuer Konfigurationsquellen verwenden.
Einige Schema-Definitionsdateien haben eine enge Bildung an einen Teil der Benutzerschnittstelle der GNOME-Arbeitsumgebung. Beispielsweise korrespondiert system_http_proxy.schemas zum Einstellungswerkzeug Netzwerk-Proxy. Andere Schema-Definitionsdateien enthalten Einstellungsschlüssel, die in der Benutzerschnittstelle der GNOME-Arbeitsumgebung nicht vorhanden sind. Beispielsweise ist der Schlüssel /apps/panel/global/tooltips_enabled nicht in der Benutzerschnittstelle präsent.
Einige Teile der Benutzerschnittstelle der GNOME-Arbeitsumgebung enthalten Einstellungen, die sich auf Einstellungsschlüssel aus mehr als einer Schema-Definitionsdatei beziehen. Beispielsweise enthält das Einstellungswerkzeug Tastenkombinationen Einstellungen, die Schlüssel aus den Dateien panel-global-config.schemas und metacity.schemas enthalten.