Registra la tua sessione terminale con Asciinema
Mostra non dire con Asciinema, un registratore di sessioni terminale open source.
Le chiamate di supporto sono importanti e spesso soddisfacenti alla fine, ma l'atto di una comunicazione chiara può essere arduo per tutti i soggetti coinvolti. Se hai mai ricevuto una chiamata di supporto, probabilmente hai trascorso diversi minuti a pronunciare anche i comandi più brevi e a spiegare in dettaglio dove si trovano gli spazi e i ritorni a capo. Anche se spesso è più semplice prendere semplicemente il controllo del computer di un utente, questo non è proprio il modo migliore per educare. Quello che potresti provare invece è inviare a un utente una registrazione dello schermo, ma da cui possa copiare i comandi e incollarli nel proprio terminale.
Asciinema è un registratore di sessioni terminali open source. Similmente ai comandi script
e scriptreplay
, Asciinema registra esattamente ciò che viene visualizzato sul tuo terminale. Salva la registrazione del "film" in un file di testo e quindi la riproduce su richiesta. Puoi caricare il tuo filmato su Asciinema.org e condividerlo proprio come faresti con qualsiasi altro video su Internet, e puoi anche incorporare il tuo filmato in una pagina web.
Installa Asciinema
Su Linux, puoi installare Asciinema utilizzando il tuo gestore pacchetti.
Su Fedora, CentOS, Mageia o simili:
$ sudo dnf install asciinema
Su Debian, Linux Mint o simili:
$ sudo apt install asciinema
Su macOS, puoi installare utilizzando Homebrew:
$ sudo brew install asciinema
Su BSD e qualsiasi altra piattaforma che utilizza Pkgsrc:
$ cd /usr/pkgsrc/misc/py-asciinema
$ sudo bmake install clean
Realizzare filmati dal testo
Per iniziare a registrare con Asciinema, utilizza il sottocomando rec
:
$ asciinema rec mymovie.cast
asciinema: recording asciicast to mymovie.cast
asciinema: press <ctrl-d> or type "exit" when you're done
Un output intuitivo ti avvisa che stai registrando e ti dice come interrompere: premi Ctrl+D o digita semplicemente exit
.
Tutto ciò che fai nel tuo terminale mentre Asciinema è attivo viene registrato. Ciò include input, output, errori, pause imbarazzanti, errori o successi. Se lo vedi nel tuo terminale durante la registrazione, effettua il taglio.
Una volta terminata la dimostrazione del funzionamento del terminale, premi Ctrl+D o digita exit
per interrompere la registrazione.
In questo esempio, il file risultante, mymovie.cast
è una raccolta di timestamp e azioni che fungono da script (nel senso di script di un film) per il meccanismo di riproduzione.
{"version": 2, "width": 139, "height": 36, "timestamp": 1641457358, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}}
[0.05351, "o", "\u001b]0;seth:~\u0007"]
[0.05393, "o", "\u001b[1;31m$ \u001b[00m"]
[1.380059, "o", "e"]
[1.443823, "o", "c"]
[1.514674, "o", "h"]
[1.595238, "o", "o"]
[1.789562, "o", " "]
[2.09658, "o", "\""]
[2.19683, "o", "h"]
[2.403994, "o", "e"]
[2.466784, "o", "l"]
[2.711183, "o", "lo"]
[3.120852, "o", "\""]
[3.427886, "o", "\r\nhello\r\n"]
[...]
Se hai commesso un errore, puoi eliminarlo rimuovendo le linee che ricreano l'errore. Se ti ritrovi a fare molte modifiche o a fare lunghe pause durante la registrazione, puoi installare e utilizzare l'utilità asciinema-edit, che può ritagliare blocchi di "filmati" in base ai timestamp della tua definizione o eliminando i tempi di inattività.
Riproduzione di un film di Asciinema
Puoi riprodurre il tuo Asciinema utilizzando il sottocomando play
:
$ asciinema play mymovie.cast
Questo prende il controllo della tua sessione terminale e la trasforma nell'equivalente più vicino del Silver Screen come probabilmente non sarà mai (a parte quella volta in cui hai guardato Star Wars in ASCII su telnet
). Il tuo filmato basato su testo viene riprodotto, dimostrando ai tuoi utenti esattamente come viene eseguita un'attività complessa. Naturalmente, i comandi effettivi che vengono riprodotti non vengono effettivamente eseguiti. Questo non è uno script di shell in azione, quindi anche se potresti aver creato un file hello.txt
nel tuo filmato, non ci sarà un nuovo hello.txt
dopo la riproduzione. Questo è solo per spettacolo.
Eppure è più di un semplice spettacolo. Puoi mettere in pausa i film di Asciinema, selezionare il testo che vedi sullo schermo e incollarlo in un terminale attivo per eseguire il comando. Asciinema è documentazione utile. Mostra agli utenti come eseguire un'attività e consente loro di copiare e incollare per garantire la precisione.
Carica il tuo filmato Asciinema
Nessun film di Asciinema ha ancora raggiunto lo status di blockbuster, ma puoi comunque caricare il tuo su Asciinema.org e condividerlo con il mondo.
$ asciinema upload mymovie.cast
Se sei abituato ai tempi di caricamento di YouTube, rimarrai piacevolmente sorpreso dalla velocità con cui vengono trasferiti i film di Asciinema. Un file .cast
pesa solitamente solo pochi kilobyte o al massimo pochi megabyte, quindi il caricamento è quasi istantaneo. Non è necessario un account per condividere il film, ma tutti i film non rivendicati verranno eliminati dopo sette giorni. Per preservare il tuo capolavoro puoi aprire un conto su Asciinema e poi metterti comodo e aspettare la chiamata dell'Accademia.
Asciinema come documentazione
Asciinema è un ottimo modo per dimostrare anche i concetti più elementari. Poiché mantiene la capacità di copiare e incollare il codice dalla registrazione, offre la possibilità di mettere in pausa e riprodurre su richiesta ed è completamente accurato in ciò che ritrae, non è altrettanto valido di una registrazione dello schermo. E' molto, molto meglio. Sia che lo usi per mostrare le tue abilità terminali ai tuoi amici o che lo usi per educare colleghi e studenti, Asciinema è uno strumento inestimabile, sociale e accessibile.