scriptreplay1
Play back typescripts, using timing information
Usage
scriptreplay [options]
timingfile
[typescript
[divisor]]
Overview
This program replays a typescript, using timing information to ensure that output happens in the same rhythm as it originally appeared when the script was recorded.
The replay simply displays the information again; the programs that were run when the typescript was being recorded are not run again. Since the same information is simply being displayed, scriptreplay is only guaranteed to work properly if run on the same type of terminal the typescript was recorded on. Otherwise, any escape characters in the typescript may be interpreted differently by the terminal to which scriptreplay is sending its output.
The timing information is what script(1) outputs to file specified by --log-timing.
By default, the typescript to display is assumed to be named typescript, but other filenames may be specified, as the second parameter or with option --log-out.
If the third parameter or --divisor is specified, it is used as a speed-up multiplier. For example, a speed-up of 2 makes scriptreplay go twice as fast, and a speed-down of 0.1 makes it go ten times slower than the original session.
During the replay, you can interactively speed up, slow down, pause or step through the playback using the Up, Down, Space and Right keys.
Options
-
-I, --log-in file -
File containing
script's terminal input.
-
-O, --log-out file -
File containing
script's terminal output.
-
-B, --log-io file -
File containing
script's terminal output and input.
-
-t, --timing file -
File containing
script's timing output. This option replaces the timingfile positional argument.
-
-T, --log-timing file -
This is an alias for
-t, maintained for compatibility with script(1) command-line options.
-
-s, --typescript file -
Deprecated alias of
--log-out.
-
-c, --cr-mode mode -
Specifies how to handle the CR (carriage return, 0x0D) character from log files. The default mode is
auto, in which case CR is replaced with a line break for the stdin log, because otherwisescriptreplaywould overwrite the same line. The other modes areneverandalways.
-
-d, --divisor number -
Speed up the replay displaying this number of times. The argument is a floating-point number. It’s called divisor because it divides the timings by this factor. This option overrides old-style arguments.
-
-m, --maxdelay number -
Set the maximum delay between updates to number of seconds. The argument is a floating-point number. This can be used to avoid long pauses in the typescript replay.
-
--summary -
Display details about the session recorded in the specified timing file and exit. The session must have been recorded using the
advancedformat (see script(1) option--logging-formatfor more details).
-
-x, --stream type -
Forces
scriptreplayto print only the specified stream. The supported stream types arein,out,signal, andinfo. This option is recommended for multi-stream logs (created with--log-io) in order to print only the desired data.
-
-h, --help -
Display help text and exit.
-
-V, --version -
Display version and exit.
Examples
% script --log-timing file.tm --log-out script.out Script started, file is script.out % ls <etc, etc> % exit Script done, file is script.out % scriptreplay --log-timing file.tm --log-out script.out
Key bindings
The following keys control the playback of the script:
• Space: Toggles pause and unpause. Press this key to pause the playback, and press it again to resume.
• Up Arrow: Increases the playback speed. Each press of this key will make the script replay faster by x0.1.
• Down Arrow: Decreases the playback speed. Each press of this key will slow down the script replay by x0.1.
• Right Arrow: Advances the playback by one step. Each press of this key will immediately display the current step instead of waiting its specified delay.
Releases
12 releases since Debian 3.1 (Sarge); the text changed 10 times.
--cr-mode since Debian 11 (Bullseye);
--divisor since Debian 7 (Wheezy);
--help since Debian 7 (Wheezy);
--log-in since Debian 11 (Bullseye);
--log-io since Debian 11 (Bullseye);
--log-out since Debian 11 (Bullseye);
--log-timing since Debian 11 (Bullseye);
--maxdelay since Debian 8 (Jessie);
--stream since Debian 11 (Bullseye);
--summary since Debian 11 (Bullseye);
--timing since Debian 7 (Wheezy);
--typescript since Debian 7 (Wheezy);
--version since Debian 7 (Wheezy);
-B since Debian 11 (Bullseye);
-I since Debian 11 (Bullseye);
-O since Debian 11 (Bullseye);
-T since Debian 11 (Bullseye);
-V since Debian 7 (Wheezy);
-c since Debian 11 (Bullseye);
-d since Debian 7 (Wheezy);
-h since Debian 7 (Wheezy);
-m since Debian 8 (Jessie);
-s since Debian 7 (Wheezy);
-t since Debian 7 (Wheezy);
-x since Debian 11 (Bullseye).