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

Output

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

Output

v8.10.0

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

apt install npm

To verify npm's version run

npm --version

Output

3.5.2

Installing terminalizer

To install terminalizer , run

npm install -g terminalizer

Sample Output

> [email protected] 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

Output

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
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

Output

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

Output

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:
/root/demo.yml
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

Winnie Ondara 6:41 am

About Winnie Ondara

I’m Winnie, a passionate Linux administrator and an open source enthusiast. I enjoy keeping myself up to date with the latest in the Linux world and trying out the latest tools, features and services in the FOSS community.

Author Archive Page

Have anything to say?

Your email address will not be published. Required fields are marked *

All comments are subject to moderation.