Como no tenía nada mejor que hacer esta mañana (pasando por alto las mil prácticas de asignaturas) me he puesto a probar como utilizar las X11 de Mac OS X para que permitan manejar conexiones de displays remotos.
Es decir, si tenemos acceso a un servidor UNIX por ssh (o telnet, etc…) y queremos lanzar una aplicación gráfica no podemos. Para evitarlo podemos exportar la salida gráfica de la máquina remota a nuestra máquina local. ¿Cómo? A continuación os pongo los breves pasos a seguir bajo Mac OS X Tiger:
- Abrimos: “Aplicaciones -> Utilidades -> X11”. Si no lo tienes instalado, puedes instalarlo desde el dvd de Tiger con la aplicación “Optional Installs”.
- Desde la terminal que nos ha abierto X11 hacemos una conexión ssh (u otro protocolo como telnet, aunque este es más seguro) a la máquina remota:
$ ssh -2 usuario@maquinaremota.dominio
(-2 es para usar la versión mejorada del protocolo SSH). - Ejecutamos en la máquina remota el comando (sustituyendo la IP de la máquina local):
export DISPLAY=<nuestra-IP>:0
(el último parámetro puede variar, pero si eres nuevecito en esto, no tendrías que tener problemas). - Con esto ya tenemos listo el lado del servidor. Sin cerrar la conexión abrimos otro terminal desde X11 donde escribimos:
$ xhost +maquinaremota.dominio
(Dando permisos de conexión a la máquina remota para que nos envie la salida de las aplicaciones). - Ahora ya solo nos queda lanzar una aplicación desde la máquina remota a través de la conexión ssh establecida. Por ejemplo, el socorrido xeyes.
A continuación se muestra una captura de una conexión remota tras haber realizado los pasos anteriores. En ella se ve la aplicación xemacs
y xeyes
lanzadas en el servidor remoto.
IMPORTANTE: Si para conectarnos a internet usamos NAT, tendremos que abrir el puerto 6000 en TCP hacia nuestro equipo local para permitir al servidor remoto conectarse a nosotros.
Venga, un saludo y a disfrutar de estos pequeños regalos que nos da la vida jeje. ¡Feliz día de la Constitución! y que tengais un buen puente.