Se c’è una cosa che per molte persone non ha nulla a che fare con un terminale di testo sono le immagini: è un prompt, è ovvio che non possa esserci nulla di grafico. Ma ciò non è del tutto vero: il terminale di GNU/Linux può lavorare anche con le immagini, non soltanto manipolandole con comandi come quelli forniti dal famoso ImageMagick, ma anche con dei visualizzatori. GNU/Linux offre infatti la possibilità di visualizzare immagini anche senza un ambiente grafico, grazie al framebuffer . Il visualizzatore per terminale più adatto per mostrare immagini senza dover ricorrere a Xorg si chiama fim . Ovviamente, uno dei vantaggi di questo programma è che funziona benissimo anche attraverso una sessione SSH, quindi si può utilizzare per controllare immagini su un server remoto, magari per avere un’anteprima e quindi essere sicuri di copiare i file giusti.
Il visualizzatore di immagini per framebuffer Linux si chiama fbi , e si trova su tutte le distro. Suggeriamo però di ricorrere al suo fork fim , che significa per l’appunto Fbi IMproved. È meno conosciuto, ma lo si trova su Debian e Ubuntu nei repository ufficiali, basta installarlo con il comando sudo apt-get install fim
. È importante non confondersi con fmi , che è invece un pacchetto completamente diverso.
Per aprire un’immagine con fmi basta indicarne il percorso, ed è anche possibile visualizzare un’intera cartella di immagini (ad esempio con il comando fim ~/Immagini/*
). Il programma riconosce automaticamente l’ambiente e sceglie la modalità di output più valida. Per esempio, se ci si trova in un ambiente grafico verrà utilizzato il sistema sdl, se è disponibile il framebuffer viene utilizzato proprio il dispositivo /dev/fb0 e se è disponibile solo un terminale di testo l’immagine viene presentata come ASCII art. Nel caso di più immagini ne viene visualizzata una alla volta, e si può passare alla successiva con il tasto Pagina giù .
Se si vuole ottenere uno slideshow si può scrivere il comando fim -o aa --slideshow 5 ~/Immagini/*
, che lascia ciascuna immagine sullo schermo per 5 secondi prima di passare alla successiva. L’opzione -o serve per specificare il tipo di output che si vuole: aa rappresenta l’ASCII art. Mentre il visualizzatore è attivo è possibile premere il tasto : per aprire un prompt simile a quello del programma vim. Alcuni dei comandi più interessanti sono i seguenti:
mirror: specchia l'immagine attorno l'asse verticale
flip: ribalta l'immagine attorno l'asse orizzontale
+50%: visualizza l'immagine al 50 per cento delle sue dimensioni originali
*2: raddoppia l'attuale zoom sull'immagine
rotate90: ruota l'immagine di 90 gradi in senso orario
Per chiudere il visualizzatore basta premere il tasto q . Per ulteriori informazioni è possibile leggere una descrizione dei comandi su questa pagina .
Altra caratteristica interessante di fmi è che può leggere le immagini direttamente dallo standard input. In altre parole, è possibile passare un’immagine a fim con la pipe:
curl "https://cdn.pixabay.com/photo/2015/06/03/13/13/cats-796437_960_720.jpg" | fim -o aa -i
Questo lo rende perfetto per realizzare degli script.