Capturing and replaying console/terminal sessions with script and scriptreplay

Have you ever wondered how you can easily capture a console session on Linux (and probably most other Unix-like OSes) without the need for special video recording software?

Here's how: you can use the script(1) command (part of the bsdutils package).

  • Start the script command. Without parameters the sessions will be logged to a file called typescript. You can also supply a filename on the command line: script mysession.log.
  • Type whatever you want to record...
  • End the recording session with exit or CTRL-d.
  • You can now view the file with less -r mysession.log (it contains line feeds, escape sequences etc., so a simple text viewer will probably display garbage). You can even print it with lpr(1). Or simply display it on the terminal with cat mysession.log.

An even cooler feature is that you can replay a script with the correct timing information:

  • First you have to also record the timing information using the -t switch: script -t 2>mysession.timing mysession.log.
  • You can then replay the script: scriptreplay mysession.timing mysession.log.

See the script(1) and scriptreplay(1) manpages for more details.

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

http://shelr.tv/ uses script

http://shelr.tv/ uses script as backend but recording and sharing is much more easy.

ttyrec

Also a similar great tool is called ttyrec.
Its in almost every linux distribution.
Also check out the site www.playterm.org, it can read ttyrec-files to let users generate/embed online terminalplayers.

Terminal RDP & Citrix ICA Session Recorder

ObserveIT (http://www.observeit-sys.com) provides an enterprise scale Terminal & Citrix session recorder. It deliver searchable session recording according to any application access or any user activities within any recorded session