Spec-Zone.ru › Ansible

Модуль community.general.dconf — изменение и чтение базы данных dconf

Примечание

Этот модуль входит в коллекцию community.general (версия 12.6.1).

Возможно, эта коллекция уже установлена, если вы используете пакет 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. Поддерживаются как dbus-daemon, так и dbus-broker.

Требования

На хосте, выполняющем этот модуль, должны быть установлены следующие компоненты.

  • Необязательно: библиотека Python gi.repository (обычно включена в ОС на хостах, где есть dconf); в следующем крупном выпуске community.general она станет обязательным требованием.

Параметры

Параметр

Комментарии

key

string / обязательный

Ключ dconf для изменения или чтения из базы данных dconf.

state

string

Действие, выполняемое над ключом/значением.

Варианты:

  • "read"
  • "present" ← (по умолчанию)
  • "absent"

value

any

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

Обязательно для state=present.

Хотя тип указан как «raw», обычно значение следует задавать в виде строки. Однако, в частности, логические значения обрабатываются корректно, даже если заданы как логические, а не как строки (на самом деле именно необходимость корректно обрабатывать логические значения объясняет, почему тип этого параметра — «raw»).

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: полная

Может работать в режиме check_mode и возвращать прогноз изменения статуса, не изменяя целевой объект.

diff_mode

Поддержка: нет

В режиме diff возвращает сведения об изменениях (или возможных изменениях в check_mode).

Примечания

Примечание

  • Для работы модуля необходимы библиотека Python psutil (версии 4.0.0 или выше), dconf, а также либо dbus-send, либо busctl для проверки сеанса D-Bus и dbus-run-session в качестве резервного варианта, если существующий сеанс не найден. В зависимости от используемого дистрибутива может потребоваться установить дополнительные пакеты. Поддерживаются как эталонная реализация dbus-daemon, так и dbus-broker.
  • Если доступна библиотека Python gi.repository, модуль использует её для точного сравнения значений в dconf со значениями, указанными в коде Ansible. gi.repository, скорее всего, присутствует в большинстве систем с dconf, но может быть доступна не везде. Если библиотека отсутствует, для сравнения значений используется простое сравнение строк, что может давать ложные срабатывания: Ansible может считать, что значение изменяется, хотя это не так. Этот резервный механизм будет удалён в версии 15.0.0 коллекции; после этого библиотека gi.repository станет обязательной.
  • Библиотека gi.repository обычно входит в пакеты операционной системы (например, python3-gi для Ubuntu/Debian, python3-gobject для Red Hat/Fedora, python-gobject для Arch Linux). Она также доступна в PyPI как PyGObject, но предоставляет только привязки к системным библиотекам, поэтому настоятельно рекомендуется использовать системные пакеты, а не устанавливать её с помощью pip.
  • Обнаружение активного сеанса D-Bus, необходимого для изменения настроек с помощью dconf, не всегда надёжно из-за особенностей реализации самой службы 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

Возвращаемые значения

Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:

Ключ

Описание

value

string

Значение, связанное с запрошенным ключом.

Возвращается: при успешном выполнении, если состояние — «read»

Пример: "'Default'"

Авторы

  • Branko Majic (@azaghal)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Запросить помощь
  • Сообщить об ошибке
  • Предложить новую функцию
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/dconf_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API