Monday, 11 November 2013

Record Terminal Session in Linux


Overview :
 ttyrec is a tty(terminal) recorder  in unix like operating system & recorded data can be played back with the help of ttyplay command.ttyrec is just a derivative of script command for recording timing information with microsecond accuracy as well. It can record emacs -nw, vi, lynx, or any programs running on tty.

Installation on Ubuntu :

# sudo apt-get install ttyrec

Installation on RHEL 6.X / CentOS 6.X / Fedora

First Download the ttyrec rpm package using wget command  and install using below mentioned yum command.
# wget ftp://ftp.pbone.net/mirror/ftp.turbolinux.com/pub/TurboLinux/stable/tested/Desktop/10/i586/ttyrec-1.0.6-1.i586.rpm
# yum localinstall ttyrec-1.0.6-1.i586.rpm


Now start Recording using ttyrec command :

Open the terminal type the below command and when you want to stop the recording type exit.
# ttyrec

When we run the above command recording of terminal session will start and when you type exit, recording will be stopped and a file name “ttyrecord”  will be created in the current directory.




Now Play the recorded sesssion using ttyplay command

# ttyplay ttyrecord

commonly used options in ttyplay :

  -s SPEED :  multiple the playing speed by SPEED (default is 1).
       -n   :  no wait mode.  Ignore the timing information in file.
       -p  :   peek another person's tty session.

We can also change the speed by using special keys like :

+ or f double the speed of playback.
- or s : halve the speed of playback.
0 :     set playback speed to 0, pausing playback.
1 :     set playback to speed 1.0 again.


Measuring the time of recorded data :

Using ttytime command we can determine the time of recorded data in seconds.
#  ttytime ttyrecord
14  ttyrecord