Модуль community.general.dconf – Изменение и чтение базы данных dconf
Примечание
Этот модуль является частью коллекции community.general (версия 9.5.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.general. Для использования этого модуля потребуются дополнительные требования, см. Требования для получения подробностей.
Чтобы использовать его в плейбуке, укажите: community.general.dconf.
Обзор
- Этот модуль позволяет изменять и читать базу данных
dconf. Модуль реализован как оболочка вокруг утилитыdconf. Подробнее см. страницу руководства dconf(1). - Поскольку
dconfтребует запущенной сессии D-Bus для изменения значений, модуль попытается обнаружить существующую сессию и повторно использовать её или запустить утилиту черезdbus-run-session.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- Необязательно, библиотека Python
gi.repository(обычно включена в ОС на хостах сdconf); это станет обязательным требованием в будущей основной версии community.general.
Параметры
Параметр | Комментарии |
|---|---|
ключ строка / обязательно | Ключ dconf для изменения или чтения из базы данных dconf. |
состояние строка | Действие, которое необходимо выполнить с ключом/значением. Варианты:
|
значение любой | Значение для задания указанного ключа dconf. Значение должно быть указано в формате GVariant. Из-за сложности этого формата лучше всего взглянуть на существующие значения в базе данных dconf. Требуется для Хотя тип указан как «сырой», обычно следует указывать его как строку. Однако, булевы значения обрабатываются должным образом, даже если указаны как булевы, а не как строки (на самом деле, правильная обработка булевых значений — причина, по которой тип этого параметра — «сырой»). |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
режим_проверки | Поддержка: полная | Может работать в |
режим_сравнения | Поддержка: нет | Возвращает подробности о том, что изменилось (или, возможно, требует изменения в |
Примечания
Примечание
- Этот модуль зависит от библиотеки Python
psutil(версия 4.0.0 и выше),dconf,dbus-send, и двоичных файловdbus-run-session. В зависимости от используемой дистрибуции вам может потребоваться установить дополнительные пакеты для их использования. - Этот модуль использует библиотеку Python
gi.repository, когда она доступна, для точного сравнения значений вdconfсо значениями, указанными в коде Ansible.gi.repository, вероятно, присутствует на большинстве систем сdconf, но может отсутствовать везде. При её отсутствии используется простое сравнение строк между значениями, что может привести к ложноположительным результатам, то есть Ansible может считать, что значение изменяется, когда это не так. Эта отложенная обработка будет удалена в будущей версии этого модуля, после чего модуль перестанет работать на хостах безgi.repository. - Обнаружение существующей, запущенной сессии 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
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
Ключ | Описание |
|---|---|
значение строка | значение, связанное с запрошенным ключом Возвращается: успех, состояние было «чтение» Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/dconf_module.html