Registre y repite la sesión de terminal con Asciinema en Linux

Registre y repite la sesión de terminal con Asciinema en Linux

Introducción

Asciinema es una alternativa ligera y muy eficiente a un Guion grabadora de sesión terminal. Le permite grabar, reproducir y compartir sus grabaciones de sesión de terminal formateadas JSON.
La principal ventaja en comparación con las grabadoras de escritorio como RecordMyDesktop, SimpleScreenRecorder, Vokoscreen o Kazam es que Asciinema registra todas las entradas, salida y error de terminal estándar como un
texto ascii simple con código de escape ANSI .

Como resultado, el archivo de formato JSON es minúsculo en tamaño incluso para una sesión terminal más larga. Además, el formato JSON le da al usuario la capacidad de compartir el archivo de salida de ASCIINEMA JSON a través del archivo simple
Transferir, en el sitio web público como parte del código HTML integrado o compartirlo en Asciinema.organizar la cuenta de asciinema. Por último, en caso de que haya cometido algún error durante su sesión terminal, su
La sesión de terminal grabada se puede editar retrospectivamente utilizando cualquier editor de texto, es decir, si conoce la sintaxis del código de escape ANSI.

Dificultad

FÁCIL

Convenciones

  • # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio
  • ps - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado

Instalación de repositorio estándar

Es muy probable que Asciinema sea instalable como parte de su repositorio de distribución. Sin embargo, si Asciinema no está disponible en su sistema o desea instalar la última versión, puede usar
LinuxBrew Package Manager para realizar la instalación de Asciinema como se describe a continuación en la sección "Instalación desde la fuente".

Arch Linux

# Pacman -S Asciinema 

Debian

# APT Instalar asciinema 

Ubuntu

$ sudo apt install asciinema 

Fedora

$ sudo dnf install asciinema 

Instalación desde la fuente

La forma más fácil y recomendada de instalar la última versión de Asciinema desde la fuente es mediante el uso de LinuxBrew Package Manager.

Requisitos previos

La siguiente lista de requisitos previos cumple con los requisitos de dependencia para ambos, Linuxbrew y Asciinema.

  • git
  • GCC
  • hacer
  • rubí

Antes de continuar con la instalación de LinuxBrew, asegúrese de que los paquetes anteriores estén en su sistema Linux.

Arch Linux

# Pacman -S Git GCC Make Ruby 

Debian

# APT install git gcc haz ruby 

Ubuntu

$ sudo apt install git gcc make ruby 

Fedora

$ sudo dnf install git gcc make ruby 

Cento

# yum install git gcc haz ruby 

Instalación de LinuxBrew

El Administrador de paquetes LinuxBrew es una horquilla del popular Administrador de paquetes Homebrew utilizado en el sistema operativo MacOS de Apple. Homebrew es conocido por su facilidad de uso, que se debe ver en breve, cuando usamos
Linuxbrew para instalar Asciinema. Ejecute el comando Bellow para instalar LinuxBrew en su distribución de Linux:

$ ruby ​​-e "$ (curl -fssl https: // raw.githubusercontent.com/linuxbrew/install/master/install) " 

LinuxBrew ahora está instalado debajo de su $ Inicio/.Linuxbrew/. Lo que queda es hacer que parte de su ejecutable CAMINO Variable ambiental.

$ Echo 'Export Rath = "$ Home/.linuxbrew/bin: $ ruta "'>> ~/.bash_profile $ . ~/.bash_profile 

Para confirmar la instalación de LinuxBrew, puede usar elaborar cerveza Comando para consultar su versión:

$ Brew -Version Homebrew 1.1.7 Homebrew/Homebrew-Core (Git Revision 5229; Last Commit 2017-02-02) 

Instalación de asciinema

Con el LinuxBrew ahora instalado, la instalación de Asciinema debería ser fácil como una sola línea:

$ brew instalar asciinema 

Verifique las correcciones de la instalación de Asciinema:

$ asciinema --version asciinema 1.3.0 

Sesión de terminal de grabación

Después de todo ese trabajo duro con la instalación, finalmente es hora de divertirse. Asciinema es un software extremadamente fácil de usar. De hecho, la versión actual 1.3 tiene solo pocas opciones de línea de comando
disponible y uno de ellos es --ayuda.

Comencemos registrando una sesión de terminal utilizando el recreación opción. El siguiente comando de Linux comenzará a grabar su terminal
Sesión después de la cual tendrá una opción para descartar su grabación o cargarla en Asciinema.ORG Sitio web para una referencia futura.

$ asciinema rec 

Una vez que ejecute el comando anterior, se le notificará que su sesión de grabación Asciinema ha comenzado y que la grabación se puede detener al ingresar Ctrl+D secuencia o ejecución clave
de salida dominio. Si está en Debian/Ubuntu/Mint Linux, puede probar esto como su primera grabación asciinema:

$ su contraseña: # apt instalación sl # salir $ sl 

Una vez que ingrese al último comando de salida, se le preguntará:

$ salida ~ grabación de asciicast terminada. ~ Presione para cargar, para cancelar. https: // asciinema.org/a/7lw94ys68gsgr1yzdtzwijxm4 

