Terminali sessioonide salvestus ja jagamine: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Line 176: Line 176:
==Viited==
==Viited==
https://asciinema.org
https://asciinema.org
https://discourse.asciinema.org/


https://github.com/asciinema/asciinema
https://github.com/asciinema/asciinema

Revision as of 12:36, 30 March 2021

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

Seadistamine

Arvuti võimalik siduda asciinema kontoga:

  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 asciinemat teises arvutis, saab sama ID'd kasutada, kui soovitakse salvestuses sama kasutaja alla üles laadida.


Kui sama ID'd kasutada, ka siis tuleks see käsk (asciinema auth) vähemalt üks kord käivitada. Siis lihtsalt avatakse juba olemasolev konto ehk siis sisuliselt sama ID'ga (access token) saab ligi.

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

Salvestuste teisendamine GIF-failiks

Alternatiivina, kui pole võimalust seadistada asciinema serverit ega kasutada avalikku serverit, siis on võimalik salvestusest luua GIF-fail. https://github.com/asciinema/asciicast2gif

Sätetefail

Asciinema hoiab sätetefailis ligipääsu ID'd ja kasutaja sätteid. Esmase asciinema käivituse puhul luuakse ligipääsu ID (access token) ning salvestatakse antud faili, juhul kui seda pole tehtud samas arvutis varem või varasemalt loodud ID sinna ise salvestatud. Kui ise varasemalt loodud ID sinna pandud, siis kasutatakse seda kuid käivitada on igal juhul vähemalt üks kord vaja arvuti sidumiseks olemasoleva kasutajaprofiiliga asciinema.org veebis. Üldjuhul sätetefaili asukoht on:

 $HOME/.config/asciinema/config

Seda asukohta saab muuta keskkonnamuutuja $ASCIINEMA_CONFIG_HOME abil.

Kui $XDG_CONFIG_HOME on määratud, siis asciinema kasutab $XDG_CONFIG_HOME/asciinema ja mitte $HOME/.config/asciinema

Ennem stdin lubamist tasub lugeda seda postitust.

Automaatselt loodud 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äiendavat teavet seadistamise kohta leiab aadressilt: 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://asciinema.org

https://discourse.asciinema.org/

https://github.com/asciinema/asciinema

https://discourse.asciinema.org/t/does-asciinema-record-the-passwords-i-type-during-recording-session/23

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

https://github.com/ibigbug/PowerSession - asciinema PowerShellile Windowsis

https://alternativeto.net/software/asciinema/ - alternatiivid