0x-cmatrix

Bon ça faisait un moment que j’avais envie de me pencher sur le code cmatrix, le célèbre programme de Chris Allegretta qui permet d’afficher la matrice dans un terminal. Depuis que j’ai découvert ce package, j’ai toujours eu envie d’adapter le code pour superviser des équipements ou des fichiers de log (allez, au hasard /var/log/snort/alert).

Aujourd’hui c’est chose faite ! Je me suis un peu penché sur la question et j’ai intégré au code d’origine une nouvelle fonctionnalité : la gestion d’un fichier de log ! Rien de très fou pour le moment, le programme vérifie régulièrement la taille du fichier de log et émet un signal lorsque celle-ci change.

cmatrix à la plage

cmatrix-clear

cmatrix à la boxe

cmatrix-underattack

 

Get The Good Stuff

Récupérez ces deux archives. La première est l’archive cmatrix originale. La seconde contient le fichier cmatrix.c modifié. Vous devez copier ce fichier dans le dossier cmatrix-1.2a avant de lancer la Troïka habituelle : configure -> make -> make install

Si vous avez une erreur de compilation type :

/root/cmatrix-1.2a/cmatrix.c:90: undefined reference to `wclear'
/root/cmatrix-1.2a/cmatrix.c:91: undefined reference to `wrefresh'
/root/cmatrix-1.2a/cmatrix.c:93: undefined reference to `endwin'
[...]

Il vous faut installer libncurses5-dev et libncursesw5-dev. Si l’erreur persiste essayez d’éditer le Makefile pour rajouter le flag -lncurses :

CFLAGS = -g -O2 -Wall -Wno-comment -lncurses

Ou carrément, compilez directement vos sources avec gcc, puis lancez make install normalement :

gcc -g -O2 -Wall -Wno-comment -o cmatrix cmatrix.o -ltermcap -lncurses
make install

Archives :