Enregistrer et rejouer la session du terminal avec asciinema sur Linux

Enregistrer et rejouer la session du terminal avec asciinema sur Linux

Introduction

Asciinema est une alternative légère et très efficace à un Scénario Enregistreur de session terminal. Il vous permet d'enregistrer, de rejouer et de partager vos enregistrements de session de terminal formatés JSON.
Le principal avantage par rapport aux enregistreurs de bureau tels que RecordMydesktop, SimplScreenRecorder, Vokoscreen ou Kazam est qu'Asciinema enregistre toute la saisie, la sortie et l'erreur du terminal standard en tant que
Texte ASCII ordinaire avec code d'échappement ANSI .

En conséquence, le fichier de format JSON est de taille minuscule même pour une session de terminal plus longue. De plus, le format JSON donne à l'utilisateur la possibilité de partager le fichier de sortie JSON Asciinema via un fichier simple
Transférer, sur le site Web public dans le cadre du code HTML intégré ou le partager sur Asciinema.org utilisant le compte asciinema. Enfin, au cas où vous auriez fait une erreur pendant votre session terminale, votre
La session de terminal enregistrée peut être modifiée rétrospectivement à l'aide de n'importe quel éditeur de texte, c'est-à-dire si vous connaissez votre chemin autour de la syntaxe du code d'échappement ANSI.

Difficulté

FACILE

Conventions

  • # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
  • $ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier

Installation du référentiel standard

Il est très probable que l'asciinema est instalable dans le cadre de votre référentiel de distribution. Cependant, si Asciinema n'est pas disponible sur votre système ou si vous souhaitez installer la dernière version, vous pouvez utiliser
Gestionnaire de package LinuxBrew pour effectuer une installation Asciinema comme décrit ci-dessous dans la section «Installation de Source».

Arch Linux

# Pacman -s asciinema 

Debian

# apt installe asciinema 

Ubuntu

$ sudo apt installer asciinema 

Feutre

$ sudo dnf installer asciinema 

Installation de la source

La façon la plus simple et recommandée d'installer la dernière version Asciinema de Source est en utilisant le gestionnaire de packages LinuxBrew.

Conditions préalables

La liste suivante des conditions préalables répond aux exigences de dépendance pour les deux, LinuxBrew et Asciinema.

  • git
  • GCC
  • faire
  • rubis

Avant de poursuivre l'installation de LinuxBrew, assurez-vous que les packages ci-dessus sont issus sur votre système Linux.

Arch Linux

# Pacman -s git gcc fait Ruby 

Debian

# apt installer git gcc faire du rubis 

Ubuntu

$ sudo apt install git gcc faire du rubis 

Feutre

$ sudo dnf installer git gcc faire du rubis 

Centos

# yum install git gcc faire du rubis 

Installation de LinuxBrew

Le LinuxBrew Package Manager est une fourche du populaire gestionnaire de packages Homebrew utilisé sur le système d'exploitation MacOS d'Apple. Homebrew est connu pour sa facilité d'utilisation, qui doit être vu sous peu, lorsque nous utilisons
Linuxbrew pour installer Asciinema. Exécutez la commande ci-dessous pour installer LinuxBrew sur votre distribution Linux:

$ Ruby -e "$ (curl -fssl https: // brut.githubusercontent.com / linuxbrew / install / maître / install) " 

LinuxBrew est maintenant installé sous votre $ Home /.LinuxBrew /. Ce qui reste, c'est faire partie de votre exécutable CHEMIN variable d'environnement.

$ echo 'export path = "$ home /.LinuxBrew / Bin: $ path "'>> ~ /.bash_profile $ . ~ /.bash_profile 

Pour confirmer l'installation de LinuxBrew, vous pouvez utiliser brasser commande pour interroger sa version:

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

Installation de l'asciinema

Avec le Linuxbrew maintenant installé, l'installation d'Asciinema doit être facile en tant que liner unique:

$ Brew Installer Asciinema 

Vérifiez l'installation correct de l'Asciinema:

$ asciinema --version asciinema 1.3.0 

Enregistrement de la session du terminal

Après tout ce travail acharné avec l'installation, il est enfin temps de s'amuser. Asciinema est un logiciel extrêmement facile à utiliser. En fait, la version 1 actuelle.3 n'a que quelques options de ligne de commande
Disponible et l'un d'eux est --aider.

Commençons par enregistrer une session terminale en utilisant le récolte option. La commande Linux suivante commencera à enregistrer votre terminal
Session, après quoi vous aurez une option pour éliminer votre enregistrement ou le télécharger sur Asciinema.Site Web Org pour une future référence.

$ asciinema rec 

Une fois que vous avez exécuté la commande ci-dessus, vous serez informé que votre session d'enregistrement Asciinema a commencé et que l'enregistrement peut être arrêté en entrant Ctrl + d séquence ou exécution clé
de sortie commande. Si vous êtes sur Debian / Ubuntu / Mint Linux, vous pouvez essayer cela comme votre premier enregistrement Asciinema:

$ su mot de passe: # apt install sl # exit $ sl 

Une fois que vous entrerez la dernière commande de sortie, on vous demandera:

$ exit ~ enregistrement asciicast terminé. ~ Appuyez sur pour télécharger, pour annuler. https: // asciinema.org / a / 7lw94ys68gsgr1yzdtzwijxm4 

Si vous n'avez pas envie de télécharger vos compétences en ligne de commande Kung-Fu super secrètes à Asciinema.org, vous avez une option pour stocker l'enregistrement Asciinema en tant que fichier local au format JSON. Par exemple, le
suivant l'enregistrement asciinema sera stocké comme / tmp / my_rec.json:

$ asciinema rec / tmp / my_rec.json 

Une autre caractéristique de l'asciinema extrêmement utile est la coupe de temps. Si vous êtes un écrivain lent ou si vous faites du multitâche, le temps entre l'entrée et l'exécution de vos commandes peut
étirer beaucoup. Asciinema enregistre vos touches en temps réel, ce qui signifie que chaque pause que vous faites réfléchira sur la durée de votre vidéo résultante. Utiliser -w option pour raccourcir le temps entre
Vos frappes. Par exemple, la commande Linux suivante coupe le temps entre vos touches à 0.2 secondes:

$ asciinema rec -w 0.2 

Rejouer la session du terminal enregistré

Il existe deux options pour rejouer vos séances de terminal enregistrées. Tout d'abord, jouez votre session terminale directement depuis Asciinema.org. C'est-à-dire à condition que vous ayez déjà téléchargé votre enregistrement sur
asciinema.org et vous avez une URL valide:

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

Alternativement, utilisez votre fichier JSON stocké localement:

$ asciinema play / tmp / my_rec.json 

Utiliser wget Commande pour télécharger votre enregistrement précédemment téléchargé. Ajouter simplement .json à votre URL existante:

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

Incorporer la vidéo comme HTML

Enfin, Asciinema est également livré avec un joueur JavaScript autonome. Ce qui signifie qu'il est facile de partager vos enregistrements de session de terminal sur votre site Web. Les lignes ci-dessous illustrent cette idée avec un
simple indice.html code. Tout d'abord, téléchargez toutes les pièces nécessaires:

$ cd / tmp / $ mkdir Steam_locomotive $ cd Steam_locomotive / $ wget -q -o Steam_locomotive.json https: // asciinema.org / a / 7lw94ys68gsgr1yzdtzwijxm4.JSON $ wget -Q https: // github.com / asciinema / asciinema-player / releases / download / v2.4.0 / Asciinema-Player.css $ wget -q https: // github.com / asciinema / asciinema-player / releases / download / v2.4.0 / Asciinema-Player.js 

Ensuite, créez un nouveau / tmp / Steam_locomotive / index.html fichier avec un contenu suivant:

   rel = "stylesheet" type = "text / css" href = "./ Asciinema-Player.CSS " />    src = "./locomotive à vapeur.JSON "Cols =" 80 "Rows =" 24 ">  src = "./ Asciinema-Player.JS ">>   

Une fois prêt, ouvrez votre navigateur Web, appuyez sur Ctrl + O et ouvrez votre nouvel création / tmp / Steam_locomotive / index.html déposer. Le résultat doit ressembler à l'exemple de vidéo ci-dessous:

00: 00-00: 00     

Conclusion

Comme mentionné précédemment, le principal avantage pour enregistrer vos séances de terminal avec l'enregistreur Asciinema est le fichier de sortie minuscule qui rend vos vidéos extrêmement faciles à partager. L'exemple ci-dessus
produit un fichier contenant 58 472 caractères, soit 58 Ko pour la session vidéo de 22 secondes. Lors de l'examen du fichier JSON de sortie, même ce nombre est grandement gonflé, principalement en raison du fait que nous avons
vu une locomotive à vapeur se précipiter sur notre terminal. La session terminale normale de cette longueur devrait produire un fichier de sortie beaucoup plus petit.

Ensuite, le moment où vous êtes sur le point de poser une question sur les forums sur votre problème de configuration Linux et d'avoir du mal à expliquer comment reproduire votre problème, exécutez simplement:

$ asciinema rec 

et collez l'URL résultante dans votre message de forum.

Dépannage

asciinema a besoin d'un UTF-8

Message d'erreur:

asciinema a besoin d'un paramètre natif UTF-8 pour fonctionner. Vérifiez la sortie de la commande «Locale». 

Solution:
Générer et exporter les paramètres régionaux de l'UTF-8. Par exemple:

$ localdef -c -f utf-8 -i en_us en_us.Utf-8 $ export lc_all = en_us.UTF-8 

Tutoriels Linux connexes:

  • Meilleurs enregistreurs d'écran Ubuntu
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Masterring Bash Script Loops
  • Gestion de la saisie des utilisateurs dans les scripts bash
  • Choses à installer sur Ubuntu 20.04
  • Comment tester le microphone sur Manjaro Linux
  • Comment prendre une capture d'écran sur Manjaro
  • Système linux hung? Comment s'échapper vers la ligne de commande et…
  • Comment prendre une capture d'écran sur Ubuntu 22.04 Jammy Jellyfish…
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?