Référentiel GConf

Chaque préférence du référentiel GConf est énoncée sous forme de couple clé-valeur. Une clé de préférence GConf est un élément du référentiel correspondant à une préférence d'application. Par exemple, la clé de préférence /apps/gnome-session/options/show_splash_screen correspond à l'option Afficher l'écran d'accueil à la connexion dans le panneau de préférences Sessions. L'interface utilisateur du bureau GNOME ne contient pas toutes les clés de préférences du référentiel GConf. Par exemple, le panneau de préférences Tableau de bord ne contient pas d'option correspondant à la clé /apps/panel/global/tooltips_enabled.

Le référentiel est structuré comme un simple système de fichiers hiérarchisé. Il contient les éléments suivants :

  • Des répertoires correspondant aux applications qui utilisent le référentiel GConf. Par exemple, le système de fichiers contient le répertoire /apps/metacity.
  • Des sous-répertoires correspondant à des catégories de préférences. Par exemple, le système de fichiers contient le répertoire /apps/metacity/general.
  • Des fichiers spéciaux qui énumèrent les clés de préférences dans un répertoire et qui contiennent des informations sur les clés. Par exemple, un fichier contenant des informations sur les clés en relation avec les préférences du proxy HTTP se trouve dans le répertoire /system/http_proxy.
  • Un répertoire /schemas contenant des fichiers qui décrivent toutes les clés de préférences.

Les clés de préférences sont habituellement formées de valeurs simples, telles que des chaînes de caractères, des nombres entiers ou des listes de chaînes de caractères et de nombres entiers. Le format des clés de préférences dans le référentiel dépend du module d'arrière-plan utilisé pour lire le référentiel. L'exemple ci-après expose la clé de préférence /desktop/gnome/interface/font_name telle qu'elle apparaît lorsque le référentiel est lu au moyen d'un module d'arrière-plan XML (Extensible Markup Language) :

<entry name="font_name" mtime="1038323555" muser="user123" type="string">
<stringvalue>Sans 10</stringvalue></entry>

Lorsque ce guide se réfère à une clé de préférence, le chemin vers la clé est concaténé avec le nom de la clé. Par exemple, la clé de préférence font_name du sous-répertoire /desktop/gnome/interface est citée comme /desktop/gnome/interface/font_name.

I.II.I. Source de configuration GConf

Le référentiel GConf contient une série d'emplacements de stockage appelés des sources de configuration. Ces sources sont énumérées dans le fichier des chemins GConf. L'emplacement de ce fichier est /etc/gconf/numéro-version-gconf/path. Chaque utilisateur possède un fichier de chemins. Pour chaque source de configuration, le fichier des chemins spécifie les informations suivantes :

  • Le module d'arrière-plan utilisé pour lire le référentiel.
  • Les permissions sur le référentiel.
  • L'emplacement du référentiel.

Le fichier des chemins GConf contient également des instructions include. Par défaut, le contenu du fichier des chemins GConf correspond à ceci :

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

Lorsque GConf recherche une valeur de préférence, il lit les sources de configuration dans l'ordre défini dans le fichier des chemins. Le tableau ci-après décrit les sources de configuration dans le fichier des chemins :

Source de configuration Description
Mandatory (Forced settings) Les permissions sur cette source de configuration sont placées en lecture seule. Les utilisateurs ne peuvent pas modifier les valeurs de cette source, ce qui rend ces préférences obligatoires.
User

Cette source de configuration est stockée dans le répertoire .gconf du dossier personnel de l'utilisateur. Lorsque celui-ci définit une préférence, la nouvelle information de préférence s'inscrit à cet emplacement.

Vous pouvez modifier la source de configuration utilisateur avec l'Éditeur de configuration.

Default Cette source de configuration contient les réglages de préférences par défaut.

