LinuxCommandLibrary

cmatrix

Display scrolling 'Matrix' style visual effect

TLDR

Enable [a]synchronous scrolling

$ cmatrix -a
copy

Change the text [C]olor (green by default)
$ cmatrix -C [red]
copy

Enable [r]ainbow mode
$ cmatrix -r
copy

Use a screen [u]pdate delay of 100 centiseconds (1 second)
$ cmatrix -u 100
copy

SYNOPSIS

cmatrix [OPTIONS]

PARAMETERS

-a
    Enable asynchronous scroll. This often provides a smoother animation.

-b
    Enable bold characters for some of the falling drops, adding visual variation.

-B
    Force all characters in the digital rain to be bold.

-f
    Force Linux mode, which uses an older font and rendering style. Useful for older terminals or specific aesthetic preferences.

-o
    Use the old-style scrolling, which might appear slower or less fluid compared to the default.

-x
    Use X-style scrolling, which is typically faster and smoother. This is often the default behavior.

-s
    Run in screensaver mode. cmatrix will automatically exit upon any keypress, making it suitable for a temporary display.

-L
    Force Linux charset, which may be necessary for proper character display on some Linux consoles if not automatically detected.

-l
    Display only lowercase letters in the digital rain, rather than the default mix of characters.

-u
    Enable UTF-8 support, allowing for a broader range of characters (e.g., various Katakana characters) to be displayed accurately.

-C
    Specify the display color for the digital rain. Available colors include: green (default), red, blue, white, yellow, cyan, magenta, and black (though black on black would be invisible).

-h
    Display a brief help message with command-line options and exit.

-V
    Display version information for cmatrix and exit.

DESCRIPTION

cmatrix is a lightweight terminal utility that recreates the distinctive "digital rain" visual effect popularized by The Matrix film series. It displays a continuous flow of falling characters, primarily numbers and Katakana characters, across the terminal screen, mimicking the film's iconic green-on-black code.

This command is often used for aesthetic purposes, as a screensaver, or simply to add a visually striking element to a command-line interface. It's a fun and nostalgic tribute that runs directly in the text console, providing an immersive experience for fans of the franchise or anyone looking for a unique terminal background. Users can customize various aspects of the display, including the color, character set, and scrolling speed, to personalize their digital rain.

CAVEATS

cmatrix is designed for terminal emulators and console environments. It will not run in a graphical window manager without a terminal application.
While generally lightweight, continuous animation can consume CPU cycles, especially on older systems or with certain terminal configurations.
The exact appearance of characters (e.g., Katakana) can depend on your terminal's font configuration and locale settings.
Exiting the command typically requires pressing Ctrl+C, unless the -s (screensaver) mode is enabled.

EXITING <I>CMATRIX</I>

By default, you can terminate a running cmatrix instance by pressing Ctrl+C.
If the -s (screensaver) option is used, cmatrix will automatically exit upon any single keypress, making it convenient for temporary visual effects or actual screensaver use.

PERFORMANCE AND CUSTOMIZATION

The smoothness of the animation can depend on your terminal emulator, system resources, and chosen options.
For a faster, X-style scroll, use the -x option (often default).
Experiment with different -C options and character sets (-l, -u) to personalize your digital rain experience.

HISTORY

cmatrix was created by Aaron C. Seigo, inspired by the iconic "digital rain" sequence from the 1999 film The Matrix. Its primary goal was to bring this distinctive visual effect to the Linux terminal and console environment. Over time, it has become a popular utility among Linux users for its aesthetic appeal and as a nostalgic tribute to the film, gaining further maintenance and development from the open-source community.

SEE ALSO

matrix, sl(1), asciiquarium

Copied to clipboard