Qu'est-ce que dconf, quelle est sa fonction et comment l'utiliser?

64

Mark Shuttleworth a récemment publié un blog sur la décision d’inclure les bibliothèques Qt dans la version 11.10, avec suivi de Jono Bacon. Mark déclare que le plus grand défi pour intégrer des applications écrites en Qt dans le système Ubuntu plus grand est la non-compatibilité actuelle de Qt avec dconf.

Qu'est-ce que dconf et quel rôle joue-t-il dans Ubuntu?

    
posée Chris Wilson 19.01.2011 - 19:32
la source

3 réponses

77

Introduction

Comme les autres réponses sur ce site traitent de gconf et dconf ensemble, je me contenterai de discuter des outils de ligne de commande tels que gsettings et le gui dconf-editor utilisés pour accéder à la base de données dconf .

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 les 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 qui appartiennent logiquement ensemble soient regroupées).

     

Avoir toutes les clés dans un seul format binaire compact évite également les problèmes de fragmentation intenses rencontrés actuellement par l’approche arborescente des répertoires de fichiers xml.

     

dconf est optimisé pour les lectures. Généralement, la lecture d'une clé à partir de dconf implique des appels système nuls et des changements de contexte zéro.    Les écritures sont moins optimisées - elles traversent le bus et sont traitées par un "écrivain" - un service DBus - de la manière habituelle.

Utilisation de gsettings pour afficher et modifier les paramètres

Une fois que vous connaissez gsettings , cela peut être aussi simple que le gui dconf-editor . Les options peuvent être listées en entrant man gsettings ou en allant dans les pages de manuel Ubuntu en ligne .

REMARQUE: Comme les programmes de tous les systèmes sont installés sur tous les systèmes, vous devrez peut-être remplacer les éléments que vous choisissez lorsque vous effectuez votre propre test, car j'utilise XUbuntu XFce avec beaucoup 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, par exemple,

gsettings list-schemas | grep -i shotwell

Cela retourne une longue liste; Je l'ai raccourci à:

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 que vous avez trouvé le schéma qui vous intéresse, listez les clés avec

gsettings list-keys org.yorba.shotwell.preferences.ui

Cela renvoie une liste (encore une fois je l'ai raccourci):

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 avec

gsettings get org.yorba.shotwell.preferences.ui display-photo-tags

Cela retourne une valeur true, donc pour l'inverser, utilisez

gsettings set org.yorba.shotwell.preferences.ui display-photo-tags false

Ce sont des exemples trivial , mais montrent essentiellement comment les clés et les valeurs sont identifiées et modifiées avec gsettings .

Utiliser dconf-editor pour modifier les paramètres

Le programme d'interface graphique, dconf-editor est installé (en 12.04) en cliquant sur:

ou en cours d'exécution

sudo apt-get install dconf-tools

Ensuite, lancez-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 cases. Vous pouvez également chercher dans l'éditeur dconf avec le raccourci clavier Ctrl + F .

Vous pouvez également ajouter un autre journal à log-viewer en ajoutant un chemin sous la forme ['/var/log/auth.log', var .... '] dans la capture d'écran ci-dessous.

Conclusion

Il existe de nombreux autres moyens utiles d’ajuster les paramètres avec gsettings et dconf-editor et ils sont simples à utiliser. Il est utile de les parcourir pour voir s'il existe des options qui ne figurent pas dans les préférences des programmes, car vous pourrez peut-être personnaliser votre programme comme vous le souhaitez. Comme le montre fossfreedom récemment dans cette question

Savoir utiliser gsettings ou dconf-editor est extrêmement précieux. Voir aussi:

réponse donnée user76204 20.09.2012 - 18:31
la source
22

Pour ceux venant de windows qui veulent une réponse simple, dconf est le gnome équivalent au 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 ayant son propre format) vers une arborescence standard de fichiers XML, gérée par gconf. Ces derniers temps, presque personne n’a édité directement ces fichiers XML et les problèmes de performances de lecture et d’analyse des fichiers MANY ont migré vers un format binaire en migrant de gconf vers dconf.

Contrairement au registre Windows, dconf devrait avoir toutes les entrées de configuration répertoriées, même si elles sont définies sur les valeurs par défaut. Donc, il n'y a pas d'entrées cachées, vous pouvez les modifier ou les réinitialiser pour les rétablir facilement par défaut.

    
réponse donnée higuita 20.08.2013 - 13:47
la source
10

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 lien

    
réponse donnée João Pinto 19.01.2011 - 19:36
la source

Lire d'autres questions sur les étiquettes