Termbox: Prueba Linux desde el navegador web
Termbox es una aplicación web que nos permite ejecutar nuestro sistema operativo favorito desde el navegador. Y lo hace de la forma más sencilla, tan solo necesitamos un par de clicks para tener a nuestro alcance distros GNU/Linux como Ubuntu, Fedora, CentOS, Debian y Arch Linux.
Un despliegue que se hace en forma de emulador de terminal, donde nos encontramos muchos elementos comunes relacionados con Bash, utilidades Unix varias, compiladores, sistemas de control de versiones (git, subversion) y diversos lenguajes de programación (python, ruby, golang, javascript) con sus gestores de paquetes respectivos (pip, npm, gopm…)
Al mismo tiempo otros más específicos de cada distro como los que hacen referencia a los gestores de software, es decir los Apt, DNF o Pacman de turno.
En definitiva se trata de una especie de maquinas virtuales (“box”) construidas sobre Dockerutilizando Hypercontainer (un hipervisor que ejecuta una máquina virtual como si fuera un container), convenientemente aisladas entre si y con una duración efímera ya que cada una de ellas se elimina 6 horas después de iniciada la sesión. En el frontend nos encontramos otros elementos como hterm y websocket, mientras que para el diseño de la web se utiliza el framework Bulma.
Cada box ofrece una memoria de 512 MB de RAM, una CPU y 10 GB de espacio en disco. Se trata de un desarrollo muy reciente, así que lo normal es que os encontréis algún fallo y algunas limitaciones lógicas (llevo jugando unos minutos y ya provoqué un kernel panic intentando habilitar un entorno gráfico).
Señalar que su desarrollador ya está trabajando en implementar nuevas funciones como acceso SSH o la posibilidad de habilitarlo como servidor. Otras distribuciones como Alpine y openSUSEserán añadidas pronto, así como imágenes de Docker.
Como nos aclaran en su página de GitHub, Termbox está liberado bajo licencia libre MIT y es totalmente gratuito:
How can this be free?
At our current capacity, a single launch costs us around $0.0002, so we don’t lose much by offering it for free. We are experimenting with non-obtrusive ads in order to increase server resources and to finance further development.
Un proyecto interesante para propósitos educativos, dar a conocer el sistema o comparar como se desenvuelven diferentes distribuciones GNU/Linux, al realizar tareas comunes.