Termtosvg es una herramienta en linea de comandos que nos permite grabar nuestras sesiones de terminal en un entorno de animación SVG. Se trata de un formato soportado por los principales navegadores web (Chrome, Firefox que fue pionero a principios de esta década, Safari…), con la excepción del Edge de Microsoft, algo que a los linuxeros tampoco nos preocupa demasiado.

Creado en Python y con licencia libre BSD (3-Clause), termtosvg nos recuerda en diferentes aspectos a herramientas como script o el más reciente asciicinema, siempre una referencia a la hora de hacer demostraciones y tutoriales.

Instalación en Linux

En Arch Linux y derivadas como Antergos, Anarchy o Manjaro, nos lo encontramos en el fantástico repositorio comunitario de AUR. Lo podemos instalar de forma manual o tirando de helper:

trizen -S termtosvg-git

Los usuarios de openSUSE Leap 15 lo pueden instalar mediante 1-click-install.

lo pueden instalar mediante 1-click-install. Además se distribuye en forma de paquete universal snap. Los usuarios de Ubuntu 16.04 y posteriores, así como otras distros que tengan este formato habilitado, deberían poder instalarlo mediante:

sudo snap install termtosvg-simosx

Y siempre nos queda la opción de instalarlo con el gestor de paquetes pip, en cualquier distribución GNU/Linux.

pip3 install --user termtosvg

Usando termtosvg

No tiene demasiado misterio. Para empezar a grabar escribimos:

termtosvg

y para finalizar pulsamos Ctrl+D ó bien tecleamos:

exit

El resultado será guardado de forma automática en forma de archivo SVG en nuestro directorio temporal (/tmp). Después lo podemos abrir con Firefox o cualquier otro programa compatible.

Si queremos podemos afinar el aspecto decorativo, eligiendo el tema de grabación para la sesión (circus, classic-dark, classic-light, dracula, isotope, marrakesh, material, monokai, solarized-dark, solarized-light, zenburn). Por ejemplo:

termtosvg --theme solarized-dark

O el tipo de fuente:

termtosvg --font hack

Además nos podemos encontrar otras opciones respecto al renderizado y grabación en la ayuda del programa, como el soporte del formato asciicast v2, añadido en las últimas versiones de termtosvg.

termtosvg --help

En definitiva una herramienta bastante cool, eficiente en cuanto a consumo y tamaño de los archivos resultantes, fácil de usar y de la que como siempre podéis saber más visitando su página en GitHub.