L'ordre d'apparition des sources de configuration dans le fichier des chemins assure que les paramètres obligatoires ont priorité sur les paramètres des utilisateurs. Cela assure également que les préférences des utilisateurs ont priorité sur les paramètres par défaut. Cela signifie que GConf applique les préférences dans l'ordre de priorité suivant :

  1. Préférences obligatoires
  2. Préférences définies par les utilisateurs
  3. Préférences par défaut

Les instructions include dans le fichier des chemins GConf permet aux administrateurs système de définir d'autres sources de configuration.

Source de configuration inclue Description
/etc/gconf/2/local-mandatory.path Cette source de configuration permet de sauvegarder des valeurs de préférences obligatoires pour un ordinateur particulier.
$(HOME)/.gconf.path L'utilisateur définit l'emplacement de la source de configuration dans le dossier personnel, dans un fichier nommé .gconf.path.
/etc/gconf/2/local-defaults.path Cette source de configuration permet de sauvegarder des valeurs de préférences par défaut pour un ordinateur particulier.

I.II.II. Schémas GConf

Un schéma GConf est un terme englobant une clé de schéma GConf et un objet de schéma GConf. Le tableau ci-après décrit les clés de schéma et les objets de schéma ainsi que les relations entre ces éléments et les clés de préférences :

Élément Description
Clé de préférence Un élément dans le référentiel GConf correspondant à une préférence d'application.
Clé de schéma Une clé contenant un objet de schéma pour une clé de préférence.
Objet de schéma

Un élément dans une source de configuration contenant des informations sur une clé de préférence, comme par exemple :

  • Le nom de l'application qui utilise cette clé de préférence.
  • Le type de valeur requis pour la clé de préférence, par exemple un nombre entier, une valeur booléenne, etc.
  • Une valeur par défaut pour la clé de préférence.
  • Une courte documentation sur la clé de préférence.

Le tableau suivant donne des exemples d'une clé de préférence, d'une clé de schéma et d'un objet de schéma :

Élément Exemple
Clé de préférence /desktop/gnome/interface/font_name
Clé de schéma /schemas/desktop/gnome/interface/font_name
Objet de schéma
<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>

Vous pouvez associer une clé de schéma avec une clé de préférence. Par exemple, la clé /desktop/gnome/interface/font_name contient une clé de schéma :

<entry name="font_name" mtime="1034873859"
schema="/schemas/desktop/gnome/interface/font_name"/>

Lorsque vous associez une clé de schéma à une clé de préférence, la préférence utilise la valeur suggérée dans l'objet de schéma de la clé de schéma. Cette valeur est contenue dans l'élément <default> de l'objet de schéma. Par défaut, toutes les clés de préférences dans la source de configuration par défaut sont associées à des clés de schéma.

En règle générale, les schémas sont stockés dans la source de configuration par défaut.

I.II.III. Fichiers de définition de schémas GConf

Les schémas sont générés à partir de fichiers de définition de schémas. Un fichier de définition de schémas définit les caractéristiques de toutes les clés d'une application particulière. Ces fichiers possèdent une extension .schemas.

Les fichiers de définition de schémas se trouvent dans le répertoire /etc/gconf/schemas. Ces fichiers permettent de créer une nouvelle source de configuration.

Certains fichiers de définition de schémas correspondent précisément à une partie de l'interface utilisateur du bureau GNOME. Par exemple, system_http_proxy.schemas correspond au panneau de préférences Proxy réseau. D'autres fichiers de définition de schémas contiennent des clés de préférences inaccessibles dans l'interface utilisateur du bureau GNOME. Par exemple, la clé /apps/panel/global/tooltips_enabled ne peut pas être définie dans l'interface utilisateur.

Certaines partie de l'interface utilisateur du bureau GNOME contiennent des préférences provenant de plusieurs fichiers de définition de schémas. Par exemple, le panneau de préférences Raccourcis clavier contient des préférences correspondant à des clés contenues dans les fichiers panel-global-config.schemas et metacity.schemas.