Как сохранить настройки GNOME в файле?

Я сохраняю свою конфигурацию в Git-репозитории, чтобы потом легко ее восстановить.

Недавно я наткнулся на проблему , где необходимо было изменить настройки GNOME с помощью команды gsettings.

Есть ли способ сохранить эти настройки в файле, который может быть символической ссылкой или скопирован в предопределенном месте, ожидаемом GNOME? Я бы предпочел метод, в котором мне не нужно писать скрипт для вызова gsettings.

8
задан 8 December 2017 в 05:45

3 ответа

Настройки GNOME обычно хранятся через API GSettings, который является реализацией спецификации DConf. Это сохраняет настройки в двоичной базе данных, которую нельзя заменять при входе в систему.

Вместо этого настройки необходимо экспортировать, а затем снова загрузить.

Вы можете использовать dconf dump / > dconf-settings.ini для выгрузки настроек в INI-файл, а затем использовать cat dconf-settings.ini > dconf load / для загрузки этих настроек обратно. Вы можете заменить / определенным путем, чтобы ограничить, какие настройки сбрасываются и загружаются , См. man dconf для более подробной информации.

Если вы хотите просто установить один ключ, а не целые пути, для этого было бы лучше использовать gsettings с gsettings get и gsettings set в скрипте.

7
ответ дан 8 December 2017 в 05:45

Вот небольшое исправление для команд «Добей»:

Можно сохранить все настройки donf, например, так:

dconf dump / > dconf-settings.ini

Но вы должны восстановить их вот так! :

dconf load / < dconf-settings.ini
5
ответ дан 8 December 2017 в 05:45

См. 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.

Если вам просто нужно, чтобы GNOME выбирал настройки из файла без сценариев, это может быть самый простой способ, но для этого нужен администратор доступ к созданию файла ключа.

Другой вариант - сохранить саму двоичную базу данных dconf, но это не очень хороший вариант для использования с Git в качестве контроля версий. База данных обычно находится в $XDG_CONFIG_HOME/dconf (т.е. по умолчанию ~/.config/dconf). См. Раздел PROFILES на странице руководства.

На странице руководства также написано:

   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.

Но не совсем понятно, как это сделать без сценариев.

1
ответ дан 8 December 2017 в 05:45

Другие вопросы по тегам:

Похожие вопросы: