Come faccio a visualizzare le mie immagini grafiche sul mio terminale?

111

Questo è un mockup veloce che copio e incollato insieme. Immagino che sia fantastico e utile.

Esiste già qualcosa del genere?

    
posta Dennkster 22.01.2012 - 10:41

12 risposte

48

Forse caca è ciò che desideri. Per immagini :

sudo apt-get install caca-utils
cacaview /PATH/TO/image.jpg

Assicurati che la finestra del terminale sia sufficientemente grande.

Ad esempio, ecco come questa immagine viene visualizzata in cacaview :

A volte l'ho usato per divertirmi guardare video come ASCII in mplayer :) In questo modo:

mplayer -vo caca /PATH/TO/video.mpg
    
risposta data user569825 07.09.2012 - 13:35
30

Non puoi farlo in una finestra del terminale, ma puoi farlo in una console Linux utilizzando fbi . Hai bisogno di un framebuffer per consentire che funzioni:

sudo apt-get install fbi

Vai a una console Linux (usando Control-Alt-F1) e inserisci fbi <filename>

Dovrebbe mostrare la tua immagine.

    
risposta data Amith KK 22.01.2012 - 11:12
26

1. w3m

Sebbene lo scopo principale di w3m sia quello di fornire la navigazione web in-console, può anche essere usato per visualizzare le immagini nel terminale. I pacchetti rilevanti da installare sono w3m e w3m-img (almeno su Ubuntu). Devi quindi disabilitare il visualizzatore di immagini esterno appassendo passando -o ext_image_viewer=0 o andando nel menu opzioni ('o') all'interno di w3m e disabilita la visualizzazione di immagini esterne.

Ora, digitando w3m <image_name> verrà visualizzata l'immagine nel terminale. w3m utilizzerà l'intera finestra del terminale, quindi non puoi vedere i tuoi comandi precedenti fino a quando non esci di w3m (pensa less , non cat ). Notare che se l'immagine è troppo grande per adattarsi alla finestra del terminale, verrà comunque aperta esternamente (in imagemagick per me). Tieni inoltre presente che anche se leggo più posti in cui w3m di immagini in linea non funzionerebbe per gnome-terminal , per me funziona correttamente. È un po 'fastidioso dover digitare q due volte per chiudere prima l'immagine e poi w3m .

2. Terminologia

tycat fa parte di terminology e visualizza immagini come cat visualizza file di testo e come imgcat funziona per iTerm2 su OS X.

3. libsixel + mlterm / xterm

Installa libsixel-bin e qualsiasi terminale compatibile (esempi menzionati sotto "Requisiti" di questo readme , ad esempio mlterm o xterm compilato con i giusti flag e puoi visualizzare le immagini con il comando img2sixel . Entrambi i pacchetti sono disponibili nei repository di Ubuntu.

4. FIM

Poi c'è FIM che è una versione migliorata di fbi . La homepage afferma che può visualizzare le immagini non solo con il framebuffer, ma anche con X. Tuttavia, non verrà installato per me. Modifica l'ho eseguito eseguendo il download della versione trunk 0.5, eseguendo ./configure --disable-exif e quindi rimuovendo temporaneamente anaconda (distribuzione python) dal mio percorso poiché ha causato un conflitto con libpng prima dell'esecuzione di make e sudo checkinstall (devi scrivere in un numero di versione manualmente con checkinstall , ma semplifica la rimozione di make install ). Tuttavia, le immagini sono ancora visualizzate in una finestra separata, anche se, come con fbi , non è necessario eseguire X, che è abbastanza cool.

5. jupyter-qtconsole

Potresti anche essere creativo e usare jupyter-qtconsole come console di sistema, configurarlo per mostrare i grafici in linea ( %matplotlib inline ) e poi visualizza l'immagine usando matplotlib =)

6. feh

feh utilizza X per visualizzare le immagini, ma feh -x le fa apparire in una finestra senza bordi che può essere chiusa rapidamente con q o x . Sebbene le immagini non vengano visualizzate nel terminale per parola, ho pensato che fosse degno di menzione poiché è il modo meno intrusivo che ho trovato finora e quello che sto usando fino a quando gnome-terminal ottiene un imgcat / tycat equivalente.

    
risposta data Joel Ostblom 14.11.2015 - 23:28
24

Ho scritto un piccolo strumento C ++ per convertire immagini in codici di controllo ANSI RGB e caratteri grafici a blocchi Unicode per terminali moderni che supportano queste funzionalità: collegamento

Installazione:

git clone https://github.com/stefanhaustein/TerminalImageViewer.git
cd TerminalImageViewer/src/main/cpp
make
sudo make install

Utilizzo:

tiv <image(s)>

Modifica : link / istruzioni modificati al repository principale; aggiunto l'uso.

Esempi:

    
risposta data Stefan Haustein 09.04.2016 - 01:06
18

Ho creato una funzione shell a linea singola molto veloce che risolve la domanda originale esattamente come richiesto nei prototipi. Nota che gli screenshot qui sotto sono immagini reali, non prototipi.

function lsix() { montage -tile 7x1 -label %f -background black -fill white "[email protected]" gif:- | convert - -colors 16 sixel:-; }

I prerequisiti sono minimi: xterm e ImageMagick ( apt-get install xterm imagemagick ). Il tuo xterm deve essere in modalità vt340, che puoi impostare in ~/.Xresources o dalla riga di comando ( xterm -ti vt340 ).

Limitazioni: vengono utilizzati solo 16 colori sopra le immagini tutte mostrate. Ciò significa che un'immagine può apparire migliore se vista da sola. (Vedi sotto).

Aggiorna

Mentre la mia risposta sopra è ancora corretta, ho creato uno script di shell ancora migliore che è in grado di fare una "ls" di immagini direttamente in un terminale. Ci sono tutti i tipi di miglioramenti che ho aggiunto per rendere le immagini un aspetto migliore (più colori, corretto alfa, orientamento JPEG, gestione di molte immagini, layout compatto delle piastrelle, ...). È ancora un programma abbastanza piccolo, ma ho pensato che le persone volessero personalizzarlo, quindi l'ho messo su github: link .

    
risposta data hackerb9 31.05.2017 - 13:24
12

In realtà esiste un progetto di questo tipo denominato TermKit , se desideri testarlo - controlla link ma è piuttosto incompleto (dal momento che sembra che tu abbia un Mac, dovresti prova la versione per Mac poiché è "l'originale")

Quindi sì, è un'idea che vale la pena esplorare, tuttavia - il passaggio tra la modalità grafica e la modalità solo testo deve essere veloce, poiché non sempre ho bisogno delle immagini visualizzate. Inoltre, deve essere completamente compatibile con, ad es. Vim ..

    
risposta data sakjur 22.01.2012 - 11:39
8

Questo non esiste; gnome-terminal è solo in grado di visualizzare il testo, almeno per quanto ne so.

Tuttavia puoi chiamare un visualizzatore di immagini dalla riga di comando per vedere le tue immagini in una particolare cartella. Quindi, uscendo dal tuo mockup in alto mostrandoti di elencare tutte le immagini .jpg nella cartella corrente, puoi usare Eye of GNOME (il visualizzatore di immagini predefinito di Ubuntu) dalla riga di comando per qualcosa di simile:

eog *.jpg &

Si noti che la finestra visualizzata mostrerà solo un'immagine alla volta, sebbene sia possibile utilizzare i pulsanti freccia forniti per spostarsi tra di essi.

    
risposta data Christopher Kyle Horton 22.01.2012 - 11:12
6

Ho scritto uno strumento per farlo. Ho chiamato il mio Show Image In Terminal ( siit ). Presuppone che tu abbia un terminale a 256 colori e supporto UTF8, ed è scritto in perl.

L'ho inserito nel mio ~/bin . Si presuppone che tu abbia Image :: Magick, Term :: Size, Getopt :: Long e Time: HiRes, che dovrebbero essere tutti disponibili nei repository della tua distro o in CPAN.

Il mio intento era di ssh in casa mia e di visualizzare rapidamente le immagini senza avviare una visualizzazione su X. Script si adatta alla larghezza / altezza appropriata per il terminale in cui ti trovi. Ho usato caratteri UTF8 per raddoppiare efficacemente la risoluzione verticale del tuo terminale , che aiuta davvero la chiarezza. YMMV.

Esempi di foto qui

Codice sorgente qui

    
risposta data Tom 04.05.2013 - 17:04
3

Ecco alcune soluzioni in node.js (istruzioni di installazione qui ).

  1. picture-tube

  2. imaging

Per installare entrambi, digita npm install -g <package_name> dove package_name è di picture-tube o imaging .

    
risposta data Nemo 02.02.2014 - 14:54
3

Oltre alla risposta di Joel , Ranger il gestore di file terminal con estensione w3mimgdisplay può mostrare le immagini a colori e supporta anche" anteprime di arte ASCII oldschool ". Qui è come puoi abilitarlo. Questa potrebbe non essere la cosa esatta che stavi cercando, ma un modo per vedere l'anteprima delle immagini nel terminale.

    
risposta data Ahmet Seha Çelenk 13.05.2017 - 09:32
2

Un altro strumento è catimg , sebbene non ci sia un pacchetto pronto per Ubuntu. In realtà non visualizza l'immagine ma la trasforma in caratteri colorati.

    
risposta data some user 27.09.2016 - 16:32

Leggi altre domande sui tag