Mostrando mensajes a tty usando látigo a través de monit

Mostrando mensajes a tty usando látigo a través de monit

Me gustaría mostrar unwhiptailmensaje en la pantalla de inicio de sesión que se activa con monit, pero no tengo suerte.

Entiendo que podría tener algo que ver con el shell interactivo/no interactivo. Aquí está el script que se activa con monit.

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

¿Existe algún truco o debería evitar el uso de látigo?

Respuesta1

Intenté lo siguiente y pude enviar el resultado desde mi escritorio para /dev/tty2usarlo, whiptailasí que creo que lo que estás haciendo parece factible. Un par de cosas que noté.

1. permisos

Necesitaba ser root para poder enviar algo a /dev/tty2. Supongo que está ejecutando esto como un monitusuario que probablemente no tendría permisos para enviar datos a un dispositivo tty.

2.--infobox

El --infoboxmodificador no pareció funcionar en mi shell actual, pero pude enviar un mensaje --infoboxa /dev/tty2. YMMV. --msgboxfuncionó en ambos casos.

Respuesta2

El "truco" es que el látigo (como el diálogo) escribe sus mensajes de forma predeterminada en elError estándar, porque el programa convencional utiliza elsalida estándarpara actualizaciones de pantalla.

Puedes redirigir el error estándar poniendo un 2al lado de la >marca:

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

Otras lecturas:

información relacionada