Profiles

Un profil est une liste de bases de données de configuration. La première est accessible en écriture alors que les suivantes ne le sont qu’en lecture. Chaque base de données système est générée à partir d’un répertoire de fichiers de clés contenant un ou plusieurs fichiers de clés. Chaque fichier de clés contient au moins un chemin dconf et une ou plusieurs clés avec leurs valeurs correspondantes.

Les paires de clés définies dans un profil dconf remplaceront les paramètres par défaut, sauf en cas d’anomalie avec leurs valeurs.

Il est généralement préférable qu’un profil dconf soit composé d’une base de données utilisateur et d’au moins une base de données système. Le profil ne doit contenir qu’une seule base de données par ligne.

La première ligne d’un profil correspond à la base de données dans laquelle les modifications sont écrites. Il s’agit le plus souvent de user-db:user, dont user correspond au nom de la base de données utilisateur située généralement dans ~/.config/dconf.

Une ligne avec system-db spécifie une base de données système. Ces bases de données sont situés dans /etc/dconf/db/.

Exemple de profil

user-db:user
system-db:local
system-db:site

Configurer une seule base de données utilisateur et plusieurs bases de données système permet de superposer les préférences. Les paramètres de la base de données user sont prioritaires sur les paramètres de la base de données local, et la base de données local est à son tour prioritaire sur la base de données site.

Cependant, l’ordre des priorités des verrous est inversé. Les verrous introduits dans les fichiers de base de données site ou local sont prioritaires sur ceux présents dans user.

Le profil dconf d’une session est déterminé lors de son ouverture. Les utilisateurs devront donc fermer puis rouvrir la session pour appliquer un nouveau profil utilisateur.

Pour plus d’informations, consultez la page du manuel dconf(7).

Sélectionner un profil

Au démarrage du système, dconf consulte la variable d’environnement DCONF_PROFILE. Cette variable peut spécifier aussi bien un chemin relatif vers un fichier situé dans /etc/dconf/profile/ qu’un chemin absolu comme le dossier personnel de l’utilisateur.

Si la variable d’environnement est définie, dconf essaye d’ouvrir le profil correspondant et abandonne en cas d’échec. Si la variable n’est pas définie, dconf essaye d’ouvrir le profil nommé « user ». Si cela échoue, il reviendra à une configuration programmée dans son code.

Pour plus d’informations, consultez la page du manuel dconf(7).