We explored several tools to record terminal and share them. Most of those use tools like ttyrec or script or follow the same principles. clif is a fresh tool that records console sessions as optimized gif files. It uses web technologies like JS to do the job.

clif depends on child_pty, term.js omggif and phantomjs. child_pty is used to spawn a pseudo terminal which is captured. The captured frames are sent to phantomjs headless browser to render using term.js and screenshot. The gif is created using omggif.

Features

Small GIFs

High quality (anti-aliased fonts)

Rendered with CSS/JS, customizable

Real-time parallel rendering

Frame aggregation and customizable FPS

Support for titles Terminal.app-style

Supports Linux and OSX

Installation

To install clif, run:

$ sudo npm install -g clif

Usage

To record a session as out.gif, run:

$ clif out.gif

Type exit to finish the recording.

Available options:

Syntax: clif [options] -h, --help output usage information -V, --version output the version number -c, --cols cols of the term [90] -r, --rows rows of the term [30] -s, --shell shell to use [/bin/bash] -f, --fps frames per second [8] -q, --quality frame quality 1-30 (1 = best|slowest) [5]

On GitHub: clif

Similar software

To install on Ubuntu:

$ sudo apt-get install byzanz