Tato kapitola je věnována programům pro záznam sezení jako jsou script a ttyrec. Posléze až vznike potřeba bych mohl popsat programy pro záznam událostí v GUI.
V Linuxu máme k dispozici dva nástroje, které slouží pro záznam událostí na terminálu/konzoli. Jsou to script z balíčku bsdutils a ttyrec z balíčku ttyrec. Starším a původním je program script.
Jak program script funguje? Spustíme ho a jako parametr zadáme jméno souboru do kterého chceme uložit záznam sezení. Po spuštění se program připojí k terminálu a spustí nám shell ve kterém normálně pracujeme. Shell se chová standardně, ostatně tak jak očekáváme. Po ukončení pomocí příkazu exit nebo Ctrl+d se program ukončí a nám zůstane záznam sezení. V tomto souboru je uloženo vše co se na obrazovce terminálu dělo, je to taková hardcopy. Vytvořený soubor můžeme používat jako protokol o tom co jsme dělali.
$
script zaznamScript started, file is zaznam
…$
exitScript done, file is zaznam
Pokud chceme více, musíme se záznamem sezení uložit i časové informace.
Použijeme-li přepínač -t
, posílá script tyto informace do standardího chybového výstupu.
Program tedy vytvoří dva soubory.
Soubor se záznamem toho co se dělo, a druhý soubor se záznamem jak dlouho to trvalo.
Vzniklé soubory pak můžeme přehrát programem scriptreplay.
Poslední parametr zadávaný scriptreplay znamená jakou rychlostí se má přehrávat.
Jednička je stejná rychlost jakou byl záznam pořízen, dvojka dvojnásobná, trojka trojnásobná, atd.
$
script -t 2> sezeni2 sezeni2.timing …Script started, file is sezeni2
$
exitScript done, file is sezeni2
$
scriptreplay sezeni2.timing sezeni2 2
Program zaznamenává dění na obrazovce v tom smyslu, že zaznamenává všechny znaky a řídící sekvence které jdou na terminál. Pokud tedy sezení používáme běžné programy, není problém. U celoobrazovkových programů, jako je například editor vi může nastat problém. Platí pravidlo, že sezení se musí přehrávat na stejném terminálu, myšleno co do vlastností a schopností, jako ten na kterém bylo zaznamenáno.
Alternativou k programům script a scriptreplay jsou programy ttyrec a ttyplay z balíčku ttyrec. Jejich chování a použití je obdobné. Hlavním rozdílem je to, že časování a události nejou uložené ve dvou samostatných souborech, nýbrž jen v jednom.
$
ttyrec sezeni3 …$
ttyplay sezeni3