Могу ли я «визуализировать» переменные хоста на основе имени хоста в Ansible динамической инвентаризации JSON?

Для X программ нужны два сведения для соединения с X дисплеями.

  • Этому нужен адрес дисплея, который обычно является :0 когда Вы зарегистрированы локально или :10, :11, и т.д., когда Вы зарегистрированы удаленно (но число может измениться в зависимости от того, сколько X соединений активны). Адрес дисплея обычно обозначается в DISPLAY переменная среды.

  • Этому нужен пароль для дисплея. X паролей дисплея называют волшебными cookie. Волшебные cookie не указаны непосредственно: они всегда хранятся в X авторитетных файлах, которые являются набором записей формы “дисплей :42 имеет cookie 123456”. X авторитетных файлов обычно обозначаются в XAUTHORITY переменная среды. Если $XAUTHORITY не установлен, использование программ ~/.Xauthority.

Посмотрите Открытый окно на удаленном X дисплеев (почему "Не может открыть дисплей")? для получения дополнительной информации.

В Вашем случае, DISPLAY установлен, но программы очевидно не могут найти файл cookie. Проверьте значение XAUTHORITY на Вашей сессии и под su.

Если XAUTHORITY не установлен на Вашей сессии и su наборы HOME переменная среды к корневому каталогу корня, затем необходимо установить XAUTHORITY кому: /home/msz/.Xauthority где /home/msz Ваш корневой каталог.

Если su удаляет XAUTHORITY от среды, или отложенной это, или, настраивают su не сделать это.

Если Ваш корневой каталог находится в некоторых файловых системах как NFS, корень не может читать его непосредственно. В этом случае можно скопировать .Xauthority файл к другому местоположению в файловой системе не-NFS:

XAUTHORITY_COPY=$(umask 077; mktemp)
cat "${XAUTHORITY:-~/.Xauthority}" "$XAUTHORITY_COPY"
XAUTHORITY="$XAUTHORITY_COPY" su
rm "$XAUTHORITY_COPY"
unset XAUTHORITY_COPY

2
25.05.2015, 13:27
1 ответ

Вы можете использовать Inventory_HostName Волшебные переменные в этом случае.

{
    "atlanta"     : {
        "hosts"   : [ "host1", "host4", "host5" ],
        "vars"    : {
            "ansible_ssh_host" : "{{inventory_hostname}}.example.com",
            "b"   : false
        }
}
4
27.01.2020, 22:00

Теги

Похожие вопросы