dconf – Модификация и чтение базы данных dconf
Новое в версии 2.4.
Описание
- Этот модуль позволяет модифицировать и читать базу данных dconf. Модуль реализован как обертка над инструментом dconf. Для получения дополнительной информации см. страницу руководства dconf(1).
- Поскольку
dconfтребует запущенной сессии D-Bus для изменения значений, модуль попытается обнаружить существующую сессию и повторно использовать её или запустить инструмент черезdbus-run-session.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| ключ - / обязательно | Ключ dconf для модификации или чтения из базы данных dconf. | |
| состояние - |
| Действие, которое необходимо выполнить с ключом/значением. |
| значение - | Значение для установки указанного ключа dconf. Значение должно быть задано в формате GVariant. Из-за сложности этого формата рекомендуется ознакомиться с существующими значениями в базе данных dconf. Требуется для state=present. |
Примечания
Примечание
- Этот модуль зависит от
psutilPython библиотеки (версии 4.0.0 и выше),dconf,dbus-send, иdbus-run-sessionбинарных файлов. В зависимости от используемой дистрибуции, может потребоваться установка дополнительных пакетов для их использования. - Обнаружение существующей, работающей сессии D-Bus, необходимой для изменения настроек через
dconf, не является 100% надежным из-за особенностей реализации самого демона D-Bus. Это может привести к тому, что приложения не будут реагировать на изменения в режиме реального времени, если параметры изменены через Ansible иdbus-run-session. - Следует помнить, что инструмент командной строки
dconf, который используется этим модулем, использует необычный синтаксис для значений (GVariant). Например, если вы хотите предоставить строковое значение, правильный синтаксис будетvalue="'myvalue'"- с одинарными кавычками как частью значения параметра Ansible. - При использовании циклов в сочетании со значением, подобным
"[('xkb', 'us'), ('xkb', 'se')]", необходимо учитывать возможные преобразования типов. Применение фильтра"{{ item.value | string }}"к переменной параметра может предотвратить потенциальные проблемы преобразования. - Самый простой способ определить точный синтаксис/значение, которое необходимо предоставить для ключа, заключается в изменении конфигурации в приложении, затронутом ключом, и затем посмотреть на установленное значение с помощью команд
dconf dump /path/to/dir/илиdconf read /path/to/key.
Примеры
- name: Configure available keyboard layouts in Gnome
dconf:
key: "/org/gnome/desktop/input-sources/sources"
value: "[('xkb', 'us'), ('xkb', 'se')]"
state: present
- name: Read currently available keyboard layouts in Gnome
dconf:
key: "/org/gnome/desktop/input-sources/sources"
state: read
register: keyboard_layouts
- name: Reset the available keyboard layouts in Gnome
dconf:
key: "/org/gnome/desktop/input-sources/sources"
state: absent
- name: Configure available keyboard layouts in Cinnamon
dconf:
key: "/org/gnome/libgnomekbd/keyboard/layouts"
value: "['us', 'se']"
state: present
- name: Read currently available keyboard layouts in Cinnamon
dconf:
key: "/org/gnome/libgnomekbd/keyboard/layouts"
state: read
register: keyboard_layouts
- name: Reset the available keyboard layouts in Cinnamon
dconf:
key: "/org/gnome/libgnomekbd/keyboard/layouts"
state: absent
- name: Disable desktop effects in Cinnamon
dconf:
key: "/org/cinnamon/desktop-effects"
value: "false"
state: present
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| значение строка | успех, состояние было "read" | значение, связанное с запрошенным ключом Пример: 'Значение по умолчанию' |
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- Бранко Мајић (@azaghal)
Подсказка
Если вы обнаружите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/dconf_module.html