Skip to main content
Back to blog
· 5 min read

cmatrix: efecto Matrix en tu terminal

Guía de referencia de cmatrix: instalación en Debian/Raspberry Pi, opciones de personalización, colores, velocidad y ejemplos prácticos para mostrar el efecto lluvia de caracteres estilo Matrix en la terminal.

linux terminal sre

cmatrix es una herramienta de línea de comandos que muestra el efecto de “lluvia de caracteres” inspirado en la película The Matrix. Aunque es principalmente decorativa, resulta útil para probar la capacidad de renderizado de tu terminal, verificar que las fuentes se muestran correctamente o simplemente darle un toque visual a tu entorno de trabajo.

Instalación

Debian/Raspberry Pi

cmatrix está disponible en los repositorios oficiales de Debian y Raspberry Pi OS:

sudo apt update && sudo apt install cmatrix

Otros gestores de paquetes

# Homebrew (macOS/Linux)
brew install cmatrix

# Arch Linux
pacman -S cmatrix

# Fedora
dnf install cmatrix

# openSUSE
zypper install cmatrix

Verifica la instalación:

cmatrix -V

Uso básico

Ejecuta cmatrix sin argumentos para iniciar la animación con los valores por defecto:

cmatrix

Para salir de la animación, presiona q o Ctrl+C.

Opciones de personalización

Colores

Cambia el color de los caracteres con la opción -C:

# Verde (por defecto)
cmatrix -C green

# Rojo
cmatrix -C red

# Azul
cmatrix -C blue

# Cian
cmatrix -C cyan

# Amarillo
cmatrix -C yellow

# Magenta
cmatrix -C magenta

# Blanco
cmatrix -C white

Colores disponibles: green, red, blue, white, yellow, cyan, magenta.

Velocidad

Controla la velocidad de actualización de la animación:

# Modo asincrónico (velocidad variable, más realista)
cmatrix -a

# Activar modo negrita
cmatrix -b

# Negrita con caracteres alternados
cmatrix -B

La opción -u permite definir el retardo de actualización (valor por defecto: 4, rango: 0–9, donde 0 es el más rápido):

# Muy rápido
cmatrix -u 0

# Velocidad normal
cmatrix -u 4

# Muy lento
cmatrix -u 9

Caracteres de visualización

# Usar caracteres japoneses (modo katakana)
cmatrix -r

# Solo caracteres numéricos
cmatrix -l

Otras opciones

OpciónDescripción
-aModo asincrónico (actualización variable)
-bCaracteres en negrita
-BNegrita con caracteres aleatorios alternados
-C <color>Color de los caracteres
-fFuerza el modo de terminal Linux
-lModo de caracteres de Linux (solo números)
-oUsar valores antiguos de estilo de scroll
-rCaracteres de “rainbow” (colores arcoíris)
-sModo “screensaver” (sale con cualquier tecla)
-u <retardo>Retardo de actualización (0–9)
-xModo X Window
-VMuestra la versión
-hMuestra la ayuda

Combinaciones útiles

# Efecto Matrix clásico: verde, negrita, velocidad rápida
cmatrix -b -C green -u 2

# Screensaver: sale al presionar cualquier tecla
cmatrix -s -b

# Efecto lento con color cian
cmatrix -C cyan -u 8 -b

# Modo asincrónico con colores arcoíris
cmatrix -a -r

Uso como screensaver

Puedes configurar cmatrix como screensaver de terminal. Con la opción -s, la animación se detiene al presionar cualquier tecla:

cmatrix -s -b -C green

Para usarlo con un bloqueo de pantalla en consola, combínalo con vlock:

sudo apt install vlock
cmatrix -s && vlock

Buenas prácticas

  • Usa -s para screensaver — el modo screensaver permite salir con cualquier tecla sin tener que recordar q o Ctrl+C.
  • Ajusta la velocidad al hardware — en una Raspberry Pi u otro equipo con recursos limitados, usa un valor alto de -u (como 6 o 7) para reducir el consumo de CPU.
  • Combina -b con -C — la negrita mejora la legibilidad de los caracteres, especialmente con colores oscuros como blue o magenta.
  • Prueba tu terminalcmatrix es útil para verificar que tu emulador de terminal soporta colores y actualización rápida de pantalla.
  • No lo ejecutes en sesiones de producción — aunque es inofensivo, consume CPU innecesariamente. Úsalo solo en terminales interactivas locales.

Limitaciones

  • Solo decorativo — no tiene funcionalidad práctica más allá de la visualización. No procesa datos ni genera salida reutilizable.
  • Consume CPU — la animación continua puede consumir recursos significativos, especialmente a velocidades altas (-u 0) o en hardware limitado como Raspberry Pi Zero.
  • Soporte de colores — la opción -C depende de que tu terminal soporte colores ANSI. Si los colores no funcionan, verifica que la variable TERM esté configurada correctamente.
  • Sin soporte Unicode completo — los caracteres mostrados son ASCII estándar. El modo katakana (-r) puede no renderizarse correctamente en todas las fuentes.
  • Pantalla completacmatrix ocupa toda la terminal. No es posible ejecutarlo en una porción de la pantalla sin herramientas como tmux.

Desinstalación

Para eliminar cmatrix del sistema:

sudo apt remove cmatrix

Para eliminar también los archivos de configuración:

sudo apt purge cmatrix

Troubleshooting

La terminal no muestra colores

Verifica que tu terminal soporte colores:

echo $TERM
tput colors

Si tput colors devuelve un valor menor a 8, tu terminal no soporta colores. Cambia el valor de TERM:

export TERM=xterm-256color

Los caracteres se ven cortados o con artefactos

Esto suele ocurrir cuando la terminal no puede renderizar a la velocidad configurada. Reduce la velocidad:

cmatrix -u 7

También puede deberse a un emulador de terminal con buffer de renderizado pequeño. Prueba con otro emulador como alacritty o kitty.

cmatrix no responde a las teclas

Si presionar q no detiene la animación, usa Ctrl+C. Esto puede ocurrir cuando la terminal no transmite correctamente los eventos de teclado, por ejemplo, a través de conexiones SSH con configuración de terminal incorrecta.

Alto consumo de CPU en Raspberry Pi

Reduce la velocidad de actualización y evita el modo asincrónico:

cmatrix -u 8 -b

En una Raspberry Pi Zero o modelos antiguos, considera usar un valor de retardo de 7 o superior para mantener el consumo de CPU bajo control.

Error “unable to open display” o “Error opening terminal”

Asegúrate de que estás ejecutando cmatrix en una terminal interactiva, no en un script o pipe. Si estás conectado por SSH, verifica que la variable TERM esté configurada:

export TERM=xterm-256color
cmatrix