Mostrar ventanas de aplicación de manera remota en Linux

Vamos a ver como mostrar ventanas de aplicación de manera remota en GNU/Linux Para ello utilizaremos el servicio inseguro xhost. Existen formas mejores como la ejecución de aplicaciones X remotas a través de SSH, pero eso será en otra entrada.

Mostras ventanas de aplicación de manera remota en Linux

Recientemente os hable del servidor gráfico X11, de su instalación y configuración. Pues bien, siguiendo con esa estela, vamos a utilizar dicho servidor, que nos permitirá que las ventanas de las aplicaciones se muestren en otro servidor X remoto. Esto es, un programa en ejecución en una máquina remota podrá operarse de manera local.

Esta entrada también está relacionada con el temario del examen de certificación LPIC 102 en su versión 500, en el apartado 106.1 Se pueden consultar todos los objetivos en la página web de LPI

¿Cómo funciona?

Además de la aplicación xhost, que ayudará a permitir o restringuir la compartición de una ventana de aplicación, debemos utilizar la variable de entorno DISPLAY, que el servidor de ventanas identificará dónde deben mostrarse. Esta variable se divide en dos partes. La parte anterior al carácter «:» identifica el host, con el nombre o la dirección IP. La segunda parte, a partir del carácter «:«, indica cuál es el display en esta máquina.

Dicho valor identifica un conjunto de monitor y dispositivo de entrada (teclado y ratón) Una mismo host puede tener más de un display. El número de display se cuenta a partir de 0, por lo tanto un host con un sólo display, por lo que el valor será: 0.0 De esta manera las ventanas se mostrarán en la maquina local (localhost se asume si no se indica ningún host)

Ejemplo de uso

La mejor manera de aprender es hacer. Por lo que en este laboratorio de pruebas contamos con dos Centos 5, con las IP 192.168.1.46 y 192.168.1.35

Realizamos las operaciones desde el primer host, con nombre «rhel5test», primero de todo habilitaremos su propia IP, escribiendo:

  1. xhost + 192.168.1.46

Con el resultado:

Muestra de uso de xhost

Cabe decir que también podemos deshabilitar el control de acceso:

  1. [david@rhel5test ~] xhost +
  2. access control disabled, clients can connext fron any host

Y para volver a añadir el control de acceso:

  1. [david@rhel5test ~] xhost -
  2. access control enabled, only authorized clients can connect

Ahora que ya tenemos habilitado nuestro propio host, nos conectamos por SSH, desde la terminal en el escritorio, al host «rhel5test2», que hemos comentado antes.

  1. ssh -Y david@192.168.1.35

El parámetro «-Y» en ssh habilita el reenvío de aplicaciones X11 de confianza.

Una vez en el host remoto exportamos la variable DISPLAY

  1. export DISPLAY='127.0.0.1:10.0'

Una vez exportada, ejecutaremos la aplicación incluida en el servidor X11, llamada xeyes, y como se muestra en la imagen se muestra en el escritorio local, aunque se haya ejecutado en un host remoto.

Muestra de uso la variable DISPLAY y xhost (click para ampliar)

Estas entradas, me están sirviendo para repasar para el examen de certificación, que he comentado en los primeros párrafos. En cualquier caso puede que en algún momento os sean de utilidad. Nos vamos leyendo.