Что такое dconf, какова его функция и как ее использовать?
Марк Шаттлворт недавно написал в блоге о решении включить библиотеки Qt в выпуск 11.10 вместе с продолжением Jono Bacon. Марк утверждает, что самой большой проблемой для интеграции приложений, написанных на Qt, в большую систему Ubuntu является текущая несовместимость Qt с dconf.
Что такое dconf и какую роль он играет в Ubuntu?
3 ответа
Вступление
Как и другие ответы на этом сайте обсудить 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.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-editor для изменения настроек
Графическая программа, dconf-editor
устанавливается (в 12.04), нажав:
или бегом
sudo apt-get install dconf-tools
Затем запустите его, введя в терминал или в меню быстрого запуска, dconf-editor
,
Как вы можете видеть на скриншоте, все различные схемы можно развернуть с левой стороны и выбрать соответствующую клавишу. Перейти к нужному значению очень просто (в этом случае gnome-mplayer
предпочтения). Вы можете установить флажок, чтобы активировать значение, или добавить числовое значение в одно из других полей. Вы также можете искать в редакторе dconf с помощью сочетания клавиш Ctrl + F.
Вы также можете добавить еще один журнал сказать log-viewer
добавив путь в виде ['/var/log/auth.log', var....'] на скриншоте ниже.
Заключение
Есть много других полезных способов настройки параметров как gsettings
а также dconf-editor
и они просты в использовании. Стоит просмотреть их, чтобы увидеть, есть ли там опции, которых нет в настройках программы, так как вы можете настроить свою программу так, как вам хочется. Как недавно продемонстрировала свобода действий в этом вопросе
зная, как использовать gsettings
или же dconf-editor
чрезвычайно ценно. Смотрите также:
Для тех, кто приходит из Windows и хочет получить простой ответ, dconf - это эквивалент gnome для реестра Windows... большое двоичное дерево, в котором любая программа может хранить свою конфигурацию и делиться ею.
Сначала они мигрировали из традиционных конфигураций Unix (по одному текстовому файлу для каждого приложения, каждый со своим собственным форматом) в стандартное дерево XML-файлов, управляемое gconf. В последнее время, когда почти никто не редактировал эти XML-файлы напрямую и проблемы с производительностью чтения и анализа MANY-файлов, они мигрировали в двоичный формат путем перехода с gconf на dconf.
В отличие от реестра Windows, в dconf должны быть перечислены все записи конфигурации, даже если для них заданы значения по умолчанию. Таким образом, нет никаких скрытых записей, вы можете изменить их или затем легко сбросить до значений по умолчанию.
dconf не специфичен для Ubuntu, это технология GNOME, используемая для хранения настроек приложения. Для более подробной информации, пожалуйста, прочитайте http://live.gnome.org/dconf