Operations 9 min read

Spice Up Your Linux Terminal with Fun ASCII Games and Visuals

This guide shows Linux system operators how to install and run a collection of entertaining terminal utilities—such as asciiview, oneko, cmatrix, a custom pipe screensaver, sl, and ninvaders—complete with commands, code snippets, and sample output images to brighten up long‑hour work sessions.

Liangxu Linux
Liangxu Linux
Liangxu Linux
Spice Up Your Linux Terminal with Fun ASCII Games and Visuals

For developers and sysadmins who spend many hours in the terminal, adding a bit of visual fun can break the monotony. Below are several lightweight Linux utilities that display ASCII art or simple animations, each with installation commands, usage examples, and screenshots of the results.

asciiview

Install the tool and its image‑processing dependency, then view an image as ASCII art.

sudo apt-get install aview imagemagick
asciiview kobe.jpg

Result:

oneko

Oneko displays a small animated cat that follows the mouse cursor. sudo apt-get install ninvaders Result:

cmatrix

cmatrix creates a "Matrix"‑style falling code effect in the terminal. sudo apt-get install cmatrix Result:

Custom pipe screensaver

A Bash script that draws animated pipes as a terminal screensaver. It supports options for pipe count, style, frame rate, and colors.

#!/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-] number of pipes (D=1).
  -t [0-$((${#sets[@]}-1))] type of pipes (D=0).
  -f [20-100] framerate (D=75).
  -s [5-15] probability of a straight fitting (D=13).
  -r LIMIT reset after x characters, 0 if no limit (D=2000).
  -R   random starting point.
  -C   no color.
  -h   help (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 a colorful animated pipe pattern, as shown in the screenshot below.

sl

The classic "steam locomotive" animation that runs when you mistype ls. sudo apt-get install sl Result:

ninvaders

A retro‑style Space Invaders clone that can be used to impress friends. sudo apt-get install ninvaders Result:

These utilities are harmless, easy to install, and provide a quick visual break during long coding sessions.

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.

Linuxshell scriptterminalascii-artfun utilities
Liangxu Linux
Written by

Liangxu Linux

Liangxu, a self‑taught IT professional now working as a Linux development engineer at a Fortune 500 multinational, shares extensive Linux knowledge—fundamentals, applications, tools, plus Git, databases, Raspberry Pi, etc. (Reply “Linux” to receive essential resources.)

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.