Si no tiene ganas de subir sus habilidades de línea de comando kung-fu de súper secreto a Asciinema.org, tiene una opción para almacenar la grabación de Asciinema como un archivo local en formato JSON. Por ejemplo, el
Después de la grabación de Asciinema se almacenará como /tmp/my_REC.json:

$ asciinema rec /tmp /my_REC.json 

Otra característica de Asciinema extremadamente útil es el tiempo de recorte. Si es un escritor lento o tal vez está haciendo multitarea, el tiempo entre entrar y la ejecución de sus comandos puede
estirarse mucho. Asciinema registra sus pulsaciones de teclas en tiempo real, lo que significa que cada pausa que realice se reflejará sobre la longitud de su video resultante. Usar -w opción para acortar el tiempo entre
Tus Keysrokes. Por ejemplo, el siguiente comando Linux recorta el tiempo entre sus pulsaciones de teclas a 0.2 segundos:

$ asciinema rec -w 0.2 

Reproducir sesión de terminal registrada

Hay dos opciones para reproducir sus sesiones de terminales grabadas. Primero, juegue su sesión terminal directamente de asciinema.organizar. Es decir, siempre que haya subido previamente su grabación a
asciinema.org y tiene URL válida:

$ asciinema play https: // asciinema.org/a/7lw94ys68gsgr1yzdtzwijxm4 

Alternativamente, use su archivo JSON almacenado localmente:

$ asciinema play /tmp /my_REC.json 

Usar wget Comando para descargar su grabación subida anteriormente. Simplemente agregar .json a su URL existente:

$ wget -q -o steam_locomotive.json https: // asciinema.org/a/7lw94ys68gsgr1yzdtzwijxm4.json $ asciinema play steam_locomotive.json 

Incrustación de video como html

Por último, Asciinema también viene con un reproductor de JavaScript independiente. Lo que significa que es fácil compartir las grabaciones de su sesión de terminal en su sitio web. Las líneas a continuación ilustran esta idea con un
simple índice.html código. Primero, descargue todas las partes necesarias:

$ cd/ tmp/ $ mkdir steam_locomotive $ cd steam_locomotive/ $ wget -q -o sheam_locomotive.json https: // asciinema.org/a/7lw94ys68gsgr1yzdtzwijxm4.json $ wget -q https: // github.com/asciinema/asciinema-player/comunes/download/v2.4.0/asciinema-jugador.CSS $ Wget -q https: // github.com/asciinema/asciinema-player/comunes/download/v2.4.0/asciinema-jugador.js 

A continuación, crea un nuevo /tmp/steam_locomotive/index.html Archivo con un contenido siguiente:

   rel = "stylesheet" type = "text/css" href = "./asciinema-jugador.CSS " />    src = "./locomotora de vapor.json "cols =" 80 "filas =" 24 ">  src = "./asciinema-jugador.JS ">>   

Una vez listo, abra su navegador web, presione Ctrl+O y abra su recién creado /tmp/steam_locomotive/index.html archivo. El resultado debe parecer similar al video de ejemplo a continuación:

00: 00-00: 00     

Conclusión

Como se mencionó anteriormente, la principal ventaja para grabar sus sesiones de terminal con la grabadora Asciinema es el archivo de salida minúsculo que hace que sus videos sean extremadamente fáciles de compartir. El ejemplo anterior
produjo un archivo que contiene 58 472 caracteres, es decir, 58 kb para la sesión de video de 22 segundos. Al revisar el archivo JSON de salida, incluso este número está muy inflado, principalmente debido al hecho de que tenemos
visto una locomotora de vapor corriendo por nuestra terminal. La sesión terminal normal de esta longitud debe producir un archivo de salida mucho más pequeño.

Luego, cuando esté a punto de hacer una pregunta en los foros sobre su problema de configuración de Linux y que tenga dificultades para explicar cómo reproducir su problema, simplemente ejecute:

$ asciinema rec 

y pegar la URL resultante en su publicación de foro.

Solución de problemas

Asciinema necesita un UTF-8

Mensaje de error:

Asciinema necesita una ubicación nativa UTF-8 para ejecutar. Verifique la salida del comando 'locale'. 

Solución:
Generar y exportar locales UTF-8. Por ejemplo:

$ Localedef -c -f UTF -8 -I EN_US EN_US.UTF-8 $ export lc_all = en_us.UTF-8 

Tutoriales de Linux relacionados:

  • Las mejores grabadoras de pantalla de Ubuntu
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Mastering Bash Script Loops
  • Manejo de la entrada del usuario en scripts bash
  • Cosas para instalar en Ubuntu 20.04
  • Cómo probar el micrófono en Manjaro Linux
  • Cómo tomar una captura de pantalla en Manjaro
  • Sistema colgado de Linux? Cómo escapar a la línea de comando y ..
  • Cómo tomar una captura de pantalla en Ubuntu 22.04 Jellyfish de Jammy ..
  • Mint 20: Mejor que Ubuntu y Microsoft Windows?