"Después del juego es antes del juego"
Sepp Herberger

sábado, 29 de septiembre de 2018

Mensaje pop-up en escritorio de usuario desde conexión ssh.

Un compañero planteaba el problema de como enviar un mensaje al usuario que tenia abierta una sesión gráfica en el escritorio de la máquina desde una conexión ssh del usuario root. Un escenario típico sería estar haciendo alguna tarea de mantenimiento en remoto y comunicar algo de interés al usuario de la máquina a la que estamos conectados, tipo "ya está instalado el programa" o "no apague la máquina al acabar, por favor".

Para conseguir esto el código a teclear después de entrar por ssh sería:
export XAUTHORITY=/var/run/lightdm/root/:0
mensaje="El programa ya esta instalado, puede probar"
zenity --warning --width=200 --no-wrap --text="$mensaje" --display=:0
Lo importante aquí es asignar a XAUTHORITY la sesión del usuario que está usando el escritorio, ya que por muy root que seamos no podemos enviar el mensaje mostrado por "zenity" a su escritorio sin tener permisos para ello.

En este código hay varias asunciones: que el usuario está en la sesión gráfica :0 (eso se sabe haciendo un "who" antes) y que su fichero XAUTHORITY es /var/run/lightdm/root/:0. Esto último lo sabemos haciendo:
# ps aux | grep X
root       517  2.1  1.0 293236 41432 tty7     Ssl+ 16:28   2:15 /usr/lib/Xorg :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
.....
Estos parámetros serán así de forma general para todas las máquinas de nuestros centros (basadas en una imagen similar de Xubuntu) pero habría que tener cuidado con los valores del display o el xauthority otros casos, como una configuración multiseat o con thinclients.

Me despido con una foto de la Opportunity reaparecida después de la mega-tormenta de arena que ha azotado Marte en los últimos meses:


De momento está mohína y no responde, a ver si con un poco de suerte se cargan las baterías y puede hacer un rearranque del sistema, despertando una vez más victoriosa y con ganas de explorar. Que maravilla, preparada para funcionar 90 soles (días marcianos) lleva mandando datos 14 años. Sin ningún genero de duda está hecha por los mismos técnicos que diseñaron los Fujitsu P300 que tenemos como thinclients en las aulas.


No hay comentarios:

Publicar un comentario