¿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.
Es lindo.
También lo habia visto aqui https://plus.google.com/+CybercitiBiz/posts/NCnwp7VQ2dW
Acabo de probarlo.
Está curioso, pero yo no usaría un navegador como terminal.
No es que sea paranoico, pero más o menos…
Además, no encuentro la ventaja ni el razonamiento que lo justifique.
Seguramente será que no lo comprendo.
Por otra parte, mi terminal está más guapa que eso y bastante más tuneada.
😀 Parece que Pablo y yo leemos los mismos blogs.
En realidad, lo vi en G+ y me pareció interesante. 🙂
Si la desean usar como una app de GTK3:
from gi.repository import Gtk
from gi.repository import Gdk
from gi.repository import GObject
from gi.repository import GLib
from gi.repository import WebKit
import threading
import time
# Use threads
GLib.threads_init()
class App(object):
def __init__(self):
window = Gtk.Window()
webView = WebKit.WebView()
window.add(webView)
window.show_all()
self.window = window
self.webView = webView
def run(self):
Gtk.main()
def show_html(self):
GLib.idle_add(self.webView.load_uri, ‘http://127.0.0.1:57575/’)
app = App()
thread = threading.Thread(target=app.show_html)
thread.start()
app.run()
Gtk.main()
Estimado
Buena herramienta en el aprtado de butterfly.server.py –unsecurez es unsecure y funciona, por favor corregir
Hasta pronto..
Gracias x el aviso! Corregido. 🙂
Descargado a mis Favoritos. Gracias, UsemosLinux !!!
De nada! Un abrazo! Pablo.