J'aime pouvoir configurer des éléments à partir de la ligne de commande, de sorte que, lorsque je réinstalle le système d'exploitation, je puisse simplement exécuter un script et récupérer ma configuration préférée.
Depuis la "mise à niveau" vers Ubuntu 17.10, j'ai découvert que je devais utiliser gnome-Tweak-tool pour obtenir certains paramètres comme je le voulais.
Une fois que je trouve un paramètre dans l'interface graphique de gnome-Tweak-tool, comment puis-je comprendre sa traduction scriptable?
Par exemple, les lignes gsettings suivantes correspondent aux entrées correspondantes de la capture d'écran gnome-Tweak-tool ci-dessous ...
gsettings set org.gnome.desktop.wm.preferences titlebar-font "Tahoma Bold 8"
gsettings set org.gnome.desktop.interface font-name "Tahoma 8"
gsettings set org.gnome.desktop.interface document-font-name "Tahoma 8"
gsettings set org.gnome.desktop.interface monospace-font-name "FixedSC 10"
... mais comment peut-on deviner ça? Et comment pourrais-je, par exemple, trouver où obtenir les paramètres correspondants pour l'indication et l'anticrénelage?
Au lieu de chercher dans tout un répertoire d'options:
Exécutez la commande:
dconf watch /
Effectuez vos modifications et voyez ce que le terminal affiche:
... et vous voilà.
Dans l'exemple, vous voyez la sortie de dconf
name__. Gsettings est le point central de dconf. Plusieurs fois, vous pouvez utiliser une commande dconf
ou gsettings
name__. Dans ce cas soit:
dconf write /org/gnome/desktop/background/show-desktop-icons false
ou:
gsettings set org.gnome.desktop.background show-desktop-icons false
Si la clé gsettings existe cependant, cette dernière est considérée comme une meilleure pratique, afin de protéger l'intégrité de votre base de données dconf
name__.
Pour la plupart des paramètres, vous pouvez utiliser l'approche this :
Exportez la liste de gsettings
dans un fichier temporaire:
gsettings list-recursively > /tmp/gsettings.before
Apportez vos modifications par gnome-Tweak-tool
(ou unity-control-center
);
Exportez la liste de gsettings
dans un autre fichier temporaire:
gsettings list-recursively > /tmp/gsettings.after
Comparez les deux fichiers (. Before et after after ) et obtenez les différences:
diff /tmp/gsettings.before /tmp/gsettings.after | grep '[>|<]'
Ou comparez et obtenez uniquement les nouvelles valeurs ( source ):
diff /tmp/gsettings.before /tmp/gsettings.after | grep -Po '> \K.*'
Ou comparez et obtenez uniquement les nouvelles valeurs, mais remplacez le début des lignes par gsettings set
pour préparer une liste de commandes, qui seront stockées directement dans votre fichier de script ( source ):
diff /tmp/gsettings.before /tmp/gsettings.after | sed 's/>/gsettings set/;tx;d;:x'
Vous pouvez exécuter toutes ces commandes à partir d'une ligne (ou vous pouvez créer un script pour automatiser le processus):
gsettings list-recursively > /tmp/gsettings.before; gnome-Tweak-tool; gsettings list-recursively > /tmp/gsettings.after; diff /tmp/gsettings.before /tmp/gsettings.after | grep '[>|<]'
La prochaine démo est créée dans Ubuntu 16.04. Je pense que l'approche doit également fonctionner dans 17.10:
Mise à jour: Je viens de trouver un moyen simple dans Ubuntu 17.10: