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

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

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

Вступление

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

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

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

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

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

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

С помощью gsettings для просмотра и изменения настроек

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

записка: Поскольку в каждой системе установлены разные программы, вам, возможно, придется заменить определенные элементы, которые я выбираю, на другие, когда вы экспериментируете самостоятельно, поскольку я использую XUbuntu XFce с довольно большим количеством программ GNOME.

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

gsettings list-schemas

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

gsettings list-recursively

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

gsettings list-schemas | grep -i shotwell

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

org.yorba.shotwellorg.yorba.shotwell.preferences.uiorg.yorba.shotwell.preferences.slideshoworg.yorba.shotwell.plugins.enable-stateorg.yorba.shotwell.printingorg.yorba.shotwell.preferences.editingorg.yorba.shotwell.preferences.files

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

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

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

background-colordisplay-basic-propertiesdisplay-extended-propertiesdisplay-photo-ratingsdisplay-photo-tagsdisplay-photo-titlesevent-photos-sort-ascendingevent-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-редактора для изменения настроек

Программа с графическим интерфейсом, dconf-editor устанавливается с dconf-инструменты пакет, нажав здесь или запустив

sudo apt-get install dconf-tools

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

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

enter image description here

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

enter image description here

Вывод

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

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

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

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

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

dconf не специфичен для Ubuntu, это технология GNOME, используемая для хранения настроек приложения.Для получения более подробной информации, пожалуйста, прочтитеhttp://live.gnome.org/dconf

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