Terminal based "The Matrix" like implementation


CMatrix is based on the screensaver from The Matrix website. It shows text flying in and out in a terminal like as seen in "The Matrix" movie. It can scroll lines all at the same rate or asynchronously and at a user-defined speed.

CMatrix by default operates in eye candy mode. It must be aborted with control-c (Ctrl+C) or by pressing q. If you wish for more of a screen saver effect, you must specify -s on the command line. For usage info, use cmatrix -h.

Build Status


You'll probably need a decent ncurses library to get this to work.

Building and installing cmatrix

To install cmatrix, use either of the following methods from within the cmatrix directory.

Using configure (recommended for most linux user)

autoreconf -i  # skip if using released tarball
make install

Using CMake

Here we also show an out-of-source build in the sub directory "build".

mkdir -p build
cd build
# to install to "/usr/local"
cmake ..
# or to install to "/usr"
make install

Running cmatrix

After you have installed cmatrix just run cmatrix to run cmatrix :)

To get the program to look most like the movie, use cmatrix -lba To get the program to look most like the Win/Mac screensaver, use cmatrix -ol

Valuable information

If you have any suggestions/flames/patches to send, please feel free to open issues and if possible solve them in PRs via Github.

Note: cmatrix is probably not particularly portable or efficient, but it wont hog too much CPU time

0 (0)
Article Rating (No Votes)
Rate this article
There are no attachments for this article.
There are no comments for this article. Be the first to post a comment.
Full Name
Email Address
Security Code Security Code
Related Articles RSS Feed
RHCS6: Debug and test multicast traffic between two hosts
Viewed 5097 times since Sun, Jun 3, 2018
LVM: Managing snapshots
Viewed 5791 times since Sat, Jun 2, 2018
Improve security with polyinstantiation
Viewed 11549 times since Fri, May 15, 2020
Tilix: Advanced Tiling Terminal Emulator for Power Users
Viewed 4638 times since Thu, Apr 18, 2019
How to Install and use Lsyncd on CentOS 7 / RHEL 7 rsync
Viewed 3037 times since Wed, Oct 31, 2018
Linux 16 Useful Bandwidth Monitoring Tools to Analyze Network Usage in Linux
Viewed 8269 times since Mon, Sep 21, 2020
RHEL: Route network packets to go out via the same interface they came in
Viewed 2019 times since Sat, Jun 2, 2018
RHEL: udev rules basics
Viewed 5867 times since Sat, Jun 2, 2018
Red Hat Enterprise Linux - Allow Root Login From a Specific IP Address Only
Viewed 1898 times since Wed, Oct 3, 2018
RHCS6: Show/Add GFS2/GFS journals
Viewed 11817 times since Sun, Jun 3, 2018