355 - Tu terminal desde un navegador web de la mano de GoTTY
Como puedes tener un terminal completamente funcional en un navegador. Instala las herramientas que necesites para trabajar en tu propia nube
Hace unos días en el WinTablet.info comenté la posibilidad de utilizar Visual Studio Code de forma remota, y de la que ya te hablaré con detalle en el podcast de la próxima semana. Sin embargo, esto no es lo que te quería contar en el podcast de hoy, sino de la idea que se me ocurrió a raíz de esto. Y es que si bien esto de poder utilizar Visual Studio Code en modo remoto tiene su aquel, lo cierto es que si puedo utilizar NeoVim, como que mucho mejor. Y esto es lo que he estado preparando a medias durante el domingo. Y digo a medias, porque no he llegado a dejarlo completo por varios motivos. Sin embargo, si que me permite tener tanto una terminal desde un navegador web como algunas cosas mas…
Si, lo que has oído, puedes tener una terminal desde un navegador. Esto te permite tener todo el potencial de la terminal allá donde vayas, directamente desde tu navegador web. Sencillamente es brutal.
Tu terminal desde un navegador web de la mano de GoTTY
Los preliminares
Todo ha sido como una auténtica tormenta. Visual Studio Code me llevó a NeoVim, NeoVim a GoTTY, y GoTTY a NeoVim posteriormente. Simplemente se trata de instalar las herramientas que necesites en ese contenedor Docker y tenerlo levantado en tu VPS o en tu Raspberry para realizar todo aquello que se te pase por la cabeza.
Lo cierto es que al ver las posibilidades que me ofrecía GoTTY inmediatamente he pensado en instalar NeoVim, y me he puesto a configurarlo. Sin embargo, ahora, con la vista puesta atrás, creo que esto te permite tener mucho mas de lo que inicialmente me había planteado. Por ejemplo, puedes instalar youtube-dl
, y descargar el vídeo que quieras estés donde estés. Pero, además, si has instalado ffmpeg
y alguna que otra herramienta, puedes editar, recortar o modificar ese vídeo de forma inmediata.
Esto es toda una ebullición de idas… No solo esto, y es que tienes Bash
directamente instalado, con lo que puedes hacerte algún script… Y no solo esto, sino que además tienes la posibilidad de instalar Python
en la imagen, para poder implementar tus scripts donde sea que vayas. Como te he dicho antes brutal.
GoTTY
GoTTY es una línea de comandos que convierte cualquier herramienta de terminal en una aplicación web. Así de sencillo a la vez que potente… Puedes ver htop
directamente en tu navegador web, solo tienes que ejecutar gotty htop
o editar un documento en Vim o NeoVim, también desde un navegador web ejecutando gotty -w vim documento.md
. Imagina las posibilidades de esta herramienta.
Instalación
Para instalar gotty
en tu equipo, lo mas recomendable es que descargues la última versión directamente desde el repositorio de GitHub de GoTTY. Una vez descargado simplemente la tienes que poner en algún lugar del PATH
, y ya puedes utilizarla para lanzar cualquier comando ten tu navegador web.
Uso y funcionamiento
El uso de GoTTY es realmente sencillo. Tan solo tienes que ejecutar gotty [opiniones] <comando> [<argumentos>]
. Así puedes ejecutar cualquiera de los comandos que te he indicado anteriormente. Por ejemplo gotty htop
. En el caso de que además quieras escribir necesitas darle permisos. Así, para ejecutar vim
, tienes que hacerlo con gotty -w vim doc.md
.
Pero además de esto GOTTY
te dan un importante abanico de opciones para que personalices tu experiencia con la herramienta. Así, por ejemplo,
- Puedes modifica la IP donde escucha
- Es posible indicar el puerto
- Como has visto anteriormente puedes darle permiso de escritura
- Puedes establecer autenticación. Este punto es fundamental precisamente para lo que te he comentado anteriormente. Es muy interesante y necesario tener algún tipo de autenticación, si vas a tener
GoTTY
en un VPS o en una Raspberry accesible desde cualquier parte de internet. De otra forma esto sería una auténtica locura. - Tiene un completo archivo de configuración que te permite personalizar la experiencia de tu terminal desde un navegador, hasta el más mínimo detalle. No solo te permite configurar los colores de fondo y del texto, sino que además puedes elegir la fuente con la que trabajar en esa terminal.
alternativas
Desde luego que esta no es la única herramienta que tienes para poder hacer esto. Sin embargo, la posibilidad de poder combinar GoTTY
con Docker, me ha parecido sinceramente espectacular. Así, tienes otras herramientas como,
Cliente
Pero si hasta el momento todo esto te había parecido poco, además tienes un cliente
para la terminal, de forma que vas a poder ver directamente en tu terminal, lo que se esté ejecutando en el navegador. Esta herramienta se llama gotty-client. Igualmente, la puedes instalar en tu equipo.
GoTTY y Docker
Hasta aquí como te decía la herramienta en si me parece brutal. Pero además si la metemos dentro de un contenedor y la desplegamos en un servidor ya es la bomba. Tienes acceso al terminal desde cualquier sieio. Tienes acceso al terminal desde cualquier sieio. Tienes acceso al terminal desde cualquier sieio. Tienes acceso al terminal desde cualquier sieio.
GoTTY, NeoVim y Docker
Por supuesto la siguiente combinación es GoTTY, NeoVim y Docker, y un poco por lo que surgió toda esta investigación. Este viaje todavía no lo tengo completado, pero estoy trabajando en él.
Puedes ver mas información en los respositorios de GitHub de Gotty-Docker y Gotty-Docker-NeoVim
Imagen de portada de Fotis Fotopoulos