Conecta con nosotros

Hola, ¿qué estás buscando?

Actualidad

Xephyr: X dentro de X

Cada cierto tiempo suelo toparme por accidente con aplicaciones que desconocía completamente su existencia, lo que despierta mi curiosidad por saber qué es lo que hace y para qué sirve.

Hace un tiempo atrás me encontré con Xephyr, una herramienta parte de X.Org Server del estilo de Xnest con la diferencia, como lo reporta su manual, que el último se veía limitado por las capacidades del servidor X huésped, mientras que el primero es un servidor X real sobre el huésped. En pocas palabras, podríamos decir que Xephyr funciona como un contenedor para lanzar aplicaciones X en paralelo a nuestro servidor X en ejecución.

Podríamos decir, también, que sería como una segunda pantalla, independiente, dentro de una ventana de nuestro escritorio. De esta manera, se podría deducir su importancia para los desarrolladores, por ejemplo, diseñar sobre un entorno de escritorio sin tener que salir o reiniciar a cada rato su espacio de trabajo.

Sin embargo, podríamos encontrarle un uso más casero. Personalmente, soy indeciso a la hora de organizar mi escritorio, tiendo a cambiar todo de tanto en tanto. El problema está en tener que dedicar buena parte del tiempo iniciando y cerrando sesión. Aquí es donde Xephyr viene muy a mano: podremos ejecutar dentro de su ventana el entorno a probar con tan sólo indicar de antemano el valor de DISPLAY (lo cual veremos en unos instantes). Tomando el ejemplo que acabo de describir, voy a explicar cómo ejecutar fvwm (razón que me hizo recordar a la aplicación en cuestión) dentro de Xephyr:

En primer lugar, debemos instalarlo. En la mayoría de los casos bastaría con un apt-get install, aptitude install, yum install, pacman -S y demás. El paquete en cuestión contiene la palabra Xephyr; por lo tanto, no sería muy complicado encontrarlo. Sin embargo, quiero hacer la salvedad para Gentoo ya que no está tan a mano. Para instalarlo es necesario agregar para x11-base/xorg-server la etiqueta USE kdrive y recompilar.

Una vez instalado, nos resta iniciar Xephyr. Básicamente, toma un par de parámetros para lograrlo funcionar. Por ejemplo:

Xephyr :1 -screen 1024x768

Donde:

Advertencia, desplázate para continuar leyendo
  • :1 corresponde al valor que se debería usar para la variable DISPLAY a la hora de querer mostrar la aplicación dentro de Xephyr
  • -screen indicará la resolución que tendrá nuestra nueva pantalla

Nótese que la X de Xephyr va en mayúscula y que hay más posibilidades de parámetros, aunque con lo dado me parece suficiente.

Xephyr en ejecución junto a la terminal

Ahora nos encargaremos de enviar nuestro programa. Para esto hay diferentes maneras aunque muy similares. Supongamos querer enviar fvwm desde nuestra terminal a Xephyr. Tendríamos que primero darle el valor a DISPLAY, de lo contrario recibiríamos un error pues tenemos otro gestor de ventanas en ejecución. Por lo tanto, lo ejecutamos de la siguiente manera:

DISPLAY=:1 fvwm

También podríamos haberle dado el valor a DISPLAY previamente; sin embargo, esto produciría que, para la terminal en uso, todas las aplicaciones sean dirigidas a :1 en vez de nuestra sesión de X. Del otro modo, sólo afectará a esa línea y volverá a su valor anterior. Ante cualquier duda, se puede ejecutar echo $DISPLAY para saber cual es su valor actual.

Por supuesto, podríamos ir más lejos e iniciar una sesión de XFCE o KDE por ejemplo, la mecánica es la misma. Sin embargo podría volverse más pesada la ejecución dependiendo del ordenador. Simplemente hay que cambiar fvwm por startxfce4 o startkde. Sin embargo, en el caso de KDE, requerirá algún rebusque más pues, en mi caso, se inicia dentro de Xephyr y sus aplicaciones se ejecutan fuera.

Por último quedaría usarlo junto con ssh. Debido a que no tengo a mano otra computadora con la cual probarlo, les dejo el comando sacado del foro de Ubuntu (y dicho sea de paso, allí hacen uso de algunos parámetros más para quien esté interesado).

DISPLAY=:1 ssh -XfC -c blowfish usuario@servidor

Conclusión:

Xephyr es una herramienta de gran utilidad que nos permite tener dos entornos de escritorios corriendo en paralelo de manera bastante rápida y sencilla. Es muy conveniente para evitar entrar y salir de la sesión que, además de gastar tiempo, también incomoda tener que alternar con un entorno que no es de nuestro día a día. Por otro lado, nos puede servir para enviar allí aplicaciones por medio de ssh y evitar confusiones con aplicaciones locales. Fuera de todo eso, es una herramienta curiosa e interesante que puede resultar útil en cualquier momento.

49 Comentarios

Te recomendamos

Actualidad

El pasado 28 de abril de 2011 llegaba al mercado la versión final de Ubuntu 11.04 Natty Narwhal, una distribución que ya de por...

Actualidad

Ciertamente, tener a Linux en las escuelas o, dicho con más propiedad, tener a GNU/Linux en las escuelas, no debería ser una pregunta abierta...

Actualidad

Hace menos de seis meses que publiqué el extenso análisis de Ubuntu 11.04, y en aquella ocasión dejé claras mis impresiones: Unity había provocado...

Miscelánea

Ni estábamos muertos, ni estábamos de parranda. Estábamos, como veis, dándole una vuelta a MuyLinux, que falta le hacía y se nos ha liado...