(Last Updated On: April 29, 2019)

Well, you got this fancy command output from your terminal and want to make an animated image out of it?. Terminalizer is a command line tool that will help record your Linux terminal and generate animated gif images. In this article, we are going to learn how to install and use Terminalizer to generate animated gifs on Linux.

How to Install Terminalizer on Linux

To install Terminalizer, follow the following procedure.

Step 1. Install Node.js

Use our guide below to install on a Linux system. Choose to go with LTS or latest release.

How to install Node.js Versions in Linux

Step 2: Install build tools for Terminalizer

Terminalizer uses some C++ addons that require building. This needs to be installed before you can start installing and using Terminalizer.

For CentOS and other RHEL derivatives;

sudo yum install -y gcc-c++ make

For Ubuntu and other Debian derivatives;

sudo apt-get -y install build-essential

For Arch Linux / Manjaro:

sudo pacman -S gcc make cmake

You can confirm the versions of packages installed using gcc -v  and make -v

$ gcc -v
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-27ubuntu1~18.04' --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 --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-27ubuntu1~18.04) 

$ 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.

Step 3. Install Terminalizer on Linux

Once all dependencies have been installed, proceed to install Terminalizer on your Ubuntu / CentOS and Arch Linux system using npm package manager.

It is recommended to first install node-gyp using npm to avoid later issues.

$ npm install -g node-gyp
/home/jmutai/.nvm/versions/node/v10.15.3/bin/node-gyp -> /home/jmutai/.nvm/versions/node/v10.15.3/lib/node_modules/node-gyp/bin/node-gyp.js
+ [email protected]
added 100 packages from 67 contributors in 6.463s

Now install terminalizer:

$ npm install terminalizer

Using Terminalizer

To start recording your terminal sessions, just type:

$ terminalizer record <session-name>

Example:

$ terminalizer record  test-demo
defaultConfigPath
The recording session is started
Press CTRL+D to exit and save the recording

For nvm installation, terminalizer binary will be located in:

~/node_modules/.bin/terminalizer

The recording will start in the background and a file called test-demo.yml is created in the current directory.

You can open it using any editor to edit the configurations and the recorded frames. To replay your recording using the terminalizer play command.

$ terminalizer play test-demo

When done, you can render the recording as an animated gif using render command:

$ terminalizer render test-demo
Rendering frame 24/24 100% [==============================] 0.0s
Merging frame 24/24 100% [==============================] 0.0s

Successfully Rendered
The animated GIF image is saved into the file:
/home/jmutai/render1532867073991.gif

To generate a web player for a recording file

$ terminalizer generate <recordingFile>

To upload a recording file and get a link for an online player

$ terminalizer share <recordingFile>

The default config.yml file is stored at root directory the of the project. Execute the below command to copy it to your current directory.

Use any editor to edit the copied config.yml, then use the -c option to override the default one.

$ terminalizer config

This guide helped you in using Terminalizer to record your terminal sessions in Linux and generate gif images. You can also check:

Ten Best Terminal Emulators for Linux

How to Share your Linux Terminal in Web Browser with GoTTY

How To Install and Use Tmux on Linux

How to Install and Use lazygit – A simple terminal UI for git commands