Gconf,Dconf,Gsettings以及它们之间的关系

我试图了解Gconf,Dconf和Gsettings如何工作以及它们之间的关系。

我所知道的是:

  • Gconf – 基于XML的数据库(后端系统)。 较旧的。
  • Dconf – 基于BLOB的数据库(后端系统)。 较新的一个。
  • Gsettings – 用于编辑设置的CLI工具。 看起来它只适用于Dconf(虽然我看到它可能适用于Gconf)。

我知道对于Gconf,有一个GUI – Gconf编辑器,以及Dconf – Dconf编辑器。

所以:

  1. 哪个后端系统更常用–Dconf或Gconf?
  2. Gsettings适用于他们两个? 为什么不显示所有Dconf模式?
  3. Dconf在哪里保存数据?

GConf已经过时了。 它是较旧的GNOME 2.x配置API和系统,在较新版本中已被DConf / GSettings取代。 但是,一些应用程序仍在使用它。

GSettings是DConf的GLib实现,它将数据存储在二进制数据库中。

gsettings命令行工具只是一个通过GSettings API访问或修改设置的工具,就像旧的gconftool命令行工具用于GConf一样。

Dconf是一个用于存储配置的数据存储。 它是Gconf的替代品,Gconf用于同一目的。 最终,任何程序都不应该依赖于Gconf。

Gsettings是一个用于读取和写入配置存储后端的开发库。 在Linux上,它使用Dconf,但在Windows上,它使用注册表,而在OS X上,它使用本机数据存储。

建议应用程序开发人员和最终用户使用Gsettings,而不是直接使用Dconf。

也可以看看:

  • gconf和dconf有什么区别?
  • 我可以使用dconf-editor修改Gconf设置吗?
  • GSettingsMigration在gnome.org上