
Я хотел бы показатьwhiptail
сообщение на экране входа в систему, которое вызывается monit
, но мне не везет.
Я понимаю, что это может быть связано с интерактивной/неинтерактивной оболочкой. Вот скрипт, который запускается monit
.
#!/bin/bash
/usr/bin/whiptail --infobox 'Hello World.' 7 25 >/dev/tty1
Есть ли какая-то хитрость или мне следует избегать использования хлыстового хвоста?
решение1
Я только что попробовал следующее и смог отправить вывод с моего рабочего стола на /dev/tty2
using, whiptail
поэтому я думаю, что то, что вы делаете, кажется осуществимым. Пара вещей, которые я заметил.
1. разрешения
Мне нужно было быть root, чтобы отправить что-либо на /dev/tty2
. Я предполагаю, что вы запускаете это как monit
пользователь, у которого, скорее всего, нет разрешений на отправку данных на устройство tty.
2.--infobox
Переключатель --infobox
, похоже, не работает в моей текущей оболочке, но мне удалось отправить сообщение --infobox
на /dev/tty2
. YMMV. --msgbox
сработало в обоих случаях.
решение2
«Фокус» в том, что whiptail (как и dialog) по умолчанию записывает свои сообщения встандартная ошибка, потому что обычные программы используютстандартный выводдля обновления экрана.
Вы можете перенаправить стандартную ошибку, поставив 2
рядом с >
меткой:
#!/bin/bash
/usr/bin/whiptail --infobox 'Hello World.' 7 25 2>/dev/tty1
Дальнейшее чтение: