Como lanzar aplicaciones graficas en una maquina remota por ssh

Este “how to” no es para arrancar una aplicación en una máquina remota viendo la ventana de la aplicación en local. Este “how to” es para arrancar la aplicación en la máquina remota, apareciendo la ventana en la máquina remota. Ni si quiera es un how to ya que son apenas dos comandos los que hay que ejecutar.

En primer lugar hay que hacer login en la máquina remota por ssh con el nombre de usuario que tiene la sesión abierta en la máquina remota. Si mi usuario es soi57 ejecutaría:

ssh -l usuario  ip/dns  de máquina remota -p puerto del servicio (si es el 22 , este parámetro sobra)

un ejemplo:

ssh -l soi57 host.soi57.net -p 12345

Ahora tenemos que averiguar el display que está usando el servidor X. Y hay que exportarlo en la variable DISPLAY. Normalmente es el :0.0, pero lo puedes averiguar ejecutando este comando:

ps afx | grep X
Ahora ya solo hay que exportar el valor de esta variable y arrancar la aplicación que queramos. En mi caso es transmission:
export DISPLAY=:0.0
transmission
La aplicación ya está arrancada en el equipo remoto. Si cierras la ventana se cerrará el programa. Yo normalmente uso screen y con la combinación de teclas CTRL+d me “desengancho” de la consola que he arrancado y su quiero volver a engancharme solo tengo que ejecutar screen -r identificador de la consola. Si no usas screen puedes arrancar la aplicación con nohup en background y podrias cerrar la consola y la aplicación seguiría corriendo:
nohup transmission &

FreeNx tutorial

FreeNX is based on NoMachine.com NX compression GPL components to allow a fast, graphical remote desktop terminal session for UNIX-based systems. NX uses SSH tunneling to perform authentication and link parameters negotiation. Here