Каковы различия между gconf и dconf?

57

Я много читал о новом инструменте настройки Ubuntu: вместо gconf стоит dconf.

Почему происходит это изменение? Почему так много споров об этом? Слишком сложно создать инструмент миграции gconf2dconf?

nkint
источник

Ответы:

65

gconfобычно использует XML-бэкэнд, в то время как dconfиспользует свой двоичный двоичный объект. Только из этого изменения вы можете составить несколько пунктов:

  • Двоичный доступ для чтения намного быстрее, чем синтаксический анализ XML
  • Согласно разделу дизайна dconf , вход в Gnome состоит из тысяч операций чтения и только нескольких операций записи. Для того, чтобы gconfэто тысячи статистика, тысячи просмотров и тысячи parsings. dconfБинарный двоичный объект пробежит сквозь них, не перегружая систему тысячами IOP.
  • XML более переносим
  • XML в значительной степени удобен для чтения и редактирования.
  • Файловая система может быть разделена и распределена без особых хлопот
  • Повреждение монолитного двоичного файла может означать, что все это умрет. Повреждение одного файла только вредит этому сегменту в gconf.

Многие аргументы - это аргументы за и против реестра Windows.

Насколько я понимаю, интерфейс на этом бэкэнде настроек будет таким же, как gconf: through GSettings. Это позволило бы дистрибутивам и пользователям выбирать один и переключаться, если это необходимо.

Оли
источник
1
очень четкий ответ. читая ваш ответ (особенно последние 3 пункта), я думаю, что gconf, даже если медленнее, лучше ..
nkint
21
Еще одно большое отличие состоит в том, что чтение настроек из dconf выполняется полностью в процессе, а IPC выполняется только для записи и уведомления об изменениях. Напротив, почти каждая операция GConf включает IPC. Вы также можете преувеличивать преимущества GConf с использованием XML: единственный поддерживаемый метод доступа к базе данных GConf - через API GConf, и непосредственное редактирование файлов XML во время работы gconfd может привести к неожиданным результатам.
Джеймс Хенстридж
2
Я думаю, что основным преимуществом использования чего-либо на основе текста является возможность спасать его части с помощью любого текстового редактора, когда файл частично поврежден (но я полагаю, что теоретически можно написать инструмент, который может также спасать части двоичных двоичных объектов). ?).
JanC
3
Я думаю, что лучший способ спасти это - поставить ~ / .config под контроль версий, что позволит вам просто откатиться, если что-то пойдет не так. Это исправит любые преднамеренные изменения конфигурации с непредвиденными побочными эффектами.
Джо-Эрленд Шинстад
1
@ Jo-ErlendSchinstad Если что-то идет не так, всегда есть возможность испортить управляющие файлы VCS.
Руслан