Автоматическая настройка реестра 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; обычно он остается включенным в течение нескольких минут после выхода из системы, чтобы изменения вступили в силу.

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