Автоматическая настройка реестра Gnome (GConf)
TL;DR: нашли некоторые возможности, но документация оставляет слишком много вопросов без ответа, чтобы я мог уверенно их использовать.
Я хотел бы развернуть некоторые обязательные настройки GConf на пользовательских рабочих станциях в нашей сети. После некоторого расследования, кажется, есть несколько вариантов для изменения обязательных настроек, но каждый оставляет мне вопросы о том, как правильно его применить.
gconf-editor
- Метод: из графического интерфейса запустите
gksudo gconf-editor
и выберите Файл> Новое обязательное окно. - Плюсы:
- Определенно работает: это то, что я использовал для установки меньшего размера в прошлом.
- Минусы:
- Не автоматизировано, так что на самом деле не вариант.
- Плохо масштабируется при большом количестве настроек.
gconftool-2
- Метод: вызов
gconftool-2
с '--config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory
вариант. - Плюсы:
- Может быть автоматизирован.
- Минусы:
- Видимо противоречивые указания по использованию
--direct
флаг. - (незначительный) Требуется отдельная команда для каждого отдельного параметра.
- Видимо противоречивые указания по использованию
/etc/gconf/gconf.xml.mandatory/
- Метод: Изменить / создать файлы в
/etc/gconf/gconf.xml.mandatory/
непосредственно. - Плюсы:
- Хорошо вписывается в нашу существующую инфраструктуру распространения файлов.
- Хорошо масштабируется для большого количества настроек.
- Минусы:
- Похоже, не является официально поддерживаемым методом.
- Непонятно, как не расстраиваться
gconfd
, - Скрипт оболочки для остановки / перезапуска
gconfd
может вызвать проблемы с пользователем.
Документация GNOME дает несколько примеров для gconftool-2
которые все используют --direct
флаг. Однако на странице руководства сказано, что --direct
flag 'Требует, чтобы gconfd не работал.' Это не относится к этому сценарию (я бы работал от имени пользователя root, а не вошел в систему), или мне нужно было бы определить, gconfd
работает и передает / не передает этот флаг соответственно?
В идеале я хотел бы синхронизировать файлы в /etc/
напрямую, но я не могу найти никаких указаний на то, как демоны могут на это отреагировать (например, могут ли они выбрать несогласованные настройки или их нужно перезапустить). Сэндвич обновления файлов между командами для остановки / перезапуска gconfd
следует избегать проблем с самим демоном, но я думаю, что это может привести к хаосу при активном сеансе пользователя.
Может ли кто-нибудь с большим опытом работы с GConf уточнить какие-либо из этих вопросов или предоставить подробную информацию о методах, которые они используют? У нас работает Ubuntu 12.04 LTS, но я был бы рад услышать о решениях, работающих на любой платформе.
1 ответ
Учитывая ваши требования, я бы пошел с добавлением настроек в /etc/gconf/gconf.xml.mandatory
(Я предполагаю, что вы используете марионетку, шеф-повара или что-то подобное). Вам нужно будет выйти из системы и остановить gconfd (gconftool-2 --shutdown
; обычно он остается включенным в течение нескольких минут после выхода из системы, чтобы изменения вступили в силу.