Я хотел бы знать значение по умолчанию для ключа dconf / gsettings.
Мой вопрос является продолжением вопроса ниже: Где я могу получить список SCHEMA / PATH / KEY для использования с gsettings?
Что я пытаюсь сделать, так что создайте скрипт, который читает все мои личные предпочтения, чтобы я мог их резервировать и восстанавливать. Я планирую перебрать все ключи, как и приведенный выше скрипт, посмотреть, какие ключи были изменены по сравнению со значением по умолчанию, и записать их, которые можно восстановить позже.
Я вижу, что dconf-editor отображает значение ключей по умолчанию, но я бы очень хотел написать это. Кроме того, я не понимаю, как можно автоматизировать синтаксический анализ схем /usr/share/glib-2.0/schemas/. Может быть, кто-то может помочь?
gsettings get-default | list-defaults было бы неплохо =)
(Господи, в старые времена было намного проще, когда ты просто держал свой ~ / .somethingrc в подрывной деятельности ... = \
Основываясь на ответе, приведенном ниже, я обновил скрипт для печати схемы, ключа, типа данных ключа, значения по умолчанию и фактического значения:
#!/bin/bash
for schema in $(gsettings list-schemas | sort); do
for key in $(gsettings list-keys $schema | sort); do
type="$(gsettings range $schema $key | tr "\n" " ")"
default="$(XDG_CONFIG_HOME=/tmp/ gsettings get $schema $key | tr "\n" " ")"
value="$(gsettings get $schema $key | tr "\n" " ")"
echo "$schema :: $key :: $type :: $default :: $value"
done
done
Этот обходной путь в основном покрывает то, что мне нужно. Я продолжу работать над скриптом резервного копирования отсюда.
gsettings reset KEY
это путь.Ответы:
Кажется, что нет хорошего способа получить значения по умолчанию напрямую, но, поскольку клиент проверяет XDG_CONFIG_HOME в среде, приемлемым обходным решением для получения значений из свежей конфигурации может быть:
источник
Если вы заинтересованы в резервном копировании и восстановлении настроек (в этом случае вам следует изменить заголовок вашего вопроса).
Резервный
Вы можете сделать резервную копию ваших настроек с
Это записывает все ключи в файл резервной копии в вашей домашней папке.
Восстановить
Насколько я знаю, нет прямой возможности импортировать файл обратно в dconf. Может быть, вы могли бы написать подпрограмму, которая построчно считывает файл резервной копии и выполняет
gsettings set <input line from backup>
восстановление ваших настроек.источник