Hoy andaba trasteando con Docker e intentando
hacer que corriera una aplicación de escritorio, algo que no se puede hacer
sin salirse del flujo que se espera de esta herramienta.
Docker es una plataforma que permite gestionar “contenedores”, algo similar
a las máquinas virtuales de toda la vida, pero sin la sobrecarga de tener
que simular otro sistema completo con su kernel y sus cosillas...
Estos contenedores encontraron un entorno perfecto en los servidores, donde
permiten montar más VPS,
o donde permiten que cada micro-servicio
corra de forma aislada sin necesidad de varias máquinas.
Sin embargo estos sistemas no estan orientados a las máquinas de
“escritorio”, y se portan especialmente mal con X11. Esto es así poque
para que un programa funcione sobre X11 sería necesario levantar un socket
desde el anfitrion, es decir, desde fuera del contenedor, algo que no se puede
automatizar a través de estas herramientas (aunque si con un shell script).
Otra solución es levantar un servidor VNC dentro del contenedor, pero
podemos intuir que el rendimiento es “limitado” :P.
Pues bien, hay un proyecto que pretende solventar este problema, este es
Subuser. Podríamos decir, y ellos lo hacen, que
Subuser es un Qubes OS ligero, simplemente da
una capa de abstracción sobre Docker para permitir que aplicaciones de
escritorio funcionen de forma transparente (o casi). Para ello implementaron
un puente para la interfaz gráfica,
y un sistema de gestión de permisos.