Record Terminal Sessions i Linux ved hjelp av Asciinema

Record Terminal Sessions i Linux ved hjelp av Asciinema

Asciinema er et gratis og open source -kommandolinjeverktøy som kan brukes til å registrere terminaløkter i Linux -distribusjoner. Den kan fange kommandoer og utdataene deres i høy kvalitet, og produserer skarp og tydelig tekst, bedre enn andre skjermopptak og screencasting -verktøy som brukes til å fange en hel stasjonær økt.

Hovedfunksjonene til Asciinema

I tillegg til å registrere tekstutgang som er synlig i en terminalemulator, kan Asciinema legge til en pågående innspillingsøkt til en tidligere registrert utgang også, slik at brukerne kan lage en kontinuerlig strøm fra flere kaster.

Utgang fanget av Asciinema kan spilles tilbake når som helst på Linux -installasjonen. Du kan også laste opp den fangede utdataene på Asciinema -nettstedet og dele det med andre. Hvis du har en webside eller en webapp, kan du legge inn den fangede utdata og spille den i en nettleser eller webappcontainer.

Vær oppmerksom på at fanget utdata ikke er gjengitt i videoformater som MP4 og WebM. Det er gjengitt i et tilpasset format kalt “Asciicast” og kan bare spilles av Asciinema. En JavaScript -basert spiller for avspilling fanget Asciicast -utgang i nettlesere er tilgjengelig på Asciinema nettsted.

Installere Asciinema i Linux

Du kan installere Asciinema i den siste versjonen av Ubuntu ved å kjøre kommandoen nedenfor:

$ sudo apt install Asciinema

Du kan også installere den ved hjelp av Pip Package Manager i Ubuntu og andre Linux -distribusjoner. For å gjøre det, kjør følgende to kommandoer i Ubuntu:

$ sudo apt install python3-pip
$ pip3 installer asciinema

Flere pakker og videre distribusjonsspesifikke installasjonsinstruksjoner er tilgjengelige her.

Bruker Asciinema i Linux

For å begynne å registrere terminalutgangen, kjør Asciinema -kommando i følgende format:

$ Asciinema Rec

Asciinema vil begynne å registrere skallutgang så snart du kjører kommandoen. Det vil vise deg en melding i terminalen, som vist på skjermdumpen nedenfor:

Som du kan se i utdataene ovenfor, har Asciinema begynt å spille inn en Asciicast som vil bli lagret i "/tmp" -mappen når innspillingen er ferdig. Alt du skriver eller kjører i terminalen når innspillingen har startet, vil bli tatt til fange og lagret i en ".Cast ”-fil. Innspillingen kan stoppes ved å trykke på nøkkelen eller ved å skrive "exit" -kommandoen.

Etter at du har stoppet den pågående innspillingen, blir du bedt om å lagre den på din lokale harddisk eller laste den opp på det offisielle nettstedet Asciinema. Du kan treffe tasten for å laste opp fanget Asciicast på nettet, eller du kan trykke på snarveien for tastaturet for å lagre den på lokal disk (som vist på skjermdumpen nedenfor):

Som standard lagrer Asciinema fanget utdata til "TMP" -mappen. For å lagre en asciicast på et tilpasset sted på en lokal lagringsdisk uten å laste den opp på nettet, leverer du en filsti til “Rec” -kommandoen. Her er en eksempelkommando:

$ Asciinema rec "$ Hjem/nedlastinger/fil.støpt "

For å manuelt laste opp en fanget Asciicast på Asciinema -nettstedet, kjør en kommando i følgende format (erstatt filbanen etter behov):

$ asciinema opplasting/full/sti/til/fil.støpe

For å legge til en ny innspilling til en eksisterende ASCIICAST, bruk “Append” -kommandoen i å følge formatet (en ny innspillingsøkt starter og utdataene vil bli lagt til levert ".støpt "fil):

$ Asciinema rec -Append/Full/Path/To/File.støpe

Når du har en “.Cast ”-fil fanget, du kan spille den tilbake ved hjelp av følgende kommando (erstatt filbanen etter behov):

$ asciinema spiller full/sti/til/fil.støpe

Her er en liten demo som viser asciinema asciicast i aksjon:

Legg merke til at dette er en nedskalert GIF -animasjon, den viser ikke fanget produksjon i sin fulle kvalitet i High Definition. Du må spille “.Cast ”-filen selv på Linux -distribusjonen din for å se den i full kvalitet, eller du må legge inn den fangede utdata på et nettsted og deretter spille den tilbake ved hjelp av Asciinema JavaScript Library. Du kan også se en asciicast i høy kvalitet etter å ha lastet den opp på Asciinema nettsted.

Her er en høy definisjon Asciicast -prøve som du kan se i en nettleser ved å besøke det offisielle nettstedet Asciinema.

For mer informasjon om Asciinema -kommandolinjeverktøyet, kjør følgende to kommandoer:

$ mann asciinema
$ Asciinema -hjelp

Du kan også bla gjennom offisiell dokumentasjon på nettet herfra.

Innbygging av ASCIICAST på din egen webside eller webapplikasjon

Hvis du bare vil dele en fanget økt på nettet og ikke har ditt eget nettsted eller webapplikasjon, er den beste metoden å laste den opp på nettet på offisiell ASCIINEMA -nettsted ved hjelp av kommandoene som er forklart ovenfor og deretter dele URL -koblingen med andre.

For å legge inn en Asciicast på ditt eget nettsted eller webapplikasjon, må du legge til Asciinema Player -skriptet i HTML -filen din ved å besøke siden der Asciicast er lastet opp på nettet. For eksempel, for å legge inn Asciinema -prøven som er lenket ovenfor, klikker du på "Del" -knappen på Asciicast -nettsiden for å få innebygd kode. Her er et skjermbilde som viser dette:

Hvis en veldig enkel HTML -fil inneholder følgende kode:

Dette er en prøve Asciicast.


Du vil se innebygd spiller på websiden din som dette:

Konklusjon

Asciinema gir en metode for å fange tekstbasert utgang i høy kvalitet. I motsetning til andre videoopptak og fangstmetoder, lagrer aciinema rå data fra en fanget økt i en tekstfil og spiller den tilbake bit for bit. Dette produserer skarp og tydelig tekst som om du har kjørt kommandoene og fått tekstutgangen på din egen maskinvare i sanntid.