dconf - dconf

редактировать
dconf
Dconf-editor-icon-gnome-3.12.png
редактор dconf Снимок экрана редактора dconf, работающего под Arch Linux
Разработчик (и) Проект GNOME (Эллисон Лорти)
Первый выпуск16 сентября 2009 г.; 11 лет назад (16.09.2009)
Стабильный выпуск 0.28 / 13 марта 2018 г.; 2 года назад (13.03.2018)
Репозиторий Измените это в Wikidata
Написано наC
Типе Конфигурация, управление настройками
Лицензия Стандартная общественная лицензия ограниченного применения GNU
Веб-сайтwiki.gnome.org / Projects / dconf
дает доступ к определенное популярное подмножество настроек рабочего стола.

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

Содержание
  • 1 Обзор
  • 2 Архитектура программного обеспечения
    • 2.1 База данных dconf
    • 2.2 GVariant
    • 2.3 GSettings
  • 3 Документация
  • 4 История
    • 4.1 История выпусков
  • 5 Альтернативы
  • 6 Ссылки
  • 7 Внешние ссылки
Обзор

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

Поддерживается уведомление об изменении.

Поддерживается объединение нескольких источников конфигурации. Обязательные ключи поддерживаются.

Объединение может быть выполнено в «точках монтирования». Например, глобальная конфигурация системы может быть смонтирована в / system / внутри пространства конфигурации каждого пользователя. Один источник конфигурации может появляться в нескольких точках иерархии. Например, в дополнение к наложению на обычные ключи в / user /, системные ключи по умолчанию могут также появиться в / default / для проверки и модификации с помощью утилиты конфигурации системной политики. Интеграция

PolicyKit запланирована таким образом, чтобы обычный пользователь мог временно получить возможность, например, писать на ключи в / system / (или / default /). Это означает, что такие программы, как конфигурационная утилита GNOME Display Manager, больше не нужно запускать от имени пользователя root.

Архитектура программного обеспечения

Поскольку типичный вход в систему GNOME состоит из тысяч чтений и в идеале 0 записей, dconf оптимизирован для чтения. Обычно чтение ключа из dconf не требует системных вызовов и переключений контекста. Это достигается с помощью простого формата файла, который одновременно используется как формат хранения данных в dconf и как механизм IPC между клиентами и сервером.

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

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

Архитектура dconf Архитектура dconf

Записи менее оптимизированы - они проходят по шине и обрабатываются "писателем" - службой D-Bus - обычным способом. Уведомление об изменении также обрабатывается писателем. Причина наличия службы шины заключается в том, что синхронизация клиентов при записи будет очень сложной.

Службу записи не нужно активировать, пока не будет выполнена первая операция записи.

Служба полностью не имеет состояния и может запускаться и останавливаться динамически. Список уведомлений об изменениях, которые интересуют отдельного клиента, поддерживает демон шины (как список отслеживания / совпадения сигналов D-Bus).

База данных dconf

Одна база данных dconf состоит из одного файла в двоичном формате, т.е. это не текстовый файл. Формат определяется как (файл базы данных GVariant). Это простой формат файла базы данных, в котором хранится сопоставление строк со значениями GVariant, что очень эффективно для поиска.

Файл базы данных GNOME для каждого пользователя по умолчанию ~ /.config / dconf / user, файл, который должен быть в формате GVDB.

GVariant

GVariant - это строго типизированный тип данных значения. GVariant - это вариантный тип данных; он может содержать одно или несколько значений вместе с информацией о типе значений.

GVariant может содержать простые типы, например целые числа или логические значения; или сложные типы, такие как массив из двух строк или словарь пар ключ-значение. GVariant также неизменен: после того, как он был создан, ни его тип, ни его содержимое не могут быть изменены. GVariant полезен, когда данные необходимо сериализовать, например, при отправке параметров метода в DBus или при сохранении настроек с помощью GSettings.

GVariant является частью GLib.

GSettings

Класс GSettings предоставляет высокоуровневый API для приложения для хранения и получения собственных настроек.

Служебная программа / usr / bin / gsettingsсодержится в libglib2.0-bin.

GSettings является частью GIO. который является частью GLib. libglib2.0-0

Документация

Доступно руководство системного администратора для dconf. Начиная с версии 0.2, dconf распространяется под лицензией LGPL версии 2.1 "или новее".

История

История выпусков

ВерсияДата выпускаСущественные изменения
0.118.09.2009
0.22009-10-27
0.32010-05-25
0.42010-07-12
0,52010-09-15
0,62010-12-21
0,72011-05-09
0,82011-07-26
0,92011-09-19
0,102011-09-26
0,112012-03-19
0,122012-05-01
0,132012-08-20
0,142012-11-01
0,152013-02-11
0,162013-07-16
0,172013-09-16
0,182013-09-23
0,192014-03-17
0,202014-03-24компиляция dconf: всегда писать немного endian
0,2122.07.2014
0,2219.09.2014
0,2316.03.2015разделить dconf-editor в отдельный пакет
0.242015-03-23
0.252015-12-16
0.262016-03-23 ​​back-end libdbus-1 удален; dconf теперь всегда использует GDBus
0.272017-10-17Порт для системы сборки Meson (# 784910)
Альтернативы

Elektra сохраняет настройки в настраиваемых файлах конфигурации, обычно в текстовой форме, такой как INI, XML или JSON. В отличие от dconf, системный администратор выбирает, какие параметры конфигурации должны быть помещены в какой файл (и в каком формате) при монтировании.

Inkscape сохраняет настройки в одном XML-файле, расположенном в ~ /.config / Inkscape / preferences.xml(в Linux) и % APPDATA% \ inkscape \ preferences.xml(в Windows).

GIMP хранит их в одном файле по адресу /etc/gimp/2.0/gimprc, а в другом - по адресу $ HOME /.gimp-2.8 / gimprcперезапись глобальных настроек, если так.

KDE не использует dconf. В KDE настройки сохраняются в простых текстовых файлах, расположенных в ~ /.kde / share / config / rcили .kde / config / rc, а не в база данных. Графический интерфейс для изменения этих настроек - это системные настройки, хотя индивидуальные настройки приложения обычно устанавливаются внутри самого приложения.

Большинство приложений Windows по-прежнему хранят свои пользовательские настройки в отдельных файлах.ini (инициализации), разбросанных по диску. Они дополнительно используют реестр Windows для хранения информации, которая может представлять интерес для другого программного обеспечения. Для таких программ реестр Windows действует скорее как доска объявлений, чем как система пользовательских настроек. Когда такое приложение удаляется (деинсталлируется), это также скорее по умолчанию, чем исключение, что его записи реестра не очищаются и остаются в базе данных. Реестр Windows довольно обширен и со временем становится все больше и больше. Если пользователь точно не знает, что искать, простой поиск можно сравнить с поиском «иголки в стоге сена». Поэтому по назначению и объему dconf нельзя сравнивать с реестром Windows. Фактически, единственное сходство между dconf и реестром Windows - это использование базы данных.

Реестр Windows состоит из кустов. Каждый куст хранится в отдельном файле (в каталоге C: \ Windows \ system32 \ config \системного и загрузочного раздела). Когда система Windows загружается, загрузчик начальной загрузки (тот же, что загружает ядро ​​и другие загрузочные файлы, такие как загрузочные драйверы, из загрузочного раздела) загружает файл SYSTEM в память. В кусте SYSTEM хранится много важной информации, включая информацию о том, какие драйверы использовать с какими устройствами, какое программное обеспечение запускать на начальном этапе, и многие параметры, управляющие работой системы. Условные обозначения для организации информации о конфигурации определены плохо.

Ссылки
Внешние ссылки
  • Портал бесплатного программного обеспечения с открытым исходным кодом
Последняя правка сделана 2021-05-17 04:25:05
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте