Registro de sesiones terminales en Linux usando Asciinema

Registro de sesiones terminales en Linux usando Asciinema

Asciinema es una utilidad de línea de comandos de código abierto y de código abierto que se puede utilizar para registrar sesiones de terminales en distribuciones de Linux. Puede capturar comandos y su salida en alta calidad, y produce un texto nítido y claro, mejor que otras herramientas de grabación y recolección de pantalla utilizadas para capturar una sesión de escritorio completa.

Características principales de Asciinema

Además de grabar la salida de texto visible en un emulador terminal, Asciinema puede agregar una sesión de grabación continua a una salida grabada previamente, lo que permite a los usuarios crear una secuencia continua a partir de múltiples cajas.

La salida capturada por Asciinema se puede reproducir en cualquier momento en su instalación de Linux. También puede cargar la salida capturada en el sitio web de Asciinema y compartirla con otros. Si tiene un sitio web o una aplicación web, puede integrar la salida capturada y reproducirla en un navegador web o contenedor de aplicaciones web.

Tenga en cuenta que la salida capturada no se representa en formatos de video como MP4 y Webm. Se representa en un formato personalizado llamado "asciicast" y puede ser jugado solo por asciinema. Un jugador basado en JavaScript para reproducir la salida de asciicast capturada en los navegadores web está disponible en el sitio web de Asciinema.

Instalación de Asciinema en Linux

Puede instalar Asciinema en la última versión de Ubuntu ejecutando el comando a continuación:

$ sudo apt install asciinema

También puede instalarlo utilizando el Administrador de paquetes PIP en Ubuntu y otras distribuciones de Linux. Para hacerlo, ejecute los siguientes dos comandos en Ubuntu:

$ sudo apt install python3-pip
$ PIP3 Instalar asciinema

Más paquetes y una mayor distribución están disponibles instrucciones de instalación específicas.

Usando asciinema en Linux

Para comenzar a registrar la salida del terminal, ejecute el comando asciinema en el siguiente formato:

$ asciinema rec

Asciinema comenzará a grabar la salida de shell tan pronto como ejecute el comando. Le mostrará un mensaje en Terminal, como se muestra en la captura de pantalla a continuación:

Como puede ver en la salida anterior, Asciinema ha comenzado a grabar un asciicast que se almacenará en la carpeta "/TMP" una vez que se termine la grabación. Cualquier cosa que escriba o ejecute en la terminal una vez que haya comenzado la grabación, será capturado y guardado en un ".Archivo de reparto ". La grabación se puede detener presionando la tecla o escribiendo el comando "Salir".

Después de haber detenido la grabación en curso, se le pedirá que lo guarde en su disco duro local o lo suba en el sitio web oficial de Asciinema. Puede presionar la tecla para cargar asciicast capturado en línea o puede presionar el atajo de teclado para guardarla en el disco local (como se muestra en la captura de pantalla a continuación):

Por defecto, Asciinema guarda la salida capturada en la carpeta "TMP". Para guardar un asciicast en una ubicación personalizada en un disco de almacenamiento local sin cargarlo en línea, proporcione una ruta de archivo al comando "Rec". Aquí hay un comando de ejemplo:

$ asciinema rec "$ home/downloads/archivo.elenco"

Para cargar manualmente un asciicast capturado en el sitio web de Asciinema, ejecute un comando en el siguiente formato (reemplace la ruta del archivo según sea necesario):

$ asciinema upload/full/rath/to/file.elenco

Para agregar una nueva grabación a un asciicast existente, use el comando "agregar" en el formato (una nueva sesión de grabación se iniciará y la salida se agregará a suministrada ".Archivo de elenco "):

$ asciinema rec --append/full/path/to/file.elenco

Una vez que tengas un ".Archivo de elenco "capturado, puede reproducirlo con el siguiente comando (reemplazar la ruta del archivo según sea necesario):

$ Asciinema Play Full/Path/To/File.elenco

Aquí hay una pequeña demostración que muestra asciicast asciicast en acción:

Tenga en cuenta que esta una animación GIF reducida, no muestra la salida capturada en su calidad completa en alta definición. Tienes que jugar el ".Archivo de ENCUERDO "en su distribución de Linux para verlo en plena calidad o tiene que incrustar la salida capturada en un sitio web y luego reproducirla con la biblioteca Asciinema JavaScript. También puede ver un asciicast en alta calidad después de subirlo en el sitio web de Asciinema.

Aquí hay una muestra de asciicast de alta definición que puede ver en un navegador web visitando el sitio web oficial de Asciinema.

Para obtener más información sobre la utilidad de línea de comandos Asciinema, ejecute los siguientes dos comandos:

$ hombre asciinema
$ asciinema -Help

También puede navegar por la documentación oficial en línea desde aquí.

Incrustar asciicast en su propio sitio web o aplicación web

Si solo desea compartir una sesión capturada en línea y no tiene su propio sitio web o aplicación web, el mejor método es cargarla en línea en el sitio web oficial de Asciinema utilizando los comandos explicados anteriormente y luego compartir el enlace de URL con otros.

Para incrustar un asciicast en su propio sitio web o aplicación web, deberá agregar el script de reproductor Asciinema a su archivo HTML visitando la página donde su asciicast se ha cargado en línea. Por ejemplo, para incrustar la muestra de Asciinema vinculada anteriormente, haga clic en el botón "Compartir" en la página web de Asciicast para obtener el código de inserción. Aquí hay una captura de pantalla que muestra esto:

Si un archivo HTML muy simple contiene el siguiente código:

Esta es una muestra de asciicast.


Verá un reproductor integrado en su página web como esta:

Conclusión

Asciinema proporciona un método para capturar la salida basada en texto en alta calidad. A diferencia de otros métodos de grabación y captura de video, Aciinema guarda datos sin procesar de una sesión capturada en un archivo de texto y lo reproduce bit por bit. Esto produce un texto nítido y claro como si hubiera estado ejecutando los comandos y obteniendo la salida de texto en su propio hardware en tiempo real.