Как я могу записать настройки, сделанные gnome-tweak-tool?
Мне нравится иметь возможность настраивать вещи из командной строки, чтобы при переустановке ОС я мог просто запустить сценарий и вернуть свою предпочтительную конфигурацию обратно.
После "обновления" до Ubuntu 17.10 я обнаружил, что мне нужно использовать gnome-tweak-tool, чтобы получить некоторые настройки так, как я хочу.
Как только я найду настройку в графическом интерфейсе gnome-tweak-tool, как я смогу найти перевод с помощью сценариев?
Например, следующие строки gsettings соответствуют соответствующим записям на снимке экрана gnome-tweak-tool ниже...
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"
... но как можно было догадаться об этом? А как мне, например, выяснить, где взять соответствующие настройки для хинтинга и сглаживания?
2 ответа
Легко узнать, что устанавливается
Вместо поиска по всему каталогу опций:
- Откройте окно терминала
Запустите команду:
dconf watch /
Внесите изменения и посмотрите, что показывает терминал:
... и вот вы здесь.
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
база данных.
Для большинства настроек вы можете использовать этот подход:
Экспортировать список
gsettings
во временный файл:gsettings list-recursively > /tmp/gsettings.before
Внесите свои изменения
gnome-tweak-tool
(или жеunity-control-center
);Экспортировать список
gsettings
в другой временный файл:gsettings list-recursively > /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
подготовить список команд, которые должны храниться непосредственно в вашем файле скрипта ( источник):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:
Обновление: я только что нашел простой способ в Ubuntu 17.10: