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, scriptreplay is 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 that scriptreplay is 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-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. both. together. iconic.
  • -t, --timing file โ€” file containing script's timing output. this option replaces the timingfile positional argument, so no double-dipping.
  • -T, --log-timing file โ€” this is an alias for -t, maintained for compatibility with script(1) command-line options. same energy, different name ๐ŸŽ€
  • -s, --typescript file โ€” deprecated alias of --log-out. it still works but likeโ€ฆ we don't stan.
  • -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 otherwise scriptreplay would overwrite the same line (rude of it). the other modes are never and always.
  • -d, --divisor number โ€” 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, --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 โ€” 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 (see script(1) option --logging-format for more details). otherwise? no summary for you ๐Ÿ™ˆ
  • -x, --stream type โ€” forces scriptreplay to print only the specified stream. the supported stream types are in, out, signal, and info. 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 ยฉ 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