Ubuntu – What are the differences between gconf and dconf


I've read a lot of discussion about a new Ubuntu configuration tool: gconf is replaced by dconf.

Why is this change being made? Why is there so much debate about it? Is it too difficult to create a gconf2dconf migration tool?

Best Answer

gconf typically uses an XML backend, while dconf uses its own binary blob. From that change alone you can draw up some points:

  • Binary read access is far faster than parsing XML
  • According to dconf's design section, a Gnome login consists of thousands of read operations and only a few writes. To gconf that's thousands of stats, thousands of reads and thousands of parsings. dconf's binary blob would blitz through those without bogging the system down with umpteen thousand IOPs.
  • XML is more portable
  • XML is largely human -readable and -editable.
  • A file-based system can be separated and portioned without much hassle
  • Corruption of a monolith binary file could mean the whole thing dies. Single file corruption only hurts that segment in gconf.

A lot of the arguments are those levelled for and against the Windows registry.

As I understand it, the interface onto this settings back-end would be the same as gconf: through GSettings. This would allow distributions and users to chose one and switch out if they needed to.