web-dev-qa-db-fra.com

Comment enregistrer les paramètres GNOME dans un fichier?

Je sauvegarde ma configuration dans un référentiel Git pour le restaurer facilement ultérieurement.

Récemment, je suis tombé sur un numéro nécessaire pour modifier les paramètres GNOME avec la commande gsettings.

Existe-t-il un moyen de sauvegarder ces paramètres dans un fichier qui pourrait être lié de manière symbolique ou copié dans un emplacement prédéfini attendu par GNOME? Je préférerais une méthode pour laquelle je n'ai pas besoin d'écrire un script pour appeler gsettings.

6
Morgan Courbet

Les paramètres GNOME sont généralement stockés via l'API GSettings, qui est une implémentation de la spécification DConf. Cela stocke les paramètres dans une base de données binaire, qui ne doit pas être remplacée lors de la connexion.

Au lieu de cela, les paramètres doivent être exportés, puis chargés à nouveau.

Vous pouvez utiliser dconf dump / > dconf-settings.ini pour vider les paramètres dans un fichier INI, puis utiliser cat dconf-settings.ini > dconf load / pour les charger. Vous pouvez remplacer le / par un chemin spécifique pour limiter les paramètres qui sont sauvegardés et chargés. Voir man dconf pour plus de détails.

Si vous souhaitez simplement définir une clé unique, plutôt que des chemins entiers, il serait préférable d'utiliser gsettings, avec gsettings get et gsettings set dans un script.

7
dobey

Voici une petite correction pour les commandes "Dobey":

Vous pouvez enregistrer tous les paramètres de donf comme ceci:

dconf dump / > dconf-settings.ini

Mais vous devez les restaurer comme ça! :

dconf load / < dconf-settings.ini
6
jokx

Voir man 7 dconf :

KEY FILES
   To facilitate system configuration with a text editor, dconf can
   populate databases from plain text keyfiles. For any given system
   database, keyfiles can be placed into the /etc/dconf/db/database.d/
   directory. The keyfiles contain groups of settings as follows:

       # Some useful default settings for our site

       [system/proxy/http]
       Host='172.16.0.1'
       enabled=true

       [org/gnome/desktop/background]
       picture-uri='file:///usr/local/rupert-corp/company-wallpaper.jpeg'

   After changing keyfiles, the database needs to be updated with the
   dconf(1) tool.

Si vous avez juste besoin que GNOME récupère les paramètres d’un fichier sans script, ceci est peut-être la méthode la plus simple, mais il faut un accès administrateur pour créer le fichier de clé.

L'autre option consiste à enregistrer la base de données binaire dconf elle-même, mais ce n'est pas une bonne option pour une utilisation avec Git en tant que contrôle de version. La base de données est généralement située dans $XDG_CONFIG_HOME/dconf (c.-à-d. ~/.config/dconf par défaut). Voir la section sur PROFILES dans la page de manuel.

La page de manuel dit aussi:

   The binary database format that dconf uses by default is not suitable
   for use on NFS, where mmap does not work well. To handle this common
   use case, dconf can be configured to place its binary database in
   XDG_RUNTIME_DIR (which is guaranteed to be local, but non-persistent)
   and synchronize it with a plain text keyfile in the users home
   directory.

Mais on ne sait pas exactement comment faire cela sans script.

1
muru