J'ai fait une sauvegarde du fichier où mon dconf
la base de données est stockée (~/.config/dconf/user
qui est un fichier binaire), et maintenant je dois déplacer certaines clés de la sauvegarde vers le dconf
en cours d'utilisation.
Comment puis-je afficher le contenu de la sauvegarde dconf
sans le mettre "en place" et le visualiser avec par exemple dconf-editor
?
Réponse acceptée :
Pour afficher le contenu de ce fichier, vous pouvez le renommer - par ex. test
– placez-le sous ~/.config/dconf/
puis avoir dconf
lire/vider les paramètres de ce fichier.
Par défaut, dconf
lit le user-db trouvé dans $XDG_CONFIG_HOME/dconf/
:
Un
"user-db"
spécifie une base de données utilisateur.
Ces bases de données se trouvent dans$XDG_CONFIG_HOME/dconf/
. Le nom du fichier à ouvrir dans ce
répertoire est exactement tel qu'il est écrit dans le profil. Ce fichier est
censé être au format de base de données binaire dconf. Notez queXDG_CONFIG_HOME
ne peut pas être défini/modifié par terminal ou session,
car alors l'écrivain et le lecteur travailleraient sur des bases de données différentes
(l'écrivain est démarré par DBus et ne peut pas voir cette variable).
Par conséquent, vous auriez besoin d'un profil personnalisé qui pointe vers ce fichier db particulier - par ex. user-db:test
puis instruisez dconf
pour vider les données (en utilisant le profil personnalisé) via le DCONF_PROFILE
variable d'environnement :
cd
cp /path_to_backup_dconf/user ~/.config/dconf/test
printf %s\\n "user-db:test" > db_profile
DCONF_PROFILE=~/db_profile dconf dump / > old_settings
Le résultat est un fichier (old_settings
) contenant les paramètres de votre sauvegarde dconf
fichier, par exemple :
[org/gnome/desktop/interface]
font-name='DejaVu Sans Oblique 10'
document-font-name='DejaVu Sans Oblique 10'
gtk-im-module='gtk-im-context-simple'
clock-show-seconds=true
icon-theme='HighContrast'
monospace-font-name='DejaVu Sans Mono Oblique 10'
[org/gnome/desktop/input-sources]
[email protected](ss) []
[email protected] []
[org/gnome/desktop/wm/preferences]
num-workspaces=4
titlebar-font='DejaVu Sans Bold Oblique 10'
.......
Vous pouvez ensuite supprimer ces fichiers :
rm -f ~/db_profile ~/.config/dconf/test
et chargez les anciens paramètres dans la base de données actuelle :
dconf load / < old_settings
Si vous souhaitez uniquement vider des paramètres spécifiques, indiquez simplement le chemin :
DCONF_PROFILE=~/db_profile dconf dump /org/gnome/desktop/wm/preferences/
[/]
num-workspaces=4
titlebar-font='DejaVu Sans Bold Oblique 10'
mais notez que pour chaque chemin, vous devez avoir un fichier différent et lorsque vous le chargez, vous devez spécifier le chemin en conséquence :
dconf load /org/gnome/desktop/wm/preferences/ < old_wm_settings
Notez également qu'en raison de modifications en amont, l'ancien dconf
les bases de données peuvent contenir des chemins, des clés et des valeurs qui ne sont pas valides dans les versions plus récentes, donc une compatibilité totale entre les fichiers db créés par différentes versions de dconf
n'est pas toujours garanti. Dans ce cas, vous devrez inspecter les old_settings
résultants fichier et supprimez ou modifiez manuellement les entrées non valides avant de le charger dans votre base de données actuelle.