Grabando una shell con script y scriptreplay
Al hilo de la entrada anterior hablando sobre los terminales compartidos con screen intentaremos ir más allá y -además de interactuar y enseñar comandos shell- grabar todo lo que estamos haciendo en un archivo que luego podremos reproducir como si de un vídeo se tratase.
Esto puede hacerse gracias a los comandos script y scriptreplay, que se encargan de grabar las pulsaciones y el timing de las mismas para luego reproducirlo las veces que haga falta. Todo esto en consola, guardando el log en archivos de texto fácilmente comprimibles y sin dependencias extrañas. ¿Tentador?, vamos a probar. Lo primero que tenemos que hacer es ejecutar el comando script para que empiece a grabar todo lo que hagamos, además tenemos que indicarle que grabe el timing en otro archivo de forma que el comando completo sería el siguiente:
$ script -t 2> sesion.time -a sesion.demo
Script iniciado; el fichero es sesion.demo
[...]
[Ctrl+d]
$ exit
Script terminado; el fichero es sesion.demo
$ scriptreplay sesion.time sesion.demo
Llegados a este punto deberíamos estar -otra vez- sorprendidos por la sencillez y la potencia que nos ofrece una simple línea de comandos.