Qual è il modo più veloce per visualizzare le immagini dal terminale?


240

Il terminale è un modo molto veloce e conveniente per accedere rapidamente a directory e file (più veloce di trovare e fare clic sulla directory).

Una cosa che non può essere mostrata in modalità testo è "immagini".

Qual è il modo migliore per visualizzare le immagini (come si vede l'anteprima delle immagini in Nautilus) quando si lavora nel terminale (ad es. Comando nautiluso qualsiasi programma - ma dovrebbe essere veloce e conveniente)?



Ho appena eseguito un emulatore di terminale nel mio ambiente desktop. Quindi hai i vantaggi di entrambi a portata di mano.
vonbrand,

Devo obiettare ai voti stretti qui in quanto esiste una differenza sostanziale tra la necessità di visualizzare i file di immagini da un terminale (presumibilmente GUI) (questa domanda) e la necessità di visualizzarli sulla console (l'altra domanda).
Riccioli d'oro

Fornisco un elenco di praticamente tutte le opzioni qui in questa domanda e risposta: Come ottenere rapidamente le anteprime JPEG
slm

Risposte:


224

Il modo di "fare doppio clic" su un file dalla riga di comando è xdg-open.

Se sei su Gnome (probabilmente, se stai usando Nautilus), puoi usarlo eogdirettamente o qualsiasi altro programma di immagini ( fehè abbastanza buono).

feh <image-name>      

Se vuoi consultare il image-namefile facilmente.


1
fehfunziona anche con più URL!
Serge Stroobandt,

6
@Searene Yeah! Lunga vita a feh. Ma osservo che nonfeh ha alcuno zoom o qualsiasi altra funzione. eog, tuttavia, è anche leggero e, inoltre, può ingrandire , ruotare e sfogliare le immagini in una cartella :). Solo per le persone a sapere prima di fare una scelta.
loved.by

1
anche se eogè preinstallato nel mio sistema operativo Ubuntu, preferisco ancora fehperché può essere chiuso da qmentre eoge xdg-openpuò essere chiuso da esc.
Evan Hu,

5
In realtà, fehha zoom, schermo intero, scorrimento ecc. Guarda la pagina man
dalimama,

1
@pikachuchameleon dovrai impostare un ambiente X11 e l'inoltro. Dai un'occhiata a queste istruzioni
Kevin,

101

Se hai installato imagemagick , puoi usare il suo utilissimo strumento da riga di comando per la visualizzazione .

display path/to/picture.png

2
Personalmente preferisco feh, ma di displaysolito è installato su server Web, dove feho altri browser di immagini non sono installati.
pevik,

3
il display funziona alla grande su Ubuntu 16.04 LTS Desktop e anche su Raspbian di scorta. Nessuna installazione richiesta. TNX dal 2017
SDsolar,

Ottimo, funziona anche con streaming:curl https://example.com/image.jpg | display
Pavel,

96

Di solito corro python -m SimpleHTTPServer 8080da una cartella contenente l'immagine e la visualizzo dal browser su localhost: 8080 / path / to / image.jpg. Funziona alla grande per sfogliare e guardare diversi file di immagine e testo nella stessa directory.

Modifica: questo metodo funziona anche per le caselle remote. Basta eseguire il server Python come sopra e, se le porte sono aperte, è possibile connettersi a myserver.com:8080/path/to/image.jpg. Se il server non espone le porte, è possibile impostare un tunnel ssh con ssh me@myserver.com -N -L localhost:8080:localhost:8080e quindi visualizzare le immagini dal browser locale su localhost: 8080 / path / to / image.jpg. Nota che questa interfaccia http è molto più veloce di ssh -X.


11
Intelligente! Funziona come un fascino e non è necessario digitare /path/to/image.jpg. Basta aprire localhost:8080e fare clic sui nomi dei file.
Roger Dahl,

1
Per quanto riguarda l'ultimo paragrafo, puoi anche aggiungere facilmente tunnel usando la configurazione PuTTY! Quindi puoi accedervi tramite un browser. Eccezionale!
ADTC

12
Avevo bisogno python -m http.serverdi Python 3
drstevok l'

x-www-browser /path/to/imageoppurefirefox /path/to/image
Gayan Weerakutti il

trucco fantastico! esattamente quello che stavo cercando.
Neara,

70

Ho creato uno strumento che utilizza vari caratteri grafici a blocchi di unicode per migliorare la risoluzione (rispetto al canonico pixel 2 per approccio adottato da altre soluzioni pubblicate qui). Inoltre, visualizza automaticamente le immagini in modalità miniatura se sono fornite più immagini come input.

Installazione:

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

Uso:

tiv <image(s)>

Maggiori dettagli sul progetto github: https://github.com/stefanhaustein/TerminalImageViewer

Schermata di esempio:

Immagine dello schermo


4
Non sai perché il downvote, indovina a causa dell'autopromozione? Penso che sia lo strumento migliore per il lavoro e la domanda è ancora rilevante oggi.
Stefan Haustein,

È un peccato con cui non funziona apt install. Forse è il momento di fare un ppa? In ogni caso, questo pacchetto ha funzionato per me, mentre nessuno degli altri ha fatto (forse li ho usati in modo sbagliato). Avevo bisogno di essere in grado di visualizzare le immagini nel terminale (ad esempio, quando mi trovo all'interno di un contenitore Docker) e di non chiamare un visualizzatore di immagini dal terminale. Grazie per la tua risposta e posso solo ringraziarti di più per aver creato questo pacchetto piccolo ma prezioso!
Artur Barseghyan,

Grazie! Ti dispiacerebbe creare un FR per un PPA sul progetto github? Forse qualcuno è felice di intervenire - almeno non sarà dimenticato fino a quando non troverò un po 'di tempo libero per esaminarlo ...
Stefan Haustein,

uno scatto sarà più facile per tutti: niente ppa da configurare per te, niente ppa da aggiungere per l'utente -> snapcraft.io
Daniele Dellafiore

Simpatico strumento @StefanHaustein! Ho appena creato un PR per consentire agli utenti di utilizzarlo tramite Docker :-)
Bruno Pérel,

27

Immagino che Feh sarebbe quello che stai cercando.

Sebbene esca da una finestra simile a un terminale per la visualizzazione di immagini come fa mplayer per la riproduzione di video, Feh è ancora considerato un visualizzatore di immagini basato su terminali a causa del suo stile di controllo ad alta intensità di comando.


19

Se utilizzi OS X, iTerm 2 supporta la visualizzazione di immagini incorporate:

Immagine in linea iTerm2

Come puoi immaginare, questo può essere molto utile quando vuoi solo visualizzare un'immagine senza entrare e aprire Preview.app o dover aprire il Finder sull'immagine e colpire la barra spaziatrice sull'immagine.

La funzione è documentata nella pagina delle caratteristiche di iTerm2


È davvero lento nella mia esperienza.
Ilia Sidorenko,

3
Funziona bene per me. Nessun problema con il ritardo. MBP / OSX 10.12.6
Heinrich Hartmann,

18

Se sei in un terminale puro con framebuffer attivato, consiglierei fbi . È sempre nella mia lista delle cose da fare dopo l'installazione .

Altrimenti, eog è l'apri immagine predefinito in Gnome, come ha detto Kevin. Inoltre, Shotwell sembra aprirsi abbastanza velocemente per me ... Sono abbastanza sicuro che ce ne siano centinaia. :-)


Grazie per questo - è una novità per me. A parte questo, googling mi porta alla manpage ( migliorata lafim's visualizzazione delle immagini con framebuffer autodidatta ) solo alcuni risultati di ricerca. Non so ancora la differenza.
Mikeserv,


9

La libreria imgdisplay di w3m è in grado di visualizzare direttamente le immagini. Funziona solo su alcuni emulatori terminali come Xterm e URxvt.

ranger è un browser di file che utilizza la libreria per visualizzare anteprime. Aggiungi questo al file di configurazione del ranger per abilitare la funzione:

set preview_images true

6

In realtà, c'è un modo per mostrare un file PNG in un terminale in modalità testo, usando il tubo immagine:

immagine dello schermo

Puoi guardare il progetto su GitHub .

L'immagine è ovviamente un'approssimazione dell'immagine reale, dato che il pixel più piccolo è un carattere: prova a dare un'occhiata al risultato in un editor di testo, vedrai un numero enorme di codici colore.

Puoi installare lo strumento in questo modo (supponendo che tu abbia già installato node / npm): npm install -g picture-tube


6

Nessuna dipendenza, un file C, un file di intestazione: imcat

Funziona su Linux, Macos, Windows. Ridimensiona automaticamente fino alla larghezza del terminale, con down-sampling di qualità.

inserisci qui la descrizione dell'immagine

Nota: seriamente? Down-votato? La prossima volta, forse spiegherò nel commento perché.


qualche idea sul perché non riesco a trovarlo con apt-get?
Sridhar Sarnobat,

5

Un altro fantastico visualizzatore di immagini basato su terminali è FIM , che è un fbi migliorato con un sistema di controllo simile a VIM.


Buona soluzione, ma non ha mostrato un modo per farlo.
Goddard,

Ci ho provato Apre una finestra X separata su SSH nel caso qualcuno si stia chiedendo. Quello che sarebbe l'ideale per me è un display terminale in linea che funziona su SSH ma non credo che ce ne sia uno buono.
Sridhar Sarnobat,

4

Questa è una domanda di 4 anni, ma ho scoperto che la gente continua a guardarla. Quindi, oggi vorrei rispondere alla mia domanda specificamente solo per iTerm2.

All'inizio ho fatto questa domanda. Il termine "più veloce" pensavo di visualizzare l'immagine più velocemente del catcomando che visualizzava il testo. Quindi, oggi ho trovato la risposta iTerm2, che sono i due comandi a portata di nome imgcate imgls.

Per usarli, il primo installiamo iterm2-nigthly:

$ brew cask install iterm2-nightly

quindi visitare il sito Web:

https://github.com/olivere/iterm2-imagetools

e installa imgcate imglscomandi:

$ go install github.com/olivere/iterm2-imagetools/cmd/imgcat
$ go install github.com/olivere/iterm2-imagetools/cmd/imgls

Quindi, li adoro davvero e spero anche che questo sia utile per tutti voi!


Questo è molto utile, quindi grazie per aver risposto 4 anni dopo. Funziona come un incantesimo, ma potrebbe voler includere l'installazione go step ( brew install go) per coloro che non lo hanno ancora.
Jamescampbell

@jamescampbell, non è necessario installare vai per ottenere gli script imgcat e imgls. Sono forniti dallo sviluppatore iTerm stesso qui: iterm2.com/documentation-images.html , e questi sono script bash.
akshay,

1
qual è l'opzione più vicina a imgcatsu Linux? Sto cercando di cambiare atm
rien333 il


4

Il terminale del gattino può essere visualizzato all'interno del terminale con il "gattino" icat

Per esempio

kitty +kitten icat /path/to/image

Esempio:

inserisci qui la descrizione dell'immagine

La documentazione del gattino suggerisce di creare un alias, ad es

alias icat="kitty +kitten icat"

In questo modo puoi semplicemente fare:

icat /path/to/image


3

Dal terminal? Perché non nel terminale: cacaview potrebbe essere il più veloce. Di default è più veloce se il terminale non ha grafica.

In Debian: sudo apt-get install caca-utils


3

pxl è un'opzione davvero interessante che non è ancora stata menzionata. Simile al tubo di immagine precedentemente pubblicato in quanto mostra l'immagine direttamente nel terminale sebbene supporti più formati di immagine.


3

Mi basta usare il webrowser Chrome, che supporta jpg, svg, png, ico, animazione gif... in pratica tutto quello che sto probabilmente bisogno:

google-chrome ./myphoto.jpg

Se preferisci Firefox:

firefox ./myphoto.jpg

2

In Linux puoi installare gnome-open.

# In Debian flavors

sudo apt-get install gnome-open

Quindi creare un alias:

alias open='gnome-open'

Allora puoi:

open file.pdf
open file.jpg
etc

Questo è stato installato di default nella mia installazione di Ubuntu.
starbeamrainbowlabs

1

Ho appena trovato questa pagina, ed è ancora molto rilevante oggi. OP non ha specificato se vogliono il visualizzatore X o fb.

Uso una piccola utility chiamata pho: http://www.shallowsky.com/software/pho/

Ha bisogno di X, quindi chiama dalla riga di comando in una finestra del terminale. Visualizza sicuramente molti formati di immagini, gif e jpg ... anche altri.

È possibile eseguire il jolly dei caratteri jolly dalla riga di comando: ad es. "$ pho img00 ??. jpg" visualizzerà tutti i file corrispondenti in ordine. Lo spazio va avanti attraverso l'elenco e il backspace torna indietro. Il suo caricamento rapido di singole immagini: tieni premuto lo spazio e voli attraverso di esse.

Molto velocemente se vuoi guardare attraverso un mucchio di immagini, contrassegnare quelle di tuo interesse, ruotare, eliminare quelle indesiderate ... Continuo a ritornarci.

Dalla pagina Web sopra:

pho (pronunciato come la prima sillaba in "foto") è un programma leggero per visualizzare rapidamente un gran numero di immagini, ruotarne o eliminarne alcune e prendere appunti su cosa fare con ciascuna immagine, ad esempio per scorrere centinaia di immagini dopo averli caricati da una fotocamera digitale.


1

Anche se ci sono ottime risposte, il mio problema era di visualizzare le immagini nel terminale stesso, senza aprire alcuna applicazione grafica, quindi ho scritto il mio piccolo script. Avevo solo bisogno di identificare l'immagine e non avevo bisogno di tutti i dettagli e non volevo scaricare alcun pacchetto relativamente grande, se qualcuno ne ha bisogno può anche usarlo: https://github.com/Deniz97/terminal-image- spettatore


0

Ho un alias di shell per macOS chiamato previewche può (1) visualizzare un'immagine in linea ( -io --inlineun'opzione), da stdin o percorsi file specificati, e (2) aprire un'immagine nell'app Anteprima di Apple (senza alcuna opzione), quest'ultimo anche da stdin o filepath (s), ad esempio:

cat image.jpg | preview

preview -i image.png

La visualizzazione in linea funziona solo con l' imgcatalias iTerm , quindi è necessario che iTerm sia installato, in esecuzione e in primo piano. Ma previewcontrolla se tutto ciò è vero.

Online qui: https://github.com/JayBrown/Tools/blob/master/Aliases/preview


0

Il file manager Ranger che abilita l'anteprima dell'immagine nelle impostazioni. File manager Ranger con anteprima dell'immagine


-2

Se usi gnome è semplice come scrivere

$ gnome-open /path/to/photo

e apre l'immagine usando il visualizzatore di immagini predefinito che hai nella tua macchina.


3
Già pubblicato qualche mese fa: unix.stackexchange.com/a/248179/70524
muru

questo metodo sarà molto lento, se hai molte immagini nella stessa cartella con quell'immagine.
Neouyghur,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.