Terminali sessioonide salvestus ja jagamine

From EIK wiki

Sissejuhatus

Terminalis toimunu salvestamiseks ning jagamiseks on mitmeid võimalusi.

Sooviksin antud artiklis esile tuua asciinema projekti arendust, mis sai alguse ja inspiratsiooni "script" ja "scriptreplay" käskudest.

Asciinema rakendus võimaldab terminalis toimunu salvestada ning jagada asciinema.org lehe vahendusel, ehk jagades linki.

Paigaldamine

Asciinema on võimalik paigaldada erineval viisil, täpsemalt leiab informatsiooni võimalustest asciinema lehelt programmi paigalduse rubriigist.

Antud artiklis toon esile Linux Ubuntu paigalduse käsuread.

 sudo apt-add-repository ppa:zanchey/asciinema
 sudo apt-get update
 sudo apt-get install asciinema

Teiste opsüsteemide tarvis on paigaldusjuhised siin: https://asciinema.org/docs/installation

Kasutamine

Ekraanil toimuva salvestamiseks kasuta käsku:

 asciinema rec [failinimi]

Salvestuse lõpetamiseks vajuta CTRL-D või kasuta käsku:

 exit

Asciinema salvestuse lõppemisel salvestatakse 4 faili laienditega .js, .json, .css, .html. Faile hoitakse $TMPDIR kataloogis. Puudub võimalus seadistada asciinemat, et millisesse kataloogi soovid faile salvestada.

Salvestatud sessioonide taasesitluseks

- arvutis paiknevast failist:

 asciinema play  /teekond/kataloogi/failinimi.json

- internetist:

 asciinema play https//asciinema.org/a/failinimi.json
 asciinema play http//omaleht.ee/failinimi.json

Video üles laadimiseks:

 asciinema upload failinimi.json

Küsitakse, kas laadida üles video - vali y (yes)

Acsiinema org puhul laetakse üles üks fail laiendiga .json

Juhul, kui Teil on plaanis ekraanil toimunu salvestada ning hiljem soov üles laadida, siis saab kasutada käskude jada, mis alustab salvestamist, võimaldab vaadata videot peale salvestuse lõppu ning laeb faili üles:

 asciinema rec demo.json + asciinema play demo.json + asciinema upload demo.json 

Oma salvestuste kustutamiseks või muutmiseks peab ennast identifitseerima käsuga

 auth

Antud käsk kuvab veebi aadressi, mille kaudu saab muuta enda salvestsatud faile.

Kasutades asciinema-t teises arvutis, omistatakse kasutajale unikaalne tunnus, ning kui oled asccinema.org lehel sisse loginud, siis antud käsuga on võimalik siduda arvuti kasutaja asciinema kontoga:

  asciinema auth

Valikulised argumendid:

 -c käivitab määratud käsu asemel kestprogrammi (shell)
 -t täpsustab salvestatud faili pealkirja
 -y mitte küsida kinnitust
 -h abi
 -v versiooniteave

Asciinema videosid ei pea ilmtingimata laadima asciinema.org lehele. On võimalik ka seadistada oma leht antud otstarbeks.

Asciinema lehe kood on avalikult kättesaadav siin: https://github.com/asciinema/asciinema-server

Lisa oma ~/.config/asciinema/config konfiguratsioonifaili viide oma lehele:

 [api]
 url = http://asciinema.example.com

Alternatiivina, kui pole võimalust seadistada Asciinema serverit, on võimalik luua Asciinema salvestusest "GIF" fail. https://github.com/asciinema/asciicast2gif

Konfiguratsioonifail

Asciinema hoiab konfiguratsioonifailis API tunnust ja kasutaja seadeid. Esmase asciinema käivituse puhul genereeritakse API tunnus (UUID) ning salvestatakse antud faili, juhul kui seda pole tehtud samas arvutis varem. Üldjuhul faili asukoht on:

 $HOME/.config/asciinema/config

Automaatselt genereeritud fail näeb välja selliselt

 [api]
 token = <your-api-token-here>

Konfiguratsiooni failis on võimalik seadistada mitme erineva täiendava parameetriga, kõik võimalikud parametrid:

 [api]
 token = <your-api-token-here>
 url = https://asciinema.example.com
 [record]
 command = /bin/bash -l
 maxwait = 2
 yes = true
 quiet = true
 [play]
 maxwait = 1

Täiendava informatiooni leiab lingilt: https://asciinema.org/docs/config

Kokkuvõtte ja teised võimalused

Tegemist on kasuliku lahendusega ekraanil toimuva salvestamiseks ning jagamiseks ning ei salvesta sisestatavaid paroole sessiooni ajal. Tööriist on kasulik kui soovitakse teha kas õppevideosi, koostada juhendeid või jagada informatsiooni. Aciinema ei ole ainuvõimalus on ka teisi rakendusi sarnase funktsionaalsusega.

Näiteks:

 "ttyrec" - https://www.howtoforge.com/tutorial/how-to-record-your-terminal-session-on-linux/
 "bsdutils" - https://www.linuxnix.com/record-terminalshell-session-linux/
 "shelr" - https://www.techrepublic.com/blog/linux-and-open-source/record-and-share-your-terminal-session-with-shelrtv/
 "TermRecord" - http://xmodulo.com/record-replay-terminal-session-linux.html

jne..

Autor

Aleksandra Sepp, AK21, november 2017, artikli täiendamine, versioon 2.0

Amagi, jaanuar 2017, versioon 1.0

Viited

https://asciinema.org

https://github.com/asciinema/asciinema

https://anavarre.net/working-with-the-cli-you-should-probably-start-using-asciinema/

https://linuxconfig.org/record-and-replay-terminal-session-with-asciinema-on-linux