Ternimal - Display Animated Life to Your Terminal

Recently, we had an article on 10 lesser known linux fun on terminal shows some crazy outputs on your terminal. What about showing living forms in your terminal? In this article, I will present you "terninal" which brings life to your terminal.

What is ternimal?

Ternimal as you actually read (may be the combination of terminal + animal) is a program that draws an animated lifeform in the terminal using Unicode block symbols. It works in most terminal emulators and with most monospaced fonts. This official GitHub project is written by Philipp Emanuel Weidmann (p-e-w) under the terms of the GNU General Public License, version 3.

Ternimal can be considered to be used for fun and it doesn't require many resources in order to be run. It has no dependencies apart from the Rust Standard Library which must be a version >=1.20 . You can clone the project as below:

# git clone https://github.com/p-e-w/ternimal.git
Cloning into 'ternimal'...
remote: Counting objects: 18, done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 18 (delta 7), reused 18 (delta 7), pack-reused 0
Unpacking objects: 100% (18/18), done.
Checking connectivity... done.

You can check the content of the folder:

# ls ternimal/
README.md ternimal.rs

As we say before, we must install rustc in order to have a functional ternimal.

# curl https://sh.rustup.rs -sSf | sh
info: downloading installer

Welcome to Rust!

This will download and install the official compiler for the Rust programming

Now we can continue the ternimal process

# cd ternimal/ && rustc -O ternimal.rs

Use ternimal to simulate lifeform

Ternimal can be used through some parameters available in terminal.rs which can help you to manipulate it as your needs. You can simulate some lifeform through ternimal

Black hole

You can simulate a block hole in movement on your terminal as below:

# ./ternimal speed=10 length=100 segments=5 thickness=13 gradient=0.5:#000000,0.8:#ffffff,1:#000000

You can edit the parameter by using the value in in terminal.rs. This output is the combination of low segment counts, wide distance fields, and appropriately chosen gradients.


You can have another form as below

# ./ternimal length=2 segments=30 thickness=1,4,19,30


You can use waves to create a snake on your terminal as below

./ternimal length=100 segments=50 thickness=1,4,1,0 radius=6,12 gradient=0:#666600,0.5:#fefd30,1:#003300

You can try to edit the parameter to have another form as below

# ./ternimal length=200 segments=100 thickness=33,4,19,4

Hope you enjoyed this tool and let's know if you found any other similar tools. Have a good day and enjoy browsing other articles :-)

Leave a Comment