Last updated on November 15, 2020 by Dan Nanni
Suppose you are a go to person among your friends and family when it comes to Linux related questions. Someone asked you how to install and configure a tool, and you wanted to show the procedures. How would you do that if he or she is not in front of you? There could be various ways (e.g., by documenting and emailing the procedures, or explaining verbally over the phone, etc), but probably the most clearcut solution would be to demonstrate it yourself. If the demonstration only requires a terminal, then the best way would be use terminal screencast or terminal session recorder.
In this tutorial, I am going to demonstrate how to record and replay a terminal session on Linux. If you want to record your GUI desktop activities, refer to this tutorial instead.
There are several online services (e.g.,
asciinema.org) which allow you to record and share your terminal sessions on the web. However, if you want privacy, or want to archive the recordings locally, I would recommend
TermRecord is an open-source tool written in Python, which records a terminal session into a standalone HTML file. Since the HTML-formatted output file is self-contained, anyone can replay the captured terminal session using a web browser, which is cross-platform.
TermRecord is available as a Python package, so you can install the package with
First, install pip on your Linux system. Then, install
TermRecord as follows.
$ sudo pip install TermRecord
Recording a terminal session with
TermRecord is easy. Simply run the command below to start recording.
$ TermRecord -o /path/to/output_html
For example, to save the current terminal session in
$ TermRecord -o /tmp/termrecord_session.html
Then any subsequent commands that are typed from the terminal will be saved to the output HTML file. The output file will also store timing information, so that the whole terminal session can be replayed in the same speed as you are typing.
If you want to stop the recording, simply type
exit and press
If you open up the HTML output on a web browser, you can play, pause or restart the stored session. You can also adjust the replay speed, i.e., speed up or slow down the session replay as you like.
Here is a sample terminal screencast generated by
Please note that this article is published by Xmodulo.com under a Creative Commons Attribution-ShareAlike 3.0 Unported License. If you would like to use the whole or any part of this article, you need to cite this web page at Xmodulo.com as the original source.