Enregistrement de sessions CLI avec Asciinema

Introduction

Asciinema est un programme qui permet d'enregistrer des sessions CLI.

Il s'installe sous Linux par le biais des gestionnaires de paquets traditionnels, et peut être utilisé pour enregistrer des commandes tapées dans des sessions SSH.

Utilisation

Enregistrer une session

Lancer l'enregistrement :

asciinema rec

On peut aussi préciser le chemin du fichier dans lequel seront enregistrées les commandes :

asciinema rec /home/test/enregistrement.cast

Arrêter l'enregistrement :

Faire CTRL-D ou :

exit

:!: Si asciinema est utilisé pour enregistrer des sessions à distance via SSH ou dans un mode superutilisateur, il faut d'abord utiliser la commande exit pour sortir de ces modes / se déconnecter, avant de pouvoir arrêter l'enregistrement.

Rejouer une session

:!: Lors du rejeu d'une session enregistrée par Asciinema, les commandes sont simplement affichées dans la console à la vitesse où elles ont été exécutées lors de l'enregistrement, elles ne sont en aucun cas ré-exécutées.

Rejouer un enregistrement stocké en local :

asciinema play /home/test/enregistrement.cast

Rejouer un enregistrement en ligne :

asciinema play https://asciinema.org/a/22124.cast

L'argument -i permet de limiter les temps d'inactivité en précisant une durée (en secondes). Ici on souhaite les limiter à 10 sec maximum :

asciinema play /home/test/enregistrement.cast -i 10

On peut aussi régler la vitesse de lecture de l'enregistrement en ajoutant l'argument -s suivi d'une valeur. Par exemple, pour lire un enregistrement 2x plus vite qu'il n'a été enregistré :

asciinema play /home/test/enregistrement.cast -s 2

Les options précédentes sont bien évidemment cumulables.

Mettre sur pause le rejeu d'un enregistrement :

Utiliser le raccourci clavier Espace pour mettre sur pause ou continuer la lecture.

Interrompre le rejeu d'un enregistrement :

Utiliser le raccourci clavier CTRL+C

Lister les commandes dans un enregistrement :

Asciinema peut aussi simplement afficher l'historique des commandes utilisées dans un enregistrement avec la commande suivante :

asciinema cat /home/test/enregistrement

Partager un enregistrement en ligne

Un enregistrement peut être envoyé sur les serveur d'asciinema.org pour une durée limitée afin de le partager avec d'autres personnes :

asciinema upload demo.cast

Sources