Как я могу написать сценарий настроек, установленных инструментом тонкой настройки гнома?

Мне нравится мочь настроить вещи из командной строки, так, чтобы, когда я переустанавливаю ОС, я мог просто запустить скрипт и вернуть мою предпочтительную конфигурацию.

Начиная с "обновления" до Ubuntu 17.10 я нашел, что должен был использовать инструмент тонкой настройки гнома для получения некоторых настроек путем, я хочу их.

После того как я нахожу установку в инструменте тонкой настройки гнома GUI, как я могу выяснить его scriptable перевод?

Например, следующие строки gsettings соответствуют соответствующим записям в снимке экрана инструмента тонкой настройки гнома ниже...

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"

screen shot from gnome-tweak-tool ... но как кто-либо мог предположить это? И как был бы, я, например, выясняю, где получить соответствующие настройки для вывода подсказок и сглаживания?

22
задан 4 November 2017 в 02:04

2 ответа

Легко узнать, что устанавливается

Вместо поиска по всему каталогу параметров:

  1. Откройте окно терминала
  2. Выполните команду:

     dconf watch /
     
  3. Внесите изменения и посмотрите, что показывает терминал:

    enter image description here

    ... и вот вы где.

Dconf & gsettings

В этом примере вы видите вывод из dconf . Gsettings - это клиентский интерфейс для dconf. Часто вы можете использовать как команду dconf , так и команду gsettings . В этом случае либо:

dconf write /org/gnome/desktop/background/show-desktop-icons false

, либо:

gsettings set org.gnome.desktop.background show-desktop-icons false

Однако, если ключ gsettings существует, последний считается лучшей практикой для защиты целостности вашей базы данных dconf .

См. Также здесь и здесь .

28
ответ дан 23 November 2019 в 02:55

Для большинства настроек вы можете использовать этот подход:

  • Экспортируйте список gsettings во временный файл:

     gsettings list-recursively> /tmp/gsettings.before
     
  • Внесите изменения с помощью gnome-tweak-tool (или unity-control-center );

  • Экспортируйте список gsettings в другой временный файл:

     список настроек gsettings рекурсивно> /tmp/gsettings.after
     
  • Сравните два файла ( .before и .after ) и получите различия:

     diff /tmp/gsettings.before /tmp/gsettings.after |  grep '[> | <]'
     

    Или сравните и получите только новые значения ( источник ):

     diff /tmp/gsettings.before /tmp/gsettings.after |  grep -Po '> \ K. *'
     

    Или сравните и получите только новые значения, но замените начало строк на gsettings set , чтобы подготовить список команд, которые можно сохранить непосредственно в файле сценария ( source ):

     diff /tmp/gsettings.before /tmp/gsettings.after |  sed 's /> / gsettings set /; tx; d;: x'
     

Вы можете запускать все эти команды из одной строки (или можете создать сценарий для автоматизации процесса):

gsettings list-recursively > /tmp/gsettings.before; gnome-tweak-tool; gsettings list-recursively > /tmp/gsettings.after; diff /tmp/gsettings.before /tmp/gsettings.after | grep '[>|<]'

Следующая демонстрация создается в Ubuntu 16.04. Я думаю, что этот подход будет работать и в 17.10:

enter image description here


Обновление: Я только что нашел простой способ в Ubuntu 17.10:

enter image description here

8
ответ дан 23 November 2019 в 02:55

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

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