Я пытаюсь понять, как работают Gconf, Dconf и Gsettings и каковы отношения между ними.
Все, что я знаю, это:
- Gconf - база данных на основе XML (бэкэнд-система). Старшая
- Dconf - База данных на основе BLOB (бэкэнд-система). Более новый.
- Gsettings - инструмент CLI для редактирования настроек. Похоже, он работает только с Dconf (хотя я где-то видел, что он может работать с Gconf).
Я знаю, что для Gconf есть GUI - Gconf-редактор, а для Dconf - Dconf-редактор.
Так:
- Какая бэкэнд-система используется чаще - Dconf или Gconf?
- Gsettings работает с ними обоими? И почему он не показывает все схемы Dconf?
- Где Dconf сохраняет свои данные?
Ответы:
GConf устарел. Это более старый API и система конфигурации GNOME 2.x, и в более новых версиях его заменили DConf / GSettings. Тем не менее, некоторые приложения все еще используют его.
GSettings - это GLib-реализация DConf, которая хранит свои данные в двоичной базе данных.
Инструмент
gsettings
командной строки - это просто инструмент для доступа или изменения настроек через API-интерфейс GSettings, точно так же, как более старыйgconftool
инструмент командной строки для GConf.источник
Dconf - это хранилище данных, предназначенное для хранения конфигурации. Это замена для Gconf , который был использован для той же цели. В конце концов, никакие программы больше не должны зависеть от Gconf.
Gsettings - это библиотека разработки, используемая для чтения и записи в бэкэнд хранилища конфигурации. В Linux он использует Dconf, но в Windows он использует реестр, а в OS X он использует собственное хранилище данных.
Разработчикам приложений и конечным пользователям рекомендуется использовать Gsettings, а не Dconf напрямую.
Смотрите также:
источник