7.34 Управление Dconf

Возможности Dconf

Dconf – низкоуровневая система конфигурации. При помощи dconf в GNOME и Unity хранятся настройки большинства программ.
Dconf это простая система конфигурации основанная на ключах. Ключи находятся в неструктурированной базе данных (ключи, логически связанные между собой объединены в категории). База данных хранится в бинарном файле, который располагается в ~/.config/dconf.

Управление ключами dconf

В большинстве случаев пользователю не нужно вручную редактировать настройки хранящиеся в dconf. Но иногда графическое представление тому или иному параметру отсутствует и единственным способом изменить его значение является редактирование ключа напрямую. Это можно осуществить несколькими способами.

GSettings

GSettings это консольная утилита, при помощи которой можно управлять ключами dconf.
Синтаксис использования GSettings:

gsettings [--schemadir КАТАЛОГ_СХЕМ] КОМАНДА [АРГУМЕНТЫ…]

Команды:

Команда Описание
help Показать справку
list-schemas Список установленных схем
list-relocatable-schemas Список перемещаемых схем
list-keys Список ключей схемы
list-children Список потомков схемы
list-recursively Список ключей и значений, рекурсивно
range Запросить диапазон значений ключа
get Получить значение ключа
set Изменить значение ключа
reset Сбросить значение ключа
reset-recursively Сбросить все значения в заданной схеме
writable Проверить ключ на запись
monitor Следить за изменениями

Для того, чтобы получить более подробную справку по интересующей команде выполните:

gsettings help КОМАНДА

Поиск соответствий схемы настройкам рабочего стола
Здесь необходимо выяснить пути и названия элементов схемы, отвечающих за конкретные настройки рабочего стола. Например, что именно определяет фон или цвет рабочего стола.
Для начала открываем консоль и набираем от имени пользователя:

gsettings list-schemas | grep background
org.mate.background
org.mate.SettingsDaemon.plugins.background
org.gnome.desktop.background

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

gsettings monitor org.mate.background

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

gsettings list-recursively org.mate.background
org.mate.background picture-opacity 100
org.mate.background secondary-color '#3C8F25'
org.mate.background show-desktop-icons true
org.mate.background background-fade true
org.mate.background primary-color '#5891BC'
org.mate.background picture-filename '/usr/share/design/current/backgrounds/default.png'
org.mate.background color-shading-type 'vertical-gradient'
org.mate.background picture-options 'zoom'
org.mate.background draw-background true

Установка настроек рабочего стола по умолчанию

Здесь административно установить настройки рабочего стола, которые будут применяться у всех вновь создаваемых пользователей. Например, так можно определить конкретный фон или цвет рабочего стола. Эти изменения не затронут ранее созданных пользователей, которые уже используют графическую среду. Кроме того, пользователи смогут изменить установленные администратором настройки, если захотят. Чтобы заблокировать им такую возможность, читайте следующий раздел.
Все действия выполняем от имени root:

su -

Создаём файл

/etc/dconf/profile/user
user-db:user
system-db:local

Создаём директорию:

mkdir -p /etc/dconf/db/local.d/locks

Создаём файл:

nano /etc/dconf/db/local.d/00_background

Сохраняем в него только те ключи и значения, полученные на шаге 1, которые нас интересуют. В квадратных скобках указываем название схемы.

[org/mate/background]
secondary-color='#8585d4d45b5b'
background-fade=true
primary-color='#babadada5555'
picture-filename='/usr/share/backgrounds/mate/desktop/MATE-Stripes-Dark.png'
color-shading-type='vertical-gradient'
picture-options='zoom'
draw-background=true

Блокировка настроек рабочего стола

Пока были определены значения, которые в дальнейшем будут использоваться по умолчанию. Пользователь всё ещё имеет возможность их поменять. Чтобы пользователь не мог внести изменения в настройки рабочего стола никакими средствами, создадим ещё один файл

/etc/dconf/db/local.d/locks/00_background
/org/mate/desktop/background/secondary-color
/org/mate/desktop/background/background-fade
/org/mate/desktop/background/primary-color
/org/mate/desktop/background/picture-filename
/org/mate/desktop/background/color-shading-type
/org/mate/desktop/background/picture-options
/org/mate/desktop/background/draw-background

и выполним команду:

dconf update

Здесь стоит обратить внимание, что схема указана другая — не /org/mate/background, а /org/mate/desktop/background. В случае с MATE это связано с особенностью обработки схем dconf и gsettings. Посмотреть текущие схемы можно в директории /usr/share/glib-2.0/schemas.
Новые настройки вступают в силу немедленно.

Dconf-editor

Dconf-editor – является наиболее часто используемым графическим приложением для редактирования ключей dconf. В приложении все ключи представлены в виде дерева, можно искать ключи по их названию, жирным текстом выделяются ключи значение которых было изменено…
По умолчанию dconf-editor не установлен на РЕД ОС. Чтобы установить его нужно использовать специальную команду в консоле:

sudo yum install dconf-editor

Для запуска используется консольная команда:

dconf-editor

С помощью dconf-editor можно получить быстрый доступ к множеству «скрытых» настроек, как системных, так и внешнего вида, позволяя быстро сделать в системе комфортное и удобное для себя рабочее окружение.

Если вы нашли ошибку, выделите текст и нажмите Ctrl+Enter.

Print Friendly, PDF & Email