Mark Shuttleworth récemment blogué à propos de la décision d'inclure les bibliothèques Qt dans la version 11.10, avec un suivi de Jono Bacon. Mark déclare que le plus grand défi d'intégrer des applications écrites dans Qt dans le système Ubuntu plus vaste est la non-compatibilité actuelle de Qt avec dconf.
Qu'est-ce que dconf et quel rôle joue-t-il dans Ubuntu?
Comme d'autres réponses sur ce site traitent gconf
et dconf
ensemble, je vais me concentrer sur les outils de ligne de commande tels que gsettings
et le gui dconf-editor
qui sont utilisés pour accéder à la base de données dconf
name__.
Sur le site officiel de GNOME il est noté que
dconf est un système de configuration de bas niveau. Son objectif principal est de fournir un backend à GSettings sur des plates-formes qui ne disposent pas déjà de systèmes de stockage de configuration.
dconf est un système de configuration simple basé sur des clés. Les clés existent dans une base de données non structurée (mais il est prévu que les clés logiquement liées soient regroupées).
Le fait de disposer de toutes les clés dans un seul format binaire compact évite également les problèmes de fragmentation intenses actuellement rencontrés par l’approche arborescence de répertoires de fichiers XML.
dconf est optimisé pour les lectures. En règle générale, la lecture d'une clé à partir de dconf implique zéro appel système et zéro changement de contexte. Les écritures sont moins optimisées - elles traversent le bus et sont gérées par un "écrivain" - un service DBus - de la manière habituelle.
gsettings
pour afficher et modifier les paramètresUne fois que vous connaissez gsettings
name__, cela peut être aussi simple que l’interface graphique dconf-editor
. Les options peuvent être listées en entrant man gsettings
ou en accédant à la page pages de manuel Ubuntu en ligne .
REMARQUE: Le système de chacun étant doté de différents programmes, il est possible que vous deviez remplacer les éléments spécifiques que je choisis par différents lorsque je teste vous-même, car j'utilise XUbuntu. XFce avec pas mal de programmes GNOME.
Pour répertorier tous les schémas disponibles, entrez
gsettings list-schemas
Pour inclure également toutes les clés, entrez
gsettings list-recursively
Cependant , il est généralement plus facile de spécifier ce que vous voulez avec, par exemple,
gsettings list-schemas | grep -i shotwell
Ceci retourne une longue liste. Je l'ai abrégé à:
org.yorba.shotwell
org.yorba.shotwell.preferences.ui
org.yorba.shotwell.preferences.slideshow
org.yorba.shotwell.plugins.enable-state
org.yorba.shotwell.printing
org.yorba.shotwell.preferences.editing
org.yorba.shotwell.preferences.files
Maintenant, quand vous avez trouvé le schéma qui vous intéresse, listez les clés avec
gsettings list-keys org.yorba.shotwell.preferences.ui
Ceci retourne une liste (encore une fois je l’ai raccourcie):
background-color
display-basic-properties
display-extended-properties
display-photo-ratings
display-photo-tags
display-photo-titles
event-photos-sort-ascending
event-photos-sort-by
Choisissez-en un et voyez quelle est la valeur actuelle
gsettings get org.yorba.shotwell.preferences.ui display-photo-tags
Ceci retourne une valeur true, alors pour l’inverser, utilisez
gsettings set org.yorba.shotwell.preferences.ui display-photo-tags false
Ce sont des exemples triviaux , mais montrent essentiellement comment les clés et les valeurs sont identifiées et modifiées avec gsettings
name__.
Le programme graphique, dconf-editor
, est installé avec le paquet dconf-tools en cliquant ici ou en exécutant
Sudo apt-get install dconf-tools
Puis exécutez-le en entrant dans le terminal ou dans le menu de lancement rapide, dconf-editor
.
Comme vous pouvez le voir sur la capture d'écran, tous les différents schémas peuvent être développés à gauche et la clé appropriée sélectionnée. Il est très simple d'accéder à la valeur souhaitée (dans ce cas, les préférences gnome-mplayer
). Vous pouvez cliquer sur la case à cocher pour activer une valeur ou ajouter une valeur numérique dans l'une des autres zones. Vous pouvez également rechercher dans l'éditeur dconf avec Ctrl+F raccourci clavier.
Vous pouvez également ajouter un autre journal, par exemple, à log-viewer
en ajoutant un chemin sous la forme ['/var/log/auth.log', var .... '] dans la capture d'écran ci-dessous.
Il existe de nombreux autres moyens utiles de modifier les paramètres avec gsettings
et dconf-editor
, qui sont faciles à utiliser. Il vaut la peine de regarder à travers eux pour voir s’il existe des options qui ne sont pas dans les préférences du programme, car vous pourrez peut-être personnaliser votre programme comme vous le souhaitez. Comme fossfreedom l'a montré récemment dans cette question
savoir utiliser gsettings
ou dconf-editor
est extrêmement utile. Voir également:
Pour ceux venant de Windows qui veulent une réponse simple, dconf est l'équivalent gnome du registre Windows ... un grand arbre binaire où tout programme peut stocker et partager sa configuration.
Ils ont d'abord migré des configurations unix traditionnelles (un fichier texte pour chaque application, chacune avec son propre format) vers une arborescence standard de fichiers XML, gérée par gconf. Ces derniers temps, presque personne n’ayant édité ces fichiers XML directement ni les problèmes de performances liés à la lecture et à l’analyse de nombreux fichiers, ceux-ci ont migré vers un format binaire en passant de gconf à dconf.
Contrairement au registre Windows, dconf devrait avoir toutes les entrées de configuration listées, même si elles ont les valeurs par défaut. Donc, il n'y a pas d'entrées cachées, vous pouvez alors changer ou réinitialiser ensuite facilement.
dconf n'est pas spécifique à Ubuntu, c'est la technologie GNOME utilisée pour stocker les paramètres de l'application. Pour plus de détails, veuillez lire http://live.gnome.org/dconf