Gconf, Dconf, Gsettings и взаимосвязь между ними

55

Я пытаюсь понять, как работают Gconf, Dconf и Gsettings и что между ними отношения.

Все, что я знаю, это:

  • Gconf - база данных на основе XML (бэкэнд-система). Более старый.
  • Dconf - база данных на основе BLOB (бэкэнд-система). Более новый.
  • Gsettings - инструмент CLI для редактирования настроек. Похоже, что он работает только с Dconf (хотя я видел где-то, что он может работать с Gconf).

Я знаю, что для Gconf есть GUI-Gconf-редактор, а для Dconf - Dconf-editor.

Итак:

  1. Какая бэкэнд-система чаще используется - Dconf или Gconf?
  2. Gsettings работает с обоими из них? И почему он не показывает все схемы Dconf?
  3. Где Dconf сохраняет свои данные?
задан idgar 31.01.2013 в 17:11
источник

2 ответа

30

GConf устарел. Это более старый API и система конфигурации GNOME 2.x и был заменен DConf / GSettings в более новых версиях. Однако некоторые приложения все еще используют его.

GSettings - это GLib-реализация DConf, которая хранит свои данные в двоичной базе данных.

Инструмент командной строки gsettings - это просто инструмент для доступа или изменения настроек с помощью API GSettings, так же, как более старый инструмент командной строки gconftool для GConf.

    
ответ дан dobey 31.01.2013 в 18:16
источник
34

Dconf - хранилище данных, предназначенное для хранения конфигурации. Это замена Gconf, которая использовалась для этой же цели. В конце концов, никакие программы больше не должны зависеть от Gconf.

Gsettings - это библиотека разработки, используемая для чтения и записи в брандмауэре хранилища конфигурации. В Linux он использует Dconf, но в Windows он использует реестр, а в OS X использует собственное хранилище данных.

Разработчикам приложений и конечным пользователям рекомендуется использовать Gsettings, а не Dconf напрямую.

См. также:

  • Каковы различия между gconf и dconf?
  • Могу ли я использовать dconf-editor для изменения настроек Gconf?
  • GSettingsMigration на gnome.org
ответ дан Flimm 31.01.2013 в 18:31