Operations 8 min read

Spice Up Your Linux Terminal: Fun Visual Tools to Impress and Entertain

This article introduces a collection of entertaining Linux terminal utilities—such as asciiview, oneko, cmatrix, pipe, sl, and ninvaders—provides installation commands, showcases their animated output, and even includes a custom Bash script, offering developers a playful break from routine operations work.

Open Source Linux
Open Source Linux
Open Source Linux
Spice Up Your Linux Terminal: Fun Visual Tools to Impress and Entertain

The article shares a collection of entertaining Linux terminal programs that can be installed with apt-get and displayed as animated GIFs, offering a light‑hearted way to break the monotony of daily operations work.

asciiview

After installing aview and imagemagick you can display an image (e.g., kobe.jpg) in colorful ASCII art.

sudo apt-get install aview imagemagick
asciiview kobe.jpg

Result shown in the accompanying GIF.

oneko

This program runs a small animated cat named "爱你" that chases the mouse cursor. sudo apt-get install ninvaders The animation is displayed in the GIF below.

cmatrix

Creates a "Matrix"‑style falling code rain effect in the terminal. sudo apt-get install cmatrix Animated result is shown in the GIF.

pipe

A custom Bash script that draws animated pipes as a terminal screensaver.

#!/bin/bash
# The author of the original script is unknown to me. The first entry I can
# find was posted at 2010-03-21 09:50:09 on Arch Linux Forums (doesn't mean the
# poster is the author at all):
#   Post your handy self made command line utilities (Page 37) / Programming & Scripting / Arch Linux Forums
# I, Yu-Jie Lin, made a few changes and additions:
#   -p, -t, -R, and -C
#   Screenshot: http://flic.kr/p/dRnLVj
#   Screencast: http://youtu.be/5XnGSFg_gTk
# And push the commits to Gist:
#   https://gist.github.com/4689307
# I, Devin Samarin, made a few changes and additions:
#   -r can be 0 to mean "no limit".
#   Reset cursor visibility after done.
#   Cleanup for those people who want to quit with ^C
#   Pushed the changes to https://gist.github.com/4725048
#   hole1: https://gist.githubusercontent.com/livibetter/4689307/raw/949e43fe2962c2c97c8b1d974ff93dd053d9bd37/pipes.sh
#   hole2: Fun On The Terminal Part 2
p=1
f=75 s=13 r=2000 t=0
w=$(tput cols) h=$(tput lines)
sets=(
    "┃┏ ┓┛━┓  ┗┃┛┗ ┏━"
    "│╭ ╮╯─╮  ╰│╯╰ ╭─"
    "│┌ ┐┘─┐  └│┘└ ┌─"
    "║╔ ╗╝═╗  ╚║╝╚ ╔═"
)
v="${sets[0]}"
RNDSTART=0
NOCOLOR=0
OPTIND=1
while getopts "p:t:f:s:r:RCh" arg; do
    case $arg in
        p) ((p=(OPTARG>0)?OPTARG:p));;
        t) ((OPTARG>=0 && OPTARG<${#sets[@]})) && v="${sets[OPTARG]}";;
        f) ((f=(OPTARG>19 && OPTARG<101)?OPTARG:f));;
        s) ((s=(OPTARG>4 && OPTARG<16 )?OPTARG:s));;
        r) ((r=(OPTARG>=0)?OPTARG:r));;
        R) RNDSTART=1;;
        C) NOCOLOR=1;;
        h) echo -e "Usage: $(basename $0) [OPTION]...
Animated pipes terminal screensaver.
 -p [1-]\tnumber of pipes (D=1).
 -t [0-$((${#sets[@]}-1))]\ttype of pipes (D=0).
 -f [20-100]\tframerate (D=75).
 -s [5-15]\tprobability of a straight fitting (D=13).
 -r LIMIT\treset after x characters, 0 if no limit (D=2000).
 -R \trandom starting point.
 -C \tno color.
 -h \thelp (this screen)."; exit 0;;
    esac
done
cleanup() {
    tput rmcup
    tput cnorm
    exit 0
}
trap cleanup SIGHUP SIGINT SIGTERM
for (( i=1; i<=p; i++ )); do
    c[i]=$((i%8)) n[i]=0 l[i]=0
    ((x[i]=RNDSTART==1?RANDOM*w/32768:w/2))
    ((y[i]=RNDSTART==1?RANDOM*h/32768:h/2))
 done
tput smcup
tput reset
tput civis
while ! read -t0.0$((1000/f)) -n1; do
    for (( i=1; i<=p; i++ )); do
        ((${l[i]}%2)) && ((x[i]+=-${l[i]}+2,1)) || ((y[i]+=${l[i]}-1))
        ((x[i]>w||x[i]<0||y[i]>h||y[i]<0)) && ((c[i]=RANDOM%8))
        ((x[i]=(x[i]+w)%w))
        ((y[i]=(y[i]+h)%h))
        ((n[i]=RANDOM%s-1))
        ((n[i]=(${n[i]}>1||${n[i]}==0)?${l[i]}:${l[i]}+${n[i]}))
        ((n[i]=(${n[i]}<0)?3:${n[i]}%4))
        tput cup ${y[i]} ${x[i]}
        [[ $NOCOLOR == 0 ]] && echo -ne "\033[1;3${c[i]}m"
        echo -n "${v:l[i]*4+n[i]:1}"
        l[i]=${n[i]}
    done
    ((r>0 && t*p>=r)) && tput reset && tput civis && t=0 || ((t++))
 done
cleanup

Running the script produces the animated pipe screensaver shown in the GIF.

sl

The classic "steam locomotive" animation, often used as a joke for mistyped ls commands. sudo apt-get install sl Result displayed in the GIF.

ninvaders

An ancient‑style Space Invaders game that can be used to impress friends. sudo apt-get install ninvaders The game runs in the terminal as shown in the GIF.

Overall, these lightweight utilities provide fun visual effects and simple games that can be quickly installed on any Debian‑based Linux system.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Linuxterminalfun utilities
Open Source Linux
Written by

Open Source Linux

Focused on sharing Linux/Unix content, covering fundamentals, system development, network programming, automation/operations, cloud computing, and related professional knowledge.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.