Unix and Linux network configuration. Multiple network interfaces. Bridged NICs. High-availability network configurations.


Reviews of latest Unix and Linux software. Helpful tips for application support admins. Automating application support.


Disk partitioning, filesystems, directories, and files. Volume management, logical volumes, HA filesystems. Backups and disaster recovery.


Distributed server monitoring. Server performance and capacity planning. Monitoring applications, network status and user activity.

Commands & Shells

Cool Unix shell commands and options. Command-line tools and application. Things every Unix sysadmin needs to know.

Home » Commands & Shells

Asciinema Notes

Submitted by on March 27, 2019 – 4:04 pm

Asciinema is an awesome tool for recording your console sessions. It’s great for documenting processes and, in general, showing people how shit works: one look is worth a thousand words, as they say. Unfortunately, I don’t use asciinema often enough to remember the syntax and so here we are.

I strongly believe that new things are rarely good but are always annoying. In time you will come to the same conclusion. I am still clinging to CentOS/RHEL 6 and, unfortunately, the features of asciinema I find most valuable are only available in version 2+, which requires Python 3. And so I had to jump through a few hoops to install it without screwing up the OS (just remember – yum uses Python and it’s kind’a important).

The “basic” steps are: update system, install the latest version of Python and PIP, install Asciinema:

# Upgrading your system is highly recommended but may not be required
yum update

# Uninstall current version of asciinema, if any
yum -y erase asciinema

# Install development tools
yum groupinstall -y development

# Install some additional tools
yum install -y zlib-dev openssl-devel sqlite-devel bzip2-devel xz-libs wget curl

# Get the latest version of Python
v="$(curl -s0 -k -q | grep -oP "(?<=\>)([0-9]{1}(.)?){1,}(?=\/\<)" | sort -V | tail -1)"
wget -q --no-check-certificate${v}/Python-${v}.tar.xz

# Uncompress
cd /var/tmp/ && xz -d Python-${v}.tar.xz
tar -xvf Python-${v}.tar
cd Python-${v}

# Install. And this will take a while...
./configure --prefix=/usr/local --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib"
make altinstall

# Link python3 to the latest 3.x version
/bin/mv -f /usr/bin/python3 /usr/bin/python3_old 2>/dev/null
/bin/mv -f /usr/local/bin/python3 /usr/local/bin/python3_old 2>/dev/null
ln -sf $(which python${v:0:3}) /usr/local/bin/python3
ln -sf $(which python${v:0:3}) /usr/bin/python3

# Install setuptools and pip
wget -O - | python3
python3 -m easy_install pip

# Install Asciinema
cd ~ && git clone
cd asciinema
python3 ./ install
asciinema --version

This is the price one pays for being set in one’s ways. Let’s get to asciinema now. When you record a video, you have an option of storing it locally (self-hosted option) or uploading it to the server. The latter is easier.

The first step is to create your account. Just head over to and create an account. Next, run asciinema auth. You will be give a url. Go there, log in with the account you just created. Then check email and click on the verification link. Fairly thorough and secure process.

Now, let’s make a test recording. The following command will start the recording session and, when you’re done and hit CTRL-D, it will upload the fruits of your labor to server.

asciinema rec --stdin --overwrite -t "$(hostname | awk -F. '{print $1}')_$(date +'%Y-%m-%d_%H%M%S')" -i 3 -y -q

Now head over to, log in, and your recordings should be there. You can click on “Share” and select “Embed the Player” code and paste it in your blog. And here it is.

Some additional URL parameters allow you to control appearance and playback. For example, here’s an image link to the same video as above, but using the solarized-dark theme and playing 2.5 times faster.

<a href="" target="_blank" rel="noopener"><img src=";theme=solarized-dark"></a>

Print Friendly, PDF & Email

Leave a Reply