Что такое dconf, какова его функция и как его использовать?

60

Марк Шаттлворт недавно опубликованный блог о решении включить библиотеки Qt в выпуск 11.10 с оттуда из Jono Bacon. Марк утверждает, что самая большая проблема интеграции приложений, написанных в Qt, в более крупную систему Ubuntu - текущая несовместимость Qt с dconf.

Что такое dconf, и какова роль, которую он играет в Ubuntu?

    
задан Chris Wilson 19.01.2011 в 19:32
источник

3 ответа

68

Введение

В качестве других ответов на этом сайте обсудите gconf и dconf вместе, я просто сосредоточусь на обсуждении инструментов командной строки, таких как gsettings и gui dconf-editor , которые используются для доступа к базе данных dconf .

В официальном сайте GNOME отмечается, что

  

dconf - это низкоуровневая система конфигурации. Его основная цель - предоставить бэкэнд для GSettings на платформах, которые еще не имеют систем хранения конфигурации.

     

dconf - простая система настройки на основе ключей. Ключи существуют в неструктурированной базе данных (но предполагается, что ключи, которые логически принадлежат друг другу, группируются вместе).      

Наличие всех ключей в одном компактном бинарном формате также позволяет избежать интенсивных проблем фрагментации, которые в настоящее время испытываются подходом tree-of-directories-of-xml-files.

     

dconf оптимизирован для чтения. Как правило, чтение ключа из dconf включает в себя нулевые системные вызовы и нулевые контекстные переключатели.    Пикеты менее оптимизированы - они пересекают автобус и обрабатываются "писателем" - службой DBus - обычным способом.

Использование gsettings для просмотра и изменения настроек

Как только вы узнаете gsettings , это может быть так же просто, как gui dconf-editor . Параметры можно указать, введя man gsettings или перейдите в Ubuntu manpages online .

ПРИМЕЧАНИЕ. . Поскольку у каждой системы установлены разные программы, возможно, вам придется подставлять определенные элементы, которые я выбираю для разных, когда вы экспериментируете самостоятельно, поскольку я использую XUbuntu XFce с довольно большим количеством программ GNOME .

Чтобы перечислить все доступные схемы, введите

gsettings list-schemas

Чтобы включить все ключи, введите

gsettings list-recursively

Однако , как правило, проще указать, что вы хотите, например,

gsettings list-schemas | grep -i shotwell

Возвращает длинный список; Я сократил его до:

org.yorba.shotwell
org.yorba.shotwell.preferences.ui
org.yorba.shotwell.preferences.slideshow
org.yorba.shotwell.plugins.enable-state
org.yorba.shotwell.printing
org.yorba.shotwell.preferences.editing
org.yorba.shotwell.preferences.files

Теперь, когда вы нашли интересующую вас схему, перечислите ключи с помощью

gsettings list-keys org.yorba.shotwell.preferences.ui

Это возвращает список (опять я его сократил):

background-color
display-basic-properties
display-extended-properties
display-photo-ratings
display-photo-tags
display-photo-titles
event-photos-sort-ascending
event-photos-sort-by

Выберите один и посмотрите, что текущее значение с

gsettings get org.yorba.shotwell.preferences.ui display-photo-tags

Это возвращает значение true, поэтому, чтобы отменить его, используйте

gsettings set org.yorba.shotwell.preferences.ui display-photo-tags false

Это тривиальные примеры, но в основном показывают, как ключи и значения идентифицируются и изменяются с помощью gsettings .

Использование dconf-редактора для изменения настроек

Программа gui, dconf-editor установлена ​​(в 12.04), нажав:

или запустив

sudo apt-get install dconf-tools

Затем запустите его, войдя в терминал или в меню быстрого запуска, dconf-editor .

Как вы можете видеть на скриншоте, все различные схемы можно развернуть с левой стороны и выбрать соответствующий ключ. Очень просто перейти к требуемому значению (в данном случае предпочтениям gnome-mplayer ). Вы можете щелкнуть этот флажок, чтобы активировать значение или добавить числовое значение в один из других полей. Вы также можете искать в редакторе dconf комбинацию клавиш Ctrl + F .

Вы также можете добавить еще один log say к log-viewer , добавив путь в форму ['/var/log/auth.log', var .... '] на скриншоте ниже.

Заключение

Есть много других полезных способов, которые вы можете настроить как с помощью gsettings , так и dconf-editor , и они просты в использовании. Стоит просмотреть их, чтобы увидеть, есть ли там варианты, которых нет в настройках программ, так как вы можете настроить свою программу так, как хотите. Как недавно показал fossfreedom в этом вопросе

  • Как редактировать список мест в музыкальной библиотеке в Rhythmbox?

зная, как использовать gsettings или dconf-editor , чрезвычайно ценно. См. Также:

  • Как использовать редактор gconf?
ответ дан user76204 20.09.2012 в 18:31
источник
20

Для тех, кто приходит из окон, которые хотят получить простой ответ, dconf - это гном, эквивалентный реестру Windows ... большое двоичное дерево, в котором любая программа может хранить и делиться своей конфигурацией.

Сначала они перенесли из традиционных конфигураций unix (один текстовый файл для каждого приложения, каждый со своим форматом) в стандартное дерево XML-файлов, управляемое gconf. В последнее время, поскольку почти никто не редактировал эти файлы XML напрямую и проблемы с производительностью при чтении и анализе МНОГИХ файлов, они перенесли их в двоичный формат, перейдя с gconf на dconf.

В отличие от реестра Windows, dconf должен иметь перечисленные записи конфигурации, даже если они установлены в значения по умолчанию. Таким образом, нет скрытых записей, вы можете изменить их или сбросить, а затем по умолчанию легко.

    
ответ дан higuita 20.08.2013 в 13:47
10

dconf не является специфичным для Ubuntu, это технология GNOME, используемая для хранения настроек приложения. Для получения дополнительной информации, пожалуйста, прочитайте Ссылка

    
ответ дан João Pinto 19.01.2011 в 19:36