community.general.dconf – Модификация и чтение базы данных dconf
Примечание
Этот плагин входит в коллекцию community.general (версия 2.0.1).
Для его установки используйте: ansible-galaxy collection install community.general.
Для использования в книге задач укажите: community.general.dconf.
Описание
- Этот модуль позволяет изменять и читать базу данных
dconf. Модуль реализован как оболочка вокруг утилитыdconf. Дополнительные сведения можно найти в справке man dconf(1). - Поскольку
dconfтребует запущенной сессии D-Bus для изменения значений, модуль попытается обнаружить существующую сессию и повторно использовать её или запустить утилиту черезdbus-run-session.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| ключ строка / обязательно | Ключ dconf для изменения или чтения из базы данных dconf. | |
| состояние строка |
| Действие, которое нужно выполнить с ключом/значением. |
| значение строка | Значение, которое нужно установить для указанного ключа dconf. Значение должно быть указано в формате GVariant. Из-за сложности этого формата лучше всего посмотреть на существующие значения в базе данных dconf. Требуется для состояние=present. |
Примечания
Примечание
- Этот модуль зависит от библиотеки Python
psutil(версия 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
community.general.dconf:
key: "/org/gnome/desktop/input-sources/sources"
value: "[('xkb', 'us'), ('xkb', 'se')]"
state: present
- name: Read currently available keyboard layouts in Gnome
community.general.dconf:
key: "/org/gnome/desktop/input-sources/sources"
state: read
register: keyboard_layouts
- name: Reset the available keyboard layouts in Gnome
community.general.dconf:
key: "/org/gnome/desktop/input-sources/sources"
state: absent
- name: Configure available keyboard layouts in Cinnamon
community.general.dconf:
key: "/org/gnome/libgnomekbd/keyboard/layouts"
value: "['us', 'se']"
state: present
- name: Read currently available keyboard layouts in Cinnamon
community.general.dconf:
key: "/org/gnome/libgnomekbd/keyboard/layouts"
state: read
register: keyboard_layouts
- name: Reset the available keyboard layouts in Cinnamon
community.general.dconf:
key: "/org/gnome/libgnomekbd/keyboard/layouts"
state: absent
- name: Disable desktop effects in Cinnamon
community.general.dconf:
key: "/org/cinnamon/desktop-effects"
value: "false"
state: present
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое | Описание |
|---|---|---|
| значение строка | успешно, состояние было "read" | значение, связанное с запрошенным ключом Пример: 'Значение по умолчанию' |
Авторы
- Branko Majic (@azaghal)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/general/dconf_module.html