cmatrix :Une des commandes pour s'amuser dans un terminal Linux. Il transformera votre terminal en film hollywoodien "MATRIX" comme un bureau cool.
À propos du programme cmatrix :
Il est écrit par Chris Allegretta. La page Cmatrix se trouve ici. Ce programme est distribué via la GNU GPL et sa page Sourceforge est ici. Pour télécharger la dernière version, visitez la page Sourceforge.
Avez-vous vu le film hollywoodien « Matrix » ? Vous avez dû aimer ces moniteurs avec un code vert tombant. Cela ressemble à un bureau de hacker/codeur cool ! Après que le film soit allé au box-office, de nombreux économiseurs d'écran matriciels étaient sortis pour Windows. En voulez-vous un pour Linux ? Comme celui ci-dessous ?
Oui, c'est possible. Vous pouvez également avoir un tel bureau de type matrice dans un terminal Linux. En deux étapes très simples.
Étape 1
Installez le package cmatrix en utilisant YUM ou APT en fonction de votre distribution Linux.
Si vous n'avez pas de référentiel YUM configuré, vous pouvez télécharger un fichier autonome (vérifiez la page Sourceforge si ce lien est rompu). Suivez ensuite les commandes ci-dessous pour le configurer à partir du code source.
- Installer les packages :
gcc
,make
,autoconf
,automake
ncurses-devel
- Téléchargez le fichier mentionné ci-dessus, décompressez-le, décompressez-le et accédez au répertoire décompressécmatrix-1.2a
- Dans
cmatrix
répertoire exécuter les commandes ci-dessous.
# aclocal aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in' # autoconf # automake -a automake: warning: autoconf input should be named 'configure.ac', not 'configure.in' configure.in:3: warning: AM_INIT_AUTOMAKE: two- and three-arguments forms are deprecated. For more info, see: configure.in:3: http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_005fINIT_005fAUTOMAKE-invocation Makefile.am: installing './depcomp' automake: warning: autoconf input should be named 'configure.ac', not 'configure.in'
Ensuite, configurez et préparez l'installation.
# ./configure checking for a BSD-compatible install... /bin/install -c checking whether build environment is sane... yes /root/cmatrix-1.2a/missing: Unknown `--is-lightweight' option Try `/root/cmatrix-1.2a/missing --help' for more information configure: WARNING: 'missing' script is too old or missing checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking whether make sets $(MAKE)... (cached) yes checking for main in -lncurses... yes checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking fcntl.h usability... yes checking fcntl.h presence... yes checking for fcntl.h... yes checking sys/ioctl.h usability... yes checking sys/ioctl.h presence... yes checking for sys/ioctl.h... yes checking for unistd.h... (cached) yes checking termios.h usability... yes checking termios.h presence... yes checking for termios.h... yes checking termio.h usability... yes checking termio.h presence... yes checking for termio.h... yes checking return type of signal handlers... void checking for putenv... yes checking curses.h usability... yes checking curses.h presence... yes checking for curses.h... yes checking ncurses.h usability... yes checking ncurses.h presence... yes checking for ncurses.h... yes checking for tgetent in -lncurses... yes "Using ncurses as the termcap library" checking for use_default_colors in -lncurses... yes checking for resizeterm in -lncurses... yes checking for wresize in -lncurses... yes checking for consolechars... no checking for setfont... /bin/setfont checking for /usr/lib/kbd/consolefonts... yes checking for /usr/share/consolefonts... no checking for mkfontdir... no checking for /usr/lib/X11/fonts/misc... no checking for /usr/X11R6/lib/X11/fonts/misc... no configure: WARNING: *** You do not appear to have an X window fonts directory in the standard *** locations (/usr/lib/X11/fonts/misc or /usr/X11R6/lib/X11/fonts/misc). The *** mtx.pcf font will not be installed. This means you will probably not *** be able to use the mtx fonts in your x terminals, and hence be unable *** to use the -x command line switch. Sorry about that... checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating cmatrix.spec config.status: creating config.h config.status: executing depfiles commands
# make (CDPATH="${ZSH_VERSION+.}:" && cd . && autoheader) autoheader: WARNING: Using auxiliary files such as `acconfig.h', `config.h.bot' autoheader: WARNING: and `config.h.top', to define templates for `config.h.in' autoheader: WARNING: is deprecated and discouraged. autoheader: autoheader: WARNING: Using the third argument of `AC_DEFINE' and autoheader: WARNING: `AC_DEFINE_UNQUOTED' allows one to define a template without autoheader: WARNING: `acconfig.h': autoheader: autoheader: WARNING: AC_DEFINE([NEED_FUNC_MAIN], 1, autoheader: [Define if a function `main' is needed.]) autoheader: autoheader: WARNING: More sophisticated templates can also be produced, see the autoheader: WARNING: documentation. rm -f stamp-h1 touch config.h.in cd . && /bin/sh ./config.status config.h config.status: creating config.h make all-am make[1]: Entering directory `/root/cmatrix-1.2a' gcc -g -O2 -o cmatrix cmatrix.o -lncurses -lncurses make[1]: Leaving directory `/root/cmatrix-1.2a'
Installez-le enfin. et c'est tout.
# make install make[1]: Entering directory `/root/cmatrix-1.2a' /bin/mkdir -p '/usr/local/bin' /bin/install -c cmatrix '/usr/local/bin' Installing matrix fonts in /usr/lib/kbd/consolefonts... /bin/mkdir -p '/usr/local/share/man/man1' /bin/install -c -m 644 cmatrix.1 '/usr/local/share/man/man1' make[1]: Leaving directory `/root/cmatrix-1.2a'
Étape 2
Tapez cmatrix
matrice de commande et d'expérience ! Vous pouvez quitter l'écran matriciel à tout moment en appuyant sur ctlr+c sur le terminal. Vérifiez la commande cmatrix en action dans le GIF ci-dessus !
Conseil de lecteur :
Un de nos lecteurs, @Pranit Raje nous a envoyé ce one-liner qui a fait l'affaire. Ce n'est pas un code matriciel aussi exact que nous l'avons vu ci-dessus, mais oui, c'est prometteur. Essayez de vous amuser dans le terminal.
LC_ALL=C tr -c "[:digit:]" " " < /dev/urandom | dd cbs=$COLUMNS conv=unblock | GREP_COLOR="1;32" grep --color "[^ ]"