Recientemente estuve buscando diversos métodos para generar GIFs a partir de la actividad de la terminal para utilizarlos en tutoriales y artículos. En la mayoría de casos me encontré con procedimientos que se basaban en coger como base una serie de imágenes PNG/JPEG para después parsearlas con algún programa (como ImageMagick) y generar de esta manera un GIF. En otras ocasiones también se echaba mano de ffmpeg para ello. Quería algo más sencillo y que fuera al grano.
Entonces encontré una combinación perfecta: TTYREC para realizar grabaciones en formato mp4 de la actividad de la terminal y TTYGIF para pasar esa grabación a GIF. El primero está en los repos de las principales distros, y el segundo tiene el proyecto subido a GitHub con instrucciones sobre su instalación y uso.
Hablando de Debian y derivadas, la instalación de TTYREC es tan sencilla como sigue:
apt-get install ttyrec
Para TTYGIF, también en esas distros, procederemos de la siguiente manera:
apt-get install imagemagick ttyrec gcc x11-apps git clone https://github.com/icholy/ttygif.git cd ttygif make make install
Para el fin que busco, su uso es muy sencillo. Primero iniciamos grabación con:
ttyrec ejemplo
Una vez hayamos terminado, introducimos Ctrl+D
en la terminal. También podemos hacerlo con la orden exit
, con el inconveniente de que se grabará ese último comando en el GIF generado.
Ahora, para pasar a formato gif:
ttygif ejemplo
Y ya lo tenemos. Nuestro gif se habrá guardado en el fichero tty.gif. Aquí algunos ejemplos:
Recordad que en el repo del proyecto tenéis instrucciones de instalación para RedHat/Fedora, Arch y MacOS.