script und scriptreplay

Manchmal möchte man von seiner Kommandozeilensitzung einen Mitschnitt haben, und genau dafür gibt es unter GNU/Linux einen Befehl namens

script

Wenn Sie den Befehl ohne Parameter aufrufen, wird Ihre Sitzung in eine Datei mit dem Namen

typescript

geschrieben.


Natürlich können Sie auch einen eigenen Dateinamen beim Befehlsaufruf mitgeben:

script meine_eigene_sitzung.log

Tippen Sie nun, was immer Sie aufgezeichnet haben wollen. Wenn Sie fertig sind, geben Sie


exit

ein, oder verwenden Sie die Tastenkombination


STRG+d

Die eben erstellte Sitzung können Sie sich jetzt schon einmal ansehen, mit


more meine_eigene_sitzung.log

'more' ist ein Seitenanzeigeprogramm, das Steuerzeichen weglässt. Zum Vergleich - Rufen Sie die Datei einmal mit


less meine_eigene_sitzung.log

auf. Wie Sie sehen, sind die Steuerzeichen [Escape-Sequenzen] enthalten. Besonders leserlich ist das nicht.


Aber jetzt kommt erst der beste Teil. Mit dem Befehl

scriptreplay

können Sie das Aufgezeichnete, wie mit einem Videorekorder abspielen lassen. Was Sie hierfür lediglich zusätzlich benötigen, ist eine Datei, in der die Zeitinformationen gespeichert sind!


Das machen Sie jetzt folgendermaßen. Geben Sie diese Zeile ein:
[Keine Bange! Die erste Datei 'meine_eigene_sitzung.log' wird hierbei natürlich überschrieben, aber das macht ja nichts, wir spielen ja nur.]

script -t 2>meine_eigene_sitzung.zeit meine_eigene_sitzung.log

Tippen Sie wieder ein paar Befehle ein, und schließen die Aufzeichnung mit

exit

beziehungsweise mit

STRG+d

ab.


Jetzt wollen wir uns zurücklehnen, und uns das Ergebnis ansehen.

scriptreplay meine_eigene_sitzung.zeit meine_eigene_sitzung.log

Voila!

Jetzt ist nur noch eines wichtig. Sie sollten die richtige Reihenfolge beim Befehlsaufruf beachten! Wenn Sie nämlich

scriptreplay meine_eigene_sitzung.log meine_eigene_sitzung.zeit

eingeben, werden Sie unbarmherzig angemeckert mit:

scriptreplay: timings file meine_eigene_sitzung.log: 0: unexpected format

Also: erst die Zeitdatei, dann die Scriptdatei.