Terminali sessioonide salvestus ja jagamine
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. Lisaks on võimalik rakendust ka oma serverisse paigaldada ja selle kaudu salvestusi suuremale hulgale huvilistele näidata.
Paigaldamine
Asciinema on võimalik paigaldada erineval viisil, täpsemalt leiab informatsiooni võimalustest asciinema lehelt programmi paigalduse rubriigist.
Ubuntu
Ubuntu Linux 18.10 ja vanemates versioonides vajalik eraldi varamu kuid tegelikult juba alates Ubuntu 16.04 LTS'ist on asciinema Universe'i varamus olemas.
Siin ka väike video asciinema tarkvarapaketi otsimisest, paigaldamisest, juhiste vaatamisest.
apt search asciinema apt show asciinema sudo apt install asciinema asciinema -h man asciinema
Teiste operatsioonisüsteemide tarvis on paigaldusjuhised siin: https://asciinema.org/docs/installation
Kasutamine
Juhised leiab asciinema kodulehelt.
Ekraanil toimuva salvestamiseks kasutada käsku:
asciinema rec [failinimi]
Salvestuse lõpetamiseks vajuta CTRL-D või kasuta käsku:
exit
Salvestamise käivitamisel määratakse salvestuse asukoht arvutis.
Salvestatud sessioonide taasesitluseks
- arvutis paiknevast failist:
asciinema play /teekond/kataloogi/failinimi.cast
- internetist:
asciinema play https://asciinema.org/a/faili-id
Video üleslaadimiseks:
asciinema upload failinimi.cast
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.cast + asciinema play demo.cast + asciinema upload demo.cast
Oma salvestuste kustutamiseks või muutmiseks peab ennast tuvastama käsuga
asciinema auth
Antud käsk kuvab veebiaadressi kujul https://asciinema.org/connect/install-id, mille kaudu saab muuta enda salvestatud faile. Lisaks võimalik seadistada kasutaja koos kasutajanime, e-postiga mille aktiveerimiseks saadetakse e-postiga link. asciinema paigalduse ID asub failis $HOME/.config/asciinema/install-id ja seda ID'd kasutataksegi arvuti sidumisel veebikontoga.
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
man asciinema (põhjalikum juhend)
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 sätetefaili 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 server URL, default: https://asciinema.org ; If you run your own instance of asciinema-server then set its address here ; It can also be overriden by setting ASCIINEMA_API_URL environment variable ;url = https://asciinema.example.com
Sätetefailis on võimalik seadistada täiendavalt:
[record]
; Command to record, default: $SHELL command = /bin/bash -l
; Enable stdin (keyboard) recording, default: no stdin = yes
; List of environment variables to capture, default: SHELL,TERM env = SHELL,TERM,USER
; Limit recorded terminal inactivity to max n seconds, default: off idle_time_limit = 3
; Answer "yes" to all interactive prompts, default: no yes = true
; Be quiet, suppress all notices/warnings, default: no quiet = true
[play]
; Playback speed (can be fractional), default: 1 speed = 2
; Limit replayed terminal inactivity to max n seconds, default: off ;idle_time_limit = 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..
Autorid
Edmund Laugasson, märts 2021, artikli kaasajastamine
Aleksandra Sepp, AK21, november 2017, artikli täiendamine, versioon 2.0
Amagi, jaanuar 2017, versioon 1.0
Viited
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