SCRIPTREPLAY(1)
๐ SCRIPTREPLAY(1) โ the scriptreplay girlies' guide ๐
okay so bestie, this is the page for scriptreplay, living in the User Commands section of the manual. yes it's a whole vibe, and yes i'm about to explain all of it, no skips ๐ซถ
โจ NAME โจ
scriptreplay โ play back typescripts, using timing information
๐ธ SYNOPSIS ๐ธ
scriptreplay [options] timingfile [typescript [divisor]]
๐ฆ DESCRIPTION ๐ฆ
So. This program replays a typescript, and it uses timing information to make sure the output happens in the exact same rhythm as it originally appeared when the script was recorded. like, same beat, same tempo, same everything ๐
The replay simply displays the information again โ the programs that were run when the typescript was being recorded are not run again. it's giving reruns, not a reboot, yk?
And because it's literally just displaying the same info,scriptreplayis only guaranteed to work properly if you run it 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 thatscriptreplayis sending its output to. so like, mismatch = chaos, be warned ๐ญ
The timing information is what script(1) outputs to the file specified by --log-timing.
By default, the typescript to display is assumed to be named typescript, but other filenames may be specified โ either as the second parameter, or with option --log-out.
If the third parameter or --divisor is specified, it's 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. math but make it โจdramaโจ
During the replay, you can interactively speed up, slow down, pause or step through the playback using the Up, Down, Space and Right keys. main character control panel fr fr ๐
โจ OPTIONS โจ
-I,--log-infile โ file containingscript's terminal input.-O,--log-outfile โ file containingscript's terminal output.-B,--log-iofile โ file containingscript's terminal output and input. both. together. iconic.-t,--timingfile โ file containingscript's timing output. this option replaces thetimingfilepositional argument, so no double-dipping.-T,--log-timingfile โ this is an alias for-t, maintained for compatibility withscript(1)command-line options. same energy, different name ๐-s,--typescriptfile โ deprecated alias of--log-out. it still works but likeโฆ we don't stan.-c,--cr-modemode โ specifies how to handle the CR (carriage return,0x0D) character from log files. the default mode isauto, in which case CR is replaced with a line break for the stdin log, because otherwisescriptreplaywould overwrite the same line (rude of it). the other modes areneverandalways.-d,--divisornumber โ speed up the replay by displaying this many times faster. 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, no cap.-m,--maxdelaynumber โ 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 โ so if your recording had a lil nap in it, you can cap that ๐คโก๏ธโก--summaryโ display details about the session recorded in the specified timing file and exit. heads up: the session must have been recorded using the advanced format (seescript(1)option--logging-formatfor more details). otherwise? no summary for you ๐-x,--streamtype โ forcesscriptreplayto 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. pick your fighter.-h,--helpโ display help text and exit.-V,--versionโ display version and exit.
๐ EXAMPLES ๐
okay here's the whole arc, start to finish:
% 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
see how it comes back around?? the way that scriptreplay just picks up right where script left offโฆ obsessed ๐ญ๐
๐ 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. one key, two moods.
- 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. skipping the wait, periodt โญ๏ธ
๐ AUTHORS ๐
The original scriptreplay program was written by Joey Hess <joey@kitenet.net>. The program was re-written in C by James Youngman <jay@gnu.org> and Karel Zak <kzak@redhat.com>. legends only, honestly ๐ซถ
๐ COPYRIGHT ๐
Copyright ยฉ 2008 James Youngman
Copyright ยฉ 2008-2019 Karel Zak
Copyright ยฉ 2024 Jonathan Ketchker
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. (translation: it's free, but if it breaks, that's on you bestie ๐)
Released under the GNU General Public License version 2 or later.
๐ SEE ALSO ๐
script(1), scriptlive(1) โ go read those too, they're part of the lore ๐ง
๐ REPORTING BUGS ๐
For bug reports, use the issue tracker <https://github.com/util-linux/util-linux/issues>. found a bug? tell the devs, don't suffer in silence ๐
โญ AVAILABILITY โญ
The scriptreplay command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>. go get it, it's free, it's yours ๐ธ
okay that's the whole page bestie!! this one shipped as part of util-linux 2.42.4, dated 2026-09-21 โ remember the version and the date, iykyk ๐ โจ bye ily ๐ซถ
๐ฆ where this page comes from
- arch rolling: util-linux 2.42.4-1 ยท BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND ISC AND LGPL-2.1-or-later AND LicenseRef-PublicDomain
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms