Введение

Программное обеспечение

GConf — это система, использовавшаяся в среде рабочего стола GNOME для хранения настроек конфигурации рабочего стола и приложений. Она аналогична реестру Windows. GConf устарела в процессе перехода к GNOME 3. Миграция на её замену, GSettings и dconf, продолжается. Изменения в этой системе контролируются демоном GConfd. GConfd отслеживает изменения в базе данных и применяет новые настройки к приложениям, использующим её, при их изменении. Эта технология известна как "автоматическое применение" в отличие от "явного применения", требующего от пользователей нажатия кнопок "ОК" или "Применить" для вступления изменений в силу. Иногда используется термин "мгновенное применение" в сравнении с простым "применением". По умолчанию база данных GConf использует систему каталогов и XML-файлов, хранящихся в каталоге ~/. gconf. GConf также может использовать другие бэкенды, такие как сервер баз данных, но хранение в XML-файлах является наиболее распространенной конфигурацией. Для ручного изменения настроек предоставляется приложение gconf-editor, однако обычно оно не используется для пользовательских предпочтений.

Архитектура

В настоящее время GConf основан на C-реализации CORBA под названием ORBit. Его архитектура состоит из демона сеанса, который инициализирует различные источники схем конфигурации при входе пользователя в систему. Каждый источник основан на конкретном бэкенде, который преобразует пары ключ-значение, составляющие базу данных конфигурации; бэкенд по умолчанию основан на XML. На данный момент это единственный рабочий бэкенд для GConf, хотя бэкенд LDAP существовал в зачаточном состоянии. Каждый источник также может быть установлен в режим «только для чтения», чтобы создать конфигурацию по умолчанию, например, в корпоративной сети. Значения в базе данных GConf индексируются с использованием строкового пути в формате /path/to/application/key. Правильный способ доступа к базе данных GConf, управляемой демоном GConf, — использовать класс GConfClient на основе GObject.

Уведомление об изменениях

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

Схемы

Приложение, использующее GConf, должно предоставлять описание для каждого ключа, который оно создает в базе данных GConf. Эти метаданные конфигурации также хранятся в базе данных конфигурации и называются схемой; схема может содержать (возможно, локализованный) описательный текст, допустимый тип значения, связанного с ключом, и значение по умолчанию.