Spesso per realizzare o un progetto si ha la necessità di elaborare delle presentazioni o magari di creare delle registrazioni per mostrare le feature del proprio prodotto. In questi casi ci può venire in aiuto un piccolo tool open source di nome asciinema. Questo programma permette di registrare un video delle sessioni del Terminale e di condividere il tutto in modo estremamente semplice.
Per installarlo su Linux si può usare un comodo pacchetto snap:
snap install asciinema --classic
Finita l'installazione si potrà subito iniziare a registrare con un semplice:
asciinema rec
Per terminare la registrazione basterà utilizzare la combinazione di tasti [CTRL]+[D]. Il progetto si compone oltre che del tool da linea di comando anche di un sito web e di varie API che permettono l'upload e la riproduzione della sessione registrata tramite un player scritto in Javascript. Per realizzare questo programma il team di asciinema ha preso ispirazione da scriptreplay e dal concetto di pseudo-terminal.
Gli pseudo-terminal sono dei device virtuali utilizzati nei sistemi Unix-like. Gli pseudo-terminal danno ai programmi la possibilità di agire da tramite tra l'utente, il display e la shell. In pratica possono intercettare e gestire il traffico di input/output tra il sistema e l'utente.
I developer di asciinema hanno fatto in modo che il tool lavori sullo stesso piano utilizzano uno pseudo-terminal per catturare tutto quello che l'utente digita nella shell e i risultati che poi vengono visualizzati a schermo dal sistema.
Al termine dell'upload del video asciinema ci mostrerà un link che, una volta aperto, permetterà di visualizzare la sessione registrata, si potrà ovviamente scaricare il file o condividere il link senza problemi.
asciinema è disponibile, oltre che per Linux, anche per le distribuzioni BSD e per MacOS. Inoltre è possibile avviarlo in un Docker cosi da poterlo utilizzare ovunque lo si desideri.
Via asciinema