Как изменить ключи dconf без графического интерфейса пользователя (для сценария после установки)?

Я установил dconf-tools. В этом случае я манипулирую отображением имени на панели индикатора сеанса.

Я могу изменить это в графическом интерфейсе dconf-editor без проблем, захожу в приложение / индикатор-сеанс и снимаю флажок "Показать реальное имя на панели".

Тем не менее, я также попытался переключить его, просто используя dconf в командной строке:

dconf write /com/canonical/indicator/session/show-real-name-on-panel false

После перезагрузки панель не изменяется, и ключ в dconf-editor также не изменяется.

Более того, попытка обновить базу данных dconf через терминал приводит к ошибке:

$ dconf update
fatal: Error opening directory '/etc/dconf/db': No such file or directory

По моему опыту кажется, что dconf и dconf-editor не связаны между собой, поэтому мне просто интересно, что я делаю неправильно.

Если я могу понять это, я хочу просто поместить команду в скрипт bash для запуска в следующий раз, когда мне нужно будет выполнить чистую установку для обновления *. Я делаю много твиков за 6 месяцев и с этого момента просто хочу максимально автоматизировать.

  • Немного не по теме: механизм обновления дистрибутива никогда не работал без помех для меня; Я пробовал это делать с 11.04 по 11.10.

4 ответа

Решение

Вы можете использовать gsettings инструмент.

gsettings set com.canonical.indicator.session show-real-name-on-panel false

dconf dump + load массовый вывоз и восстановление

  1. Сбросить все настройки в файл:

    dconf dump / >~/.config/dconf/user.conf
    
  2. Откройте этот файл в текстовом редакторе и выберите нужные параметры:

    editor ~/.config/dconf/user.conf
    

    Если вы используете Vim, вам понадобится эта подсветка синтаксиса.

  3. Если вы не знаете название параметра, но знаете, как изменить его с помощью графического интерфейса, например unity-control-center, бежать:

    dconf watch /
    

    а затем изменить их. Точная настройка появится на терминале.

  4. Когда вы хотите восстановить эти настройки, запустите:

    dconf load / <~/.config/dconf/user.conf
    
  5. Git отслеживать файл конфигурации, чтобы никогда не потерять его. https://github.com/andsens/homeshickhomesick - мой любимый метод.

Проверено на Ubuntu 15.10. Подсказка адаптирована с: http://catern.com/2014/12/21/plain-text-configuration-gnome.html

На Ubuntu 14.04 у меня работает следующее:

dconf write /org/gnome/gnome-session/auto-save-session true

Значение действительно изменилось и осталось измененным после перезагрузки. У меня была другая проблема, что окна не были сохранены, но это совсем другая проблема.

Кажется (по крайней мере в 15.10), что есть некоторые вещи (в частности, compiz), которые хранят только конфигурацию на dconf слой и не может быть установлен через gsettings, Возможно, это влияет на другие пути конфигурации, но, вероятно, маловероятно - поскольку compiz находится на более низком уровне, чем единица, я не удивлен, что он ведет себя по-другому.

Например, это будет работать:

dconf write /org/compiz/profiles/unity/plugins/core/outputs "['3200x1800+288+2160', '3840x2160+0+0']"

пока этого не будет

gsettings set org.compiz.profiles.unity.plugins.core outputs "['3200x1800+288+2160', '3840x2160+0+0']"
# No such schema 'org.compiz.profiles.unity.plugins.core'

Теперь, если бы я только мог понять, как перезагрузить Compiz без сбоев всего...

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