Exibindo mensagens para tty usando chicote através do monit

Exibindo mensagens para tty usando chicote através do monit

Gostaria de exibir umwhiptailmensagem na tela de login que é acionada por monit, mas estou sem sorte.

Eu entendo que pode ter algo a ver com shell interativo/não interativo. Aqui está o script que é acionado por monit.

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

Existe um truque ou devo evitar usar rabo de chicote?

Responder1

Eu apenas tentei o seguinte e consegui enviar a saída da minha área de trabalho para /dev/tty2usar whiptail, então acho que o que você está fazendo parece viável. Algumas coisas que notei.

1. permissões

Eu precisava ser root para enviar qualquer coisa para /dev/tty2. Presumo que você esteja executando isso como um monitusuário que provavelmente não teria permissão para enviar dados para um dispositivo tty.

2.--infobox

A --infoboxopção não pareceu funcionar no meu shell atual, mas consegui enviar um --infoboxto /dev/tty2. YMMV. --msgboxfuncionou em ambos os casos.

Responder2

O "truque" é que o chicote (como o diálogo) grava suas mensagens por padrão noerro padrão, porque o programa convencional usa osaída padrãopara atualizações de tela.

Você pode redirecionar o erro padrão colocando um 2próximo à >marca:

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

Leitura adicional:

informação relacionada