¿Qué es Butterfly?
Butterfly es un simple emulador de terminal escrito en Python que se puede usar desde un navegador web… y viene con algunos trucos debajo de la manga bien interesantes, que otros terminales deberÃan copiar.
¿Cómo probar Butterfly?
Butterfly es desarrollado en Python, y se instala en cuestión de minutos. Tan sólo hay que ejecutar el comando pip install butterfly como root (para usar pip es necesario tener instalado el paquete python-pip primero). Luego, hay que iniciar el servidor mediante el comando butterfly.server.py, y finalmente hay que acceder al terminal ingresando en el navegador web la dirección http://127.0.0.1:57575. Para iniciar sesión en el shell con un usuario diferente, hay que añadir su nombre a la URL, asÃ: http://127.0.0.1:57575/user/root.
sudo pip install butterfly butterfly.server.py --unsecure
Algunos trucos sobre Butterfly
Acceder al terminal desde el explorador web está de moda, no hay duda. Sin embargo, Butterfly viene con algunos trucos extras que lo hacen realmente útil.
Tal vez el mejor de todos sea la selección rápida del historial. A través del atajo Shift+Ctrl+Flecha arriba se puede cambiar al modo de selección y luego utilizando los atajos Ctrl+Shift+Flecha arriba y Ctrl+Mayús+Flecha abajo se puede seleccionar el texto del historial que se desee. Luego, sólo hay que presionar Enter para pegar el texto seleccionado.
El estilo visual está basado en CSS por lo que es completamente editable. Además, es posible extender fácilmente el comportamiento del terminal a través de JavaScript (asà está desarrollada la función de selección rápida, por ejemplo).
Cómo instalar  Butterfly de forma definitiva
Para ejecutar Butterfly desde el inicio del sistema usando systemd hay que descargar el archivo butterfly.service y ponerlo en /etc/systemd/system/ o equivalente. Luego, hay que ejecutar:
sudo systemctl enable butterfly sudo systemctl start butterfly
Listo. Ahora Butterfly va a estar siempre disponible.
Cómo acceder desde un equipo remoto a Butterfly
En cuanto a caracterÃsticas de acceso remoto, su creador hace énfasis en que de momento no es seguro y recomienda hacerlo solo en una LAN para realizar pruebas.
El comando a ejecutar serÃa el siguiente:
butterfly.server.py --host="0.0.0.0"
Cómo ejecutar un shell especÃfico
Por ejemplo, para ejecutar fish, hay que utilizar el siguiente comando:
butterfly.server.py --shell=/bin/fish
Para más información, recomiendo visitar la página de Github del proyecto.

