gconf和dconf有什么区别?


57

我已经阅读了很多有关新的Ubuntu配置工具的讨论:gconf被dconf取代。

为什么要进行此更改?为什么对此有如此多的争论?创建gconf2dconf迁移工具是否太难了?

Answers:


65

gconf通常使用XML后端,而dconf使用其自己的二进制Blob。仅从更改中就可以得出几点:

  • 二进制读访问是远远高于解析XML快
  • 根据dconf的设计部分,Gnome登录由数千个读取操作和仅几个写入操作组成。为了gconf这几千统计,数千读取和数千个parsings的。dconf的二进制blob可以快速闪过这些二进制数据,而不会使系统陷入大量的IOP。
  • XML更可移植
  • XML在很大程度上是人类可读和可编辑的。
  • 基于文件的系统可以被分离和分割,而无需太多麻烦
  • 整体二进制文件损坏可能意味着整个事情都死了。单个文件损坏只会伤害到该段gconf

许多参数是针对Windows注册表进行了级别划分的参数。

据我了解,此设置后端的界面与gconf:through 相同GSettings。这将使发行版和用户可以选择一个,然后根据需要退出。


1
非常明确的答案。阅读您的答案(特别是最后3点),我认为即使慢一点也更好,gconf ..
nkint 2011

21
另一个很大的不同点是,从dconf读取设置是完全在过程中完成的,而IPC仅在写入和更改通知时发生。相反,几乎每个GConf操作都涉及IPC。您可能也夸大了使用XML的GConf的好处:访问GConf数据库的唯一受支持的方法是通过GConf API,并且在gconfd运行时直接编辑XML文件可能会产生意想不到的结果。
James Henstridge

2
我认为使用基于文本的内容的主要优点是,当文件部分损坏时,可以使用任何文本编辑器来恢复部分内容(但是我认为从理论上讲,有可能编写一种可以恢复部分二进制Blob的工具。 ?)。
2011年

3
我认为最好的解决方法是将〜/ .config置于版本控制下,这将使您能够在发生任何错误时简单地回滚。这样可以解决任何有意的配置更改,并且具有不可预见的副作用。
Jo-Erlend Schinstad

1
@ Jo-ErlendSchinstad出问题总是有机会破坏VCS的控制文件。
罗斯兰
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.