DesarrolloDestacadoLinux

Ejecuta la terminal de Linux desde el Navegador

Para aquellos que a diario trabajamos con Linux y con herramientas web sabemos que sería muy interesante la idea de poder ejecutar los comandos de la terminal directamente en el navegador. ¿Un lujo quizás? No tanto, hoy podemos acceder a un emulador de la terminal que nos permita lograr el objetivo.

Butterfly es un emulador de terminal que busca ser parte de tu día a día en el uso de comandos de Linux. Conectarnos por SSH, instalar o actualizar paquetes, manejar archivos, directorios y permisos son algunas tareas habituales que realizamos en la terminal, ahora con Butterfly podemos hacerlas sin movernos del navegador.

butterfly_1

Florian Mounier, quién desarrolló esta aplicación, inició la misma como un proyecto personal, y al llevarlo a su uso diario decidió publicarlo, hoy el código se encuentra disponible para el uso en su cuenta de Github.

¿Cómo instalarlo?

Para instalar Butterfly ejecutamos en la terminal:

$ sudo pip install butterfly

Esta línea instala Butterfly, que al ser ejecutado inicia un servidor local, el cual aloja la aplicación que escucha en el puerto 57575. Para correr la aplicación debemos ejecutar:

$ butterfly.server.py --unsecure

Esto ejecuta un servidor web local no seguro.

A continuación abrimos una pestaña del navegador e ingresamos la dirección de la aplicación: http://localhost:57575/

Si deseamos ejecutarlo al inicio, con vistas a usarlo de manera permanente podemos descargar el archivo butterfly.service y ubicarlo en la carpeta /etc/systemd/system o equivalente y a continuación ejecutar:

$ sudo systemctl enable butterfly
$ sudo systemctl start butterfly

A  partir de aquí el servidor se ejecutará de manera permanente, y podremos acceder siempre a la terminal desde el navegador, sin necesidad de correr manualmente butterfly.

Extras

Butterfly fue hecho para ejecutarse como un usuario de la terminal y como root. Al correr como root los privilegios se aplican al usuario que inicia la conexión. Podemos cambiar el usuario de la terminal accediendo a http://localhost:57575/user/<user>

Conexión remota

[note]Atención: Este sistema no es seguro, por lo que las conexiones remotas se recomiendan que se hagan en una LAN, con propósitos de prueba y nunca a través de Internet (al menos por el momento).[/note]

Para permitir que otros usuarios puedan acceder a nuestra terminal ejecutamos el siguiente comando:

butterfly.server.py --host="0.0.0.0"

Para todo lo demás Butterfly se comporta como una terminal como la que estamos acostumbrados a utilizar, salvo algunas características especiales que aparecen por el uso del navegador.

Accesos directos en web browsers

Los accesos directos como el CTRL + L, que te permite posicionar el foco en la barra de direcciones, serán capturados por la aplicación y no se ejecutarán, para hacer uso de los accesos directos es preciso utilizar la combinación CRTL + Z antes del acceso directo. Esto le dirá a la aplicación que se está por ejecutar un acceso directo relacionado al explorador y ejecutará la acción. Por ejemplo, si deseamos poner el foco en la barra de direcciones mientras estamos en butterfly debemos ejecutar: CTRL + Z y luego CTRL + L.

Acceso rápido al historial de comandos

Un característica muy interesante que básicamente nos permite acceder al historial de comandos presionando CTRL + SHIFT + Arriba, y luego con CTRL + SHIFT + arriba/abajo recorrer los comandos antes ingresados. Una vez seleccionada la linea que deseamos reutilizar presionamos ENTER. Butterfly copiará el comando en la terminal listo para volverlo a ejecutar.

butterfly_2

¡Muy interesante!

Para más información sobre Butterfly visita la página oficial en Github de Butterfly.

Etiquetas

Alejandro

Fundador de Cultura Cuántica · Lic. en Sistemas · Programador de software/hardware · SysAdmin · Twitter: @alegorosito ale@culturacuantica.com.ar

Artículos relacionados