Most people with any sort of interest in computers have seen The Matrix. One of the most popular things from that movie is the scrolling Matrix code. It quickly became a screen saver on many different operating systems. cMatrix isn’t a screen saver, but it allows you to run the scrolling Matrix code from within your command line.
Unfortunately, cMatrix does not appear to be actively developed anymore. The last news update on the maintainer’s website is from March 31, 2002.
Luckily, the source code is still available from the maintainer’s website and can still be compiled on modern Linux distributions. In addition, pkgs.org hosts cMatrix RPM, DEB, and XZ packages for Fedora, Debian, Ubuntu, and Arch, and can be found at the link below.
RPM, DEB, and XZ Packages
If you want to get cMatrix installed quickly, installing it from the pkgs.org repository will be the easiest method of installation. These packages contain additional patches to properly install the mtx.pcf font on modern Linux distributions.
Compile from Source
The following compile process has been successfully tested on Fedora 17.
Install the following repository packages:
yum install gcc make autoconf automake ncurses-devel
Download and un-tar the source code:
wget https://www.asty.org/cmatrix/dist/cmatrix-1.2a.tar.gz
tar xvzf ~/cmatrix-1.2a.tar.gz
cd ~/cmatrix-1.2a
Generate aclocal.m4 man page:
aclocal
Generate configuration scripts:
autoconf
Generate Makefile.in for configure from Makefile.am:
automake -a
Configure, make, and make install the binary:
./configure
make
sudo make install
Jump to the Using cMatrix section below if you did not have any problems during the compile or installation process.
Potential Problems
If aclocal
, autoconf
, and automake -a
are not run before ./configure
the following errors may result:
./configure
warnings:
configure: warning:
*** No termcap lib available, consider getting the official ncurses
*** distribution from ftp://ftp.gnu.org/pub/gnu/ncurses if you get
*** errors compiling nano.
checking for use_default_colors in -l... (cached) no
make
errors:
cmatrix.o: In function `finish':
...
~/cmatrix-1.2a/cmatrix.c:602: undefined reference to `wattr_on'
~/cmatrix-1.2a/cmatrix.c:603: undefined reference to `stdscr'
~/cmatrix-1.2a/cmatrix.c:603: undefined reference to `waddch'
~/cmatrix-1.2a/cmatrix.c:605: undefined reference to `stdscr'
~/cmatrix-1.2a/cmatrix.c:605: undefined reference to `wattr_off'
~/cmatrix-1.2a/cmatrix.c:493: undefined reference to `LINES'
~/cmatrix-1.2a/cmatrix.c:509: undefined reference to `LINES'
~/cmatrix-1.2a/cmatrix.c:516: undefined reference to `LINES'
collect2: error: ld returned 1 exit status
make: *** [cmatrix] Error 1
Using cMatrix
To use cMatrix, run cmatrix
from your shell and show everybody how all you see is blond, brunette, redhead.