Отображение сообщений на tty с помощью whiptail через monit

Отображение сообщений на tty с помощью whiptail через monit

Я хотел бы показатьwhiptailсообщение на экране входа в систему, которое вызывается monit, но мне не везет.

Я понимаю, что это может быть связано с интерактивной/неинтерактивной оболочкой. Вот скрипт, который запускается monit.

#!/bin/bash
/usr/bin/whiptail --infobox 'Hello World.' 7 25 >/dev/tty1

Есть ли какая-то хитрость или мне следует избегать использования хлыстового хвоста?

решение1

Я только что попробовал следующее и смог отправить вывод с моего рабочего стола на /dev/tty2using, 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

Дальнейшее чтение:

Связанный контент