Linux è uno dei sistemi operativi più utilizzati, soprattutto in ambito server, da sistemisti e sviluppatori. Molti trovano questi lavori un po' noiosi e ripetitivi, oltre che spesso molto competitivi. Eppure, ci sono molti modi per stupire i nostri colleghi e, al tempo stesso, farci due risate nei momenti di relax. E chi pensa che per tutto questo sia necessario ricorrere alle interfacce grafiche basate sui vari X11, Mir o Wayland, in realtà si sbaglia: anche il semplice terminale può spesso rivelare sorprese, talvolta semplicemente divertenti, altre addirittura anche utili.
In questo articolo vedremo 10 comandi per Linux non molto conosciuti, ma che possono rivelarsi al tempo stesso divertenti ed utili. Nel seguito faremo riferimento ad Ubuntu, per due motivi: il primo è che si tratta di una delle distribuzioni Linux più diffuse; il secondo è che possiamo utilizzare la Bash di Ubuntu anche su Windows (come spiegato in questa guida), sfruttando quindi tutto ciò che verrà presentato nel seguito anche sul sistema operativo di Microsoft.
Browser sul terminale
Esistono diverse opzioni per navigare su Internet usando il terminale. Molti conosceranno wget o curl, entrambi comandi che permettono di scaricare un file tramite HTTP. Ci sono anche, però, dei veri e proprio browser che possiamo utilizzare: tra questi, citiamo ad esempio Lynx o ELinks. Entrambi, tuttavia, consentono di accedere ad un sito Internet, magari dotato di stili CSS, animazioni, video ed altri abbellimenti vari, mostrandone solo i contenuti testuali. Ciò penalizza non poco l'esperienza utente, come si può intuire dal seguente screenshot di Lynx:
Si noti che, per ottenerlo, è stato sufficiente installare Lynx, ed eseguirlo:
sudo apt-get install lynx
lynx https://it.wikipedia.org
Eppure, esiste una soluzione ancora migliore, che cerca di superare il gap tra un vero browser visuale, e le limitazioni intrinseche del terminale: si tratta di Browsh ("parola macedonia" che unisce l'inizio di browser con la fine di brush, ovvero "pennello" in inglese). A differenza dei tool citati in precedenza, Browsh permette di mostrare immagini, effetti di animazione e video, ricorrendo alla rappresentazione ASCII ed ai colori (se supportati dal terminale) per riprodurre il più possibile l'esperienza utente di un comune browser desktop.
Browsh non è disponibile di default sui repository di Ubuntu, ma tutte le release per le varie piattaforme sono reperibili tramite il sito ufficiale, nonché disponibili su un'apposita pagina di GitHub. Prima di installarlo, ricordiamoci solo di verificare che anche Fiefox sia installato (versione 57 o successiva), dal momento che esso rappresenta una vera e propria dipendenza per Browsh. Dunque possiamo procedere con l'installazione come segue:
wget https://github.com/browsh-org/browsh/releases/download/v1.5.0/browsh_1.5.0_linux_amd64.deb
sudo apt-get install firefox
sudo dpkg -i browsh_*.deb
Non resta infine che eseguire Browsh:
browsh
Espeak
Cambiando genere di tool, un'altra interessante opportunità è offerta da Espeak. Si tratta in questo caso di un sintetizzatore vocale, che possiamo usare per far "parlare" il nostro PC, semplicemente passando come argomento una parola o una frase. Espeak nasce come strumento per favorire l'accessibilità dei contenuti anche agli ipovedenti, ed è infatti integrato in un gran numero di applicazioni. Ma ovviamente possiamo usarlo anche per programmare qualche scherzo (magari in combinazione con una webcam e sfruttando il comando motion), o semplicemente per divertirci un po'.
Su Ubuntu, possiamo installare Espeak tramite apt:
sudo apt-get install espeak
Utilizzando il comando man espeak
, possiamo trovare tutte le informazioni di cui abbiamo bisogno in merito al suo funzionamento.
funny-manpages
Soffermiamoci ora su man
, il comando che ci permette di visualizzare le pagine di manuale della maggior parte dei comandi disponibili sulla nostra distribuzione Linux. Alcuni sviluppatori hanno infatti pensato bene di sbizzarrirsi anche su questo. Anziché utilizzare le classiche pagine, perché non renderne alcune un po' più bizzarre?
Per mettere in opera questa idea, è sufficiente ancora una volta ricorrete ad apt, installando il pacchetto funny-manpages
:
sudo apt-get install funny-manpages
Dopo l'installazione, potremo visualizzare delle divertenti pagine di manuale, scegliendo tra una di queste opzioni:
baby
celibacy
condom
date
echo
flame
flog
gong
grope, egrope, fgrope
party
rescrog
rm
rtfm
tm
uubp
xkill
xlart
sex
strfry
Unica nota: alcune di queste pagine contengono contenuti non adatti ai minori, dunque è bene utilizzare questo comando con la dovuta attenzione e parsimonia.
The Fuck
Nonostante il nome di questo tool possa farlo sembra banale e utile solo per farsi due risate, si tratta in realtà di una utility molto comoda in alcuni casi. Il comando fuck
, infatti, può essere utilizzato subito dopo avere erroneamente provato ad eseguire un qualunque comando erroneamente mal digitato: fuck
riconoscerà automaticamente il comando più plausibile, applicherà la correzione, e la eseguirà. In questo modo, eviteremo il dover ricopiare stringhe di testo potenzialmente anche molto lunghe (si pensi, ad esempio, ad un errore in un comando di conversione di file, come quelli basati su ffmpeg o ImageMagick).
Ad esempio, supponiamo di volere installare il precedentemente citato browser ELinks. Immaginiamo di tentare l'installazione digitando quanto segue:
sudo atp-get install elinks
Il terminale ci restituirà un messaggio di errore, dovuto all'errore di battitura "atp". Se abbiamo installato il comando fuck
, sarà sufficiente eseguirlo per far sì che il terminale esegua automaticamente l'operazione corretta.
Tutto ciò è riassunto dall'immagine seguente:
Per installare The Fuck, è sufficiente utilizzare apt per l'installazione delle dipendenze, quindi il package manager di Python, ovvero pip, per l'installazione del tool vero e proprio:
sudo apt update
sudo apt install python3-dev python3-pip python3-setuptools
sudo pip3 install thefuck
Star Wars in ASCII con Telnet
Quello che vedremo adesso, invece, non è un comando nuovo, bensì un server Telnet con cui comunicare, che di fatto ci permette di guardare una sorta di "remake" dell'episodio IV di Star Wars... in formato ASCII. Ebbene sì, si tratta di un vero e proprio film in streaming codificato in forma di caratteri ASCII, che viaggia su Telnet. Come guardarlo? Nulla di più semplice. Innanzitutto assicuriamoci di avere installato il comando telnet
:
sudo apt-get install telnet
Quindi, utilizziamolo per accedere ad un'URL ben precisa:
telnet towel.blinkenlights.nl
Questo interessante tool (decisamente orientato verso l'intrattenimento) è stato sviluppato da Simon Jansen, originariamente in forma di applet Java, ma poi trasformato in server Telnet. È possibile visionare questo progetto anche sul browser, alla pagina dedicata.
Il seguente video mostra invece una prima parte del "film", acceduta tramite Telnet su Windows:
https://www.youtube.com/watch?v=laU65FC2ySA
Matrix sul terminale
Rimanendo sempre nel contesto dei film che hanno fatto la storia del cinema, e parlando di informatica e terminale, non si può non pensare a Matrix. E come non possiamo evitare di pensarci noi, allo stesso modo alcuni sviluppatori non hanno potuto fare a meno di realizzare un apposito tool, cmatrix
, che ha lo scopo di trasformare il nostro terminale in una serie di stringhe verticali animate, proprio come quelle tipiche di Matrix.
Possiamo installare anche questo tool, proprio come i precedenti, mediante apt:
sudo apt-get install cmatrix
Per eseguirlo:
cmatrix
Trasformare qualsiasi stringa in immagini ASCII
La ASCII art è quell'arte che consente di trasformare qualsiasi immagine in semplice testo, utilizzando solo caratteri testuali. Un esempio di ASCII art lo abbiamo visto poc'anzi, menzionando il progetto di Star Wars via Telnet. Sebbene realizzare immagini in ASCII non sia affatto semplice (soprattutto se particolarmente complesse), esistono alcuni tool che facilitano questa operazione. Uno di questi è toilet, un semplice comando che trasforma una qualsiasi stringa di testo in formato ASCII. Può essere installato come segue:
sudo apt-get install toilet
Una volta installato, è sufficiente passare la stringa come unico argomento, per ottenere in output il risultato atteso. Ecco un esempio:
toilet HTML.it
Il risultato è mostrato nella figura seguente:
Cowsay e Fortune
Sempre rimanendo in tema di ASCII art, potremmo pensare di abbellire qualche semplice script con alcune simpatiche vignette, da mostrare ad esempio in caso di errore. Probabilmente gli sviluppatori del comando cowsay devono aver pensato a qualcosa del genere. Esso, infatti, mostra semplicemente una mucca in formato ASCII, con una vignetta che contiene il testo da noi specificato.
cowsay "HTML.it è il miglior sito web del mondo!"
Anche per installare cowsay
possiamo utilizzare apt:
sudo apt-get install cowsay
aafire e cacafire
Un altro comando carino è aafire, che trasforma il nostro terminale in una sorta di "camino" animato, sempre sfruttando la ASCII art. Per utilizzarlo, dobbiamo installare il pacchetto libaa-bin
:
sudo apt-get install libaa-bin
Quindi, eseguiamo il comando aafire
per ottenere il risultato seguente:
Se vogliamo un fuoco ancora più "realistico" (per quanto possibile con la ASCII art), possiamo sfruttare la capacità del nostro terminale di renderizzare i colori, utilizzando un comando alternativo che è cacafire
. Per ottenerlo, dovremo installare prima il pacchetto caca-utils
:
sudo apt-get install caca-utils
Eseguendo adesso cacafire
, otterremo il seguente risultato:
Una locomotica animata
L'ultimo comando che vedremo in questo approfondimento può tornare utile e farci sorridere quando digitiamo erroneamente sl
o LS
al posto di ls
(noto comando per mostrare la lista dei file di una cartella). Se non vogliamo accontentarci del semplice errore mostrato sul terminale, possiamo rendere più divertente la cosa installando il comando sl
(LS
è infatti un semplice alias):
sudo apt-get install sl
Tutte le volte che digiteremo sl
o LS
, verrà eseguita un'animazione ASCII di una locomotiva a vapore (steam locomotive, che in acronimo diventa appunto sl).
Conclusioni
Sebbene molti dei comandi appena visti possano sembrare di poca utilità, in realtà non si tratta solo di utility divertenti, ma spesso anche di piccole migliorie che possono talvolta tornare utili. Non resta quindi che provarle tutte, rendendo il lavoro di tutti i giorni, magari un po' ripetitivo e noioso, almeno un po' più imprevedibile ed accattivante.