web-dev-qa-db-fra.com

Gconf, Dconf, Gsettings et la relation entre eux

J'essaie de comprendre comment Gconf, Dconf et Gsettings fonctionnent et quelle est la relation entre eux.

Tout ce que je sais c'est:

  • Gconf - Base de données XML (système backend). Le plus vieux.
  • Dconf - Base de données basée sur BLOB (système backend). Le plus récent.
  • Gsettings - Outil CLI pour modifier les paramètres. On dirait que cela fonctionne uniquement avec Dconf (bien que j'ai vu quelque part que cela pourrait fonctionner avec Gconf).

Je sais que pour Gconf, il existe une interface graphique - Gconf-editor et pour Dconf - Dconf-editor.

Alors:

  1. Quel système backend est le plus souvent utilisé - Dconf ou Gconf?
  2. Gsettings fonctionne avec les deux? Et pourquoi ne montre-t-il pas tous les schémas Dconf?
  3. Où Dconf sauvegarde-t-il ses données?
63
idgar

GConf est obsolète. Il s’agit de l’ancienne API et du système de configuration GNOME 2.x et a été remplacé par DConf/GSettings dans les versions les plus récentes. Cependant, certaines applications l'utilisent encore.

GSettings est une implémentation GLib de DConf, qui stocke ses données dans une base de données binaire.

L'outil de ligne de commande gsettings est simplement un outil permettant d'accéder aux paramètres via l'API GSettings ou de les modifier, de la même manière que l'ancien outil de ligne de commande gconftool est destiné à GConf.

36
dobey

Dconf est un magasin de données conçu pour stocker la configuration. C'est le remplacement de Gconf , qui était utilisé dans le même but. Finalement, aucun programme ne devrait plus dépendre de Gconf.

Gsettings est une bibliothèque de développement utilisée pour lire et écrire dans un backend de magasin de configuration. Sous Linux, il utilise Dconf, mais sous Windows, il utilise le registre et, sous OS X, il utilise un magasin de données natif.

Il est recommandé aux développeurs d'applications et aux utilisateurs finaux d'utiliser Gsettings, pas directement Dconf.

Voir aussi:

41
Flimm