cmatrix:uno dei comandi per divertirsi in un terminale Linux. Trasformerà il tuo terminale nel film di Hollywood "MATRIX" come un fantastico desktop.
Informazioni sul programma cmatrix:
È scritto da Chris Allegretta. La pagina di Cmatrix può essere trovata qui. Questo programma è distribuito tramite GNU GPL e la sua pagina Sourceforge è qui. Per scaricare l'ultima versione, visita la pagina di Sourceforge.
Hai visto il film di Hollywood "Matrix"? Devono esserti piaciuti quei monitor con il codice verde che cade. Sembra un fantastico desktop hacker/codificatore! Dopo che il film è andato al botteghino, molti screensaver di Matrix erano fuori per le finestre. Ne vuoi uno per Linux? Come quello qui sotto?
Sì, è possibile. Puoi avere un desktop simile a una matrice anche nel terminale Linux. In due semplicissimi passaggi.
Fase 1
Installa il pacchetto cmatrix usando YUM o APT a seconda della tua distribuzione Linux.
Se non hai configurato un repository YUM, puoi scaricare un file autonomo (controlla la pagina Sourceforge se questo collegamento è interrotto). Quindi segui i comandi seguenti per configurarlo dal codice sorgente.
- Installa pacchetti:
gcc
,make
,autoconf
,automake
ncurses-devel
- Scarica il file sopra menzionato, decomprimilo, decomprimilo e vai alla directory decompressa cmatrix-1.2a
- Entro
cmatrix
directory esegui sotto i comandi.
# 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'
Quindi configura e preparati per l'installazione.
# ./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'
Infine installalo. e basta.
# 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'
Fase 2
Digita cmatrix
matrice di comando ed esperienza! Puoi uscire dallo schermo della matrice in qualsiasi momento premendo ctlr+c sul terminale. Controlla il comando cmatrix in azione nella GIF sopra!
Suggerimento per il lettore:
Uno dei nostri lettori, @Pranit Raje, ci ha inviato questa battuta che ha funzionato. Non è il codice a matrice esatto come abbiamo visto sopra, ma sì, è promettente. Prova a divertirti nel terminale.
LC_ALL=C tr -c "[:digit:]" " " < /dev/urandom | dd cbs=$COLUMNS conv=unblock | GREP_COLOR="1;32" grep --color "[^ ]"