martes, 24 de julio de 2018

Enviar mensaje desde comando a ventana gráfica en LliureX 16

La situación es la siguiente. En mi lugar de trabajo tengo unos 15 ordenadores con LliureX 16 a los que entro periódicamente usando clusterssh (ver otra entrada de este foro) para actualizar o realizar tareas de mantenimiento.
En ocasiones la actualización requiere un reinicio de la máquina, pero no puedo hacerlo yo puesto que los compañeros están trabajando. Así que necesitaba una forma de mandarles un mensaje a todos sus ordenadores para que fueran ellos los que la reiniciaran cuando pudieran. Y también para gastarles alguna broma de vez en cuando, claro. 😆

Después de buscar opciones he encontrado una sencilla. Antes de explicarla es importante saber que todos los ordenadores tienen un usuario "administrador" que es con el que yo entro usando clusterssh y un usuario "cef" que es el que usan los compañeros. El usuario es el mismo para todos pero cada uno tiene su contraseña que yo desconozco.

Pues bien, una vez entro con clusterssh usando usuario "administrador" en todos los ordenadores se puede mandar, desde cada ordenador al usuario "cef" un mensaje a la sesión gráfica con el siguiente comando:

administrador@PCX:~$ DISPLAY=:0 sudo -u cef notify-send --expire-time=60000 ATENCIÓN "Hola. \nReinicia tu ordenador cuando puedas, por favor." -i face-smile

Parámetros modificables:

cef: es el nombre del usuario al que se envía el mensaje
60000: tiempo en ms que permanecerá visible el mensaje
ATENCIÓN: Título del mensaje
"Hola...": El mensaje
face-smile: el icono que aparecerá. Los iconos disponibles están en /usr/share/icons/gnome/32x32/

El resultado es una ventana como esta:




No hay comentarios:

Publicar un comentario