Terminalizer - Tool to Record Terminal Sessions on Linux


Have you ever thought about how you can record your Linux terminal? Terminalizer is a fancy and highly customizable CLI tool that records and renders terminal activity and can make an animated GIF image from it. It can work well on Ubuntu, CentOS, Arch Linux, SUSE, RedHat, Fedora, etc.  In this tutorial, we'll take you through how you can install and capture/record your Linux terminal.

Before installing terminalizer, ensure you have Node.js and npm installed.

Installing Node.js

To install Node.js, first, update your system. Here I am using Ubuntu 18.04 version.

apt update

Next, run the command below to install Node.js from the repositories

apt install node.js


The following NEW packages will be installed:
  libc-ares2 libhttp-parser2.7.1 libuv1 nodejs nodejs-doc
0 upgraded, 5 newly installed, 0 to remove and 490 not upgraded.
Need to get 5,671 kB of archives.
After this operation, 24.8 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y

Upon successful installation of node.js, you can verify the version of Node.js using the command as shown

nodejs --version



Finally, we'll install npm which is the package manager for Node.js

apt install npm

To verify npm's version run

npm --version



Installing terminalizer

To install terminalizer , run

npm install -g terminalizer

Sample Output

> node-pty-prebuilt@0.7.3 install /usr/local/lib/node_modules/terminalizer/node_modules/node-pty-prebuilt
> prebuild-install || node scripts/install.js

installation of terminalizer should work well with Node.js version 9 and below. If you are running a newer version and the installation fails, you may be required to install the development tools to build the C++ add-ons. To achieve this run,

apt install build-essential

To verify installation of development tools run

gcc -v


Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.3.0-16ubuntu3' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --with-as=/usr/bin/x86_64-linux-gnu-as --with-ld=/usr/bin/x86_64-linux-gnu-ld --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)
make -v


GNU Make 4.1
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Using Terminalizer

To get started with terminalizer , we'll first generate a demo file in the current directory

terminalizer record demo


The recording session is started
Press CTRL+D to exit and save the recording

At this point, run a few commands on your terminal and exit by pressing CTRL + D. This will save your recording as a YAML file, in this case, demo.yml

The recording data is saved into the file:
You can edit the file and even change the configurations.

To Play the recording, run

terminalizer play demo

This will play a recording displaying a history of the last few commands that you've just run

Read Also:

As already seen from the examples above, terminalizer is a handy tool to use to make a recording of your terminal. Feel free to give it a try and stay tuned for more of these informative articles!

Resource Reference:

Github - terminalizer

Leave a Comment