Supongamos el caso mas típico:

  • Hay dos PC en la red, mi pc corre Linux, la de mi (mujer / novia / ¿amante? / hermano / padre / madre / amigo) corre windows.
  • Necesitamos urgentemente usar una aplicación instalada en la pc que corre linux pero no podemos por tal o cual motivo y la única pc disponible en la red tiene Windows instalado.

O este otro:

  • Estamos fuera de casa / lugar de trabajo.
  •  necesitamos urgentemente correr una aplicación cualquiera de una pc que corre linux y la única pc que hay a mano tiene windows. Via internet, podemos conectarnos al servidor SSH de la pc remota y usarlo para traer una aplicación remota hasta la pc local.

X11 Forwarding al rescate:

Como windows no tiene ninguna implementación parecida al servidor X de forma nativa, necesitamos de Xming que es justamente eso: Un servidor X para windows. Pueden descargarlo e instalarlo (con las opciones por defecto es suficiente) desde la página web oficial de Xming (pesa actualmente 2.4Mb).

Teniendo en ejecución Xming (Tiene un ícono con una X en el system tray, al lado del reloj de windows), solo queda ejecutar putty para conectarnos a la pc linux:

  1. Ejecutamos putty.
  2. Ingresamos el número de IP  –o nombre de host si hay un DNS de por medio– (y puerto si fuera necesario) de la pc que corre linux.
  3. Ponemos la tilde en donde dice «Enable X11 Forwarding» dentro de Connection / SSH / X11
  4. Iniciamos sesión con nuestro nombre de usuario y contraseña (o par de llaves, pero eso es tema para otro artículo que tengo a medias).
  5. Ejecutamos la aplicación en cuestión.

Ejemplo: Xcalc ejecutado en la pc remota desde una pc con WIndows: 

XCalc corriendo nativamente en Linux pero manejado desde una pc con windows.

XCalc corriendo nativamente en Linux pero manejado desde una pc con windows.

Para que esto funcione de mas está decir que en la otra punta tiene que haber un servidor SSH corriendo.

Este servidor SSH tiene que permitir X11 forwarding, lo cual se consigue descomentariando la siguiente línea en /etc/ssh/sshd_config:

X11Forwarding            yes

Sirve para cualquier aplicación, pueden ejecutar desde la simple xcalc del ejemplo hasta algo tan complejo como Amarok, pasando por Mozilla firefox, aMSN, etc, etc…

Obviamente, también funciona en el caso que dispongamos de dos PC corriendo linux, cosa que simplifica bastante el proceso. Basta con ejecutar:

ssh -X <número_de_ip> xcalc

Para traer xcalc desde la pc remota al monitor local.

Algunas aplicaciones no se llevan bien con la opción -X. Firefox, por ejemplo, solo funciona si en lugar de -X se usa -Y:

ssh -Y <número_de_ip> firefox

Si se pretende usar este sistema sobre una conexión que va por internet, puede que te interese comprimir el tráfico al vuelo para mejorar el desempeño de la aplicación:

ssh -YC <número_de_ip> firefox

¿Conclusión?

Putty y Xming, dos herramientas que no te pueden faltar en el pendrive.