Oleg
подскажите, а как установить дополнительный модуль composer, которого как я понял нет в стандартном пакете ansible?
Victor
Oleg
Victor
Victor
или на что оно у тебя вообще ругается?
Oleg
Oleg
Victor
отступы
Victor
у тебя yaml невалидный
Victor
Точнее валидный, но не правильный
Victor
у тебя комманд и воркинг дир должны быть на отступ дальше
Oleg
да, спасибо
Oleg
уже ошибка в PATH
Oleg
я так понимаю, я должен руками туда это всё прописать
Oleg
чтобы команды такого рода проходили
Victor
>executable
(added in 2.4)
Path to PHP Executable on the remote host, if PHP is not in PATH.
Victor
тьфу, тут же речь про сам композер. нужно найти где поставил и добавить в пути
V.
- hosts: all
tasks:
- name: Notify
shell: notify-send test
become: yes
become_user: user
V.
подскажите почему уведомление не появляется
V.
если просто по ссш соединяюсь к хосту как user и даю комнду notify-send test , то уведомление у него появляется
Victor
V.
с помощью notify-send нужно уведомить пользователя о том что будут некие действия производится. на рабочем столе должно появляться
Victor
Victor
Pavel
Victor
или в зависимости от become_method
sudo -u user notify-send test
V.
щас проверю
V.
V.
Victor
V.
ну я в консоли от имени рута запустил эту команду
V.
на локальном хосте
V.
как сделать чтоб из ансибл работало?
V.
Pavel
думаю нет...
вся проблема в том что это для Х-ов команда, а когда анзибль в консоли ее выполняет - неизвестно на какой дисплей ее слать...
V.
Victor
Хмм.
https://docs.ansible.com/ansible/2.7/user_guide/become.html#environment-variables-populated-by-pam-systemd
V.
Victor
Мне кажется что notify-send использует переменные среды от иксов. Или еще что-то такое. И при su/sudo они не работают.
V.
V.
вот по ссш
V.
невозможно?
Victor
Victor
Или даже вот так.
https://stackoverflow.com/questions/52472469/the-command-of-notify-send-does-not-work-in-supervisor
Victor
Не хватат переменных сред.
V.
а можно в плэйбуке выборочно задания выполнять под другим пользователем? не через эскалацию соединений а именно по ссш соединятся другим юзером?
Andrey
завести как другой хост, мб
Victor
V.
мне надо чтоб например последовательно было - пришло пользователю сообщение. типа не запускай программу такуюто. потом из под рута кильнуть ее, обновить файлы, и снова послать сообщение, типа все нормально можете запускать программу
Ждун
может лучше баш скрипт написать свою обертку для notify и запускать его через ansible
Victor
https://rtfm.co.ua/linux-notify-send-dbus-i-crontab/
Victor
И запускаешь это как пишут выше через свой скрипт, наверное самое изящное решение
Oleg
Victor
Композер
Oleg
я что-то пробую и php и composer в executable подставлять, ничего не запускается
Oleg
именно полный путь до composr.phar в проекте?
Victor
Andrey
V.
Victor
отдельно в пути композер, если там его нет
V.
а плэйбук из под рута запускается
Victor
Andrey
Andrey
в чём проблема использовать become:?
Victor
V.
нет, такой же
V.
проверил
Victor
дисплей?
Victor
возможно он еще нужен
V.
:0
V.
тоже все
V.
если по ссш конектится пользователем этим. то все нормально даже без указания дисплея
V.
ешо в ссш сессии тоже нет, этой переменной
Victor
V.
вот по ссш приконнектился пользователем
V.
user@new-debian:~$ echo $DBUS_SESSION_BUS_ADDRESS
unix:path=/run/user/1000/bus
user@new-debian:~$ notify-send test test
user@new-debian:~$