Script, graba y reproduce la actividad de sesiones de la terminal

about herramienta script

En el siguiente artículo vamos a echar un vistazo Script. Se trata de una herramienta de línea de comando que se utiliza para capturar o grabar la actividad de las sesiones de la terminal. Después la sesión grabada, puede reproducirse utilizando el comando scriptreplay.

En las siguientes líneas vamos a ver cómo instalar la herramienta de línea de comandos script y cómo registrar la actividad de la sesión de terminal. En general, los administradores de Gnu/Linux usan el comando history para rastrear qué comandos se ejecutaron en sesiones anteriores. Pero este comando no almacena la salida del comando, lo cual puede resultar una limitación.

Como puede haber algunos escenarios en los que queramos verificar la salida de los comandos de la sesión anterior, para compararla con la sesión actual. Además también podemos encontrarnos con algunas otras situaciones en las que queramos guardar todas las actividades de sesión de la terminal para futuras referencias. En casos como estos, el comando de script puede resultar útil.

Grabar pantalla con el terminal y FFmpeg
Artículo relacionado:
Graba tu escritorio desde el terminal con FFmpeg

Instalación de la herramienta Script en Ubuntu / Linux Mint

Script es quizás la herramienta de referencia a la hora de grabar sesiones de terminal. Viene instalado por defecto en la mayoría de distribuciones y es tremendamente sencilla de utilizar. En caso de no encontrala, se puede ejecutar el siguiente comando en la terminal (Ctrl+Alt+T) para instalar el paquete necesario:

instalación util-linux

sudo apt install util-linux

Usar la utilidad de script

El uso de esta herramienta es sencillo. No tendremos más que escribir el comando script en la terminal (Ctrl+Alt+T) y después pulsar Intro. Esto comenzará a capturar nuestra actividad de sesión de terminal actual dentro de un archivo llamado ‘typescript.

script

Para detener la grabación de las actividades de la sesión, podemos pulsar Ctrl+D o escribir el siguiente comando y pulsar Intro:

ejemplo script

exit

La sintaxis que podemos utilizar con esta herramienta es la siguiente:

script {opciones} {nombre-archivo}

Para más información podemos ejecutar la ayuda escribiendo:

help script

script -h

Algunos ejemplos del comando script

Comencemos a grabar nuestra sesión de terminal ejecutando el comando script. Como mencionamos más arriba, los registros de sesión de terminal se guardan en el archivo ‘typescript

Este archivo lo vamos a localizar en el directorio de trabajo en el que lancemos el comando script. Podremos ver el contenido del archivo typescript usando el comando cat / vim.

ls typescript

ls -l typescript

Utilizar un nombre de archivo personalizado con el comando script

Supongamos que queremos usar nuestro nombre de archivo personalizado para el comando script. Para hacerlo solo tendremos que especificar el nombre del archivo después del comando. En el siguiente ejemplo vamos a usar como nombre de archivo ‘session-log- (current-date-time) .txt‘.

script sessions-log-$(date +%d-%m-%Y-%T).txt

Después ya podremos ejecuta los comandos que queramos y terminar la grabación escribiendo:

guardar sesión con el nombre personalizado

exit

Añadir la salida de comandos al archivo de script

Si ya ejecutamos el comando script antes y ya se había registrado la salida de comandos en un archivo llamado session-log.txt (por ejemplo), es posible que queramos agregar la salida de los comandos de nuevas sesiones a este archivo. Para hacerlo no tendremos más que añadir la opción ‘-a al comando script:

script -a sessions-log.txt

Una vez cerrada la grabación, podemos utilizar el comando cat para ver los registros actualizados de la sesión:

add multiple script

cat session-log.txt

Reproduce la actividad de sesión de terminal de Gnu/Linux grabada

Primero vamos a registrar la información de sincronización en un archivo y capturar la salida de los comandos en un archivo separado, esto se puede lograr en el comando de script pasando el archivo de sincronización usando la opción –timing:

script --timing=timing.txt session.log

Ahora vamos a poder reproducir las actividades de sesión de terminal grabadas utilizando el comando scriptreplay:

reproducir sesión de terminal

scriptreplay --timing=timing.txt session.log

Para reproducir debemos utilizar la herramienta scriptreplay. Esta nos va a permitir reproducir lo que grabamos previamente. Pero además tiene algunas opciones muy interesantes para mejorar la reproducción. Estas las vamos a poder consultar en la ayuda que podremos ver escribiendo:

scriptreplay help

scriptreplay -h

Hoy en día podemos encontrar grandes opciones para grabar la sesión de una terminal, como podrían ser asciinema o termrecord. Pero como siempre, lo recomendable es que cada usuario haga sus pruebas y saque sus propias conclusiones a la hora de encontrar el software que mejor se adapte a sus necesidades.


Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.