I'm trying to understand how Gconf, Dconf and Gsettings works and what the relationship is between them.
All I know is:
- Gconf – XML based database (backend system). The older one.
- Dconf – BLOB based database (backend system). The newer one.
- Gsettings – CLI tool to edit settings. Looks like it works only with Dconf (although I saw somewhere that it might work with Gconf).
I know that for Gconf there is a GUI – Gconf-editor, and for Dconf – Dconf-editor.
So:
- Which backend system is more often used – Dconf or Gconf?
- Gsettings works with both of them? And why doesn't it show all Dconf schemas?
- Where does Dconf save its data?
Best Answer
GConf is obsolete. It is the older GNOME 2.x configuration API and system, and has been replaced by DConf/GSettings in newer versions. However, some applications still use it.
GSettings is a GLib implementation of DConf, which stores its data in a binary database.
The
gsettings
command line tool is simply a tool to access or modify settings via the GSettings API, in the same way that the oldergconftool
command line tool is for GConf.