Was ist der schnellste Weg, um Bilder vom Terminal aus anzuzeigen?

240

Das Terminal ist eine sehr schnelle und bequeme Möglichkeit, schnell auf Verzeichnisse und Dateien zuzugreifen (schneller als das Verzeichnis zu finden und darauf zu klicken).

Eine Sache, die im Textmodus nicht angezeigt werden kann, sind "Bilder".

Was ist die beste Möglichkeit, um Bilder anzuzeigen (wie z. B. ein Miniaturbild in Nautilus), wenn Sie im Terminal arbeiten (z. B. ein Befehl nautilusoder ein Programm - sollte aber schnell und bequem sein)?

Fronthem
quelle
Ich habe gerade einen Terminal-Emulator unter meiner Desktop-Umgebung ausgeführt. So haben Sie die Vorteile von beidem zur Hand.
Vonbrand
Ich muss hier Einwände gegen die engen Abstimmungen erheben, da es einen wesentlichen Unterschied zwischen der Notwendigkeit, Bilddateien von einem (vermutlich GUI-) Terminal (diese Frage) aus anzuzeigen, und der Notwendigkeit, sie auf der Konsole (die andere Frage) anzuzeigen, gibt .
Goldlöckchen
Ich
stelle
Wie geht das im Terminal ? askubuntu.com/questions/97542/…
Ciro Santilli Am

Antworten:

224

Der Weg zum "Doppelklicken" auf eine Datei von der Kommandozeile ist xdg-open.

Wenn Sie auf Gnome sind (wahrscheinlich, wenn Sie Nautilus verwenden), können Sie eogdirekt oder ein anderes Bildprogramm verwenden ( fehist ziemlich gut).

feh <image-name>      

Wenn Sie einfach image-nameDatei konsultieren möchten.

Kevin
quelle
1
fehfunktioniert sogar mit mehreren URLs!
Serge Stroobandt
6
@Searene Ja! Langes leben bis feh. Aber ich beobachte, dass fehes keinen Zoom Zoom im Glossar erklärt oder irgendeine andere Funktion hat. eogEs ist jedoch auch sehr leicht und kann außerdem die Bilder in einem Ordner zoomen , drehen und durchsuchen :). Nur damit die Leute Bescheid wissen, bevor sie eine Wahl treffen.
geliebt.von.Jesus
1
Obwohl eoges in meinem Ubuntu- fehBetriebssystem vorinstalliert ist, bevorzuge ich es, da es von qwhile eogund von xdg-opengeschlossen werden kann esc.
Evan Hu
5
Eigentlich fehhat Zoom, Vollbild, Scrollen usw. Schau auf die Manpage
Dalimama
1
@pikachuchameleon Sie müssen eine X11-Umgebung und Weiterleitung einrichten. Schauen Sie sich diese Anleitung an
Kevin
101

Wenn Sie imagemagick installiert haben , können Sie das sehr praktische Befehlszeilentool display verwenden.

display path/to/picture.png
AlexBG
quelle
2
Ich persönlich bevorzuge es feh, aber displaynormalerweise wird es auf Webservern installiert, auf denen der fehoder die anderen Bildbrowser nicht installiert sind.
Pevik
3
Das Display funktioniert hervorragend auf Ubuntu 16.04 LTS Desktop und auch auf Raspbian. Keine Installationen erforderlich. TNX von 2017
SDsolar
Großartig, funktioniert auch mit Stream:curl https://example.com/image.jpg | display
Pavel
96

Normalerweise python -m SimpleHTTPServer 8080rufe ich einen Ordner auf, der das Bild enthält, und zeige es im Browser unter localhost an: 8080 / path / to / image.jpg. Funktioniert hervorragend zum Durchsuchen und Betrachten verschiedener Bild- und Textdateien in demselben Verzeichnis.

Bearbeiten: Diese Methode funktioniert auch für Remote-Boxen. Führen Sie den Python-Server wie oben beschrieben aus. Wenn die Ports offen sind, können Sie eine Verbindung zu myserver.com:8080/path/to/image.jpg herstellen. Wenn der Server keine Ports ssh [email protected] -N -L localhost:8080:localhost:8080freigibt , können Sie einen SSH-Tunnel mit einrichten und die Bilder dann in Ihrem lokalen Browser unter localhost anzeigen: 8080 / path / to / image.jpg. Beachten Sie, dass diese http-Schnittstelle viel schneller ist als ssh -X.

RussellStewart
quelle
11
Klug! Funktioniert wie ein Zauber und muss nicht eingegeben werden /path/to/image.jpg. Einfach öffnen localhost:8080und auf die Dateinamen klicken.
Roger Dahl
1
Bezüglich des letzten Absatzes können Sie Tunnel auch einfach mit der PuTTY-Konfiguration hinzufügen! Dann können Sie über einen Browser darauf zugreifen. Genial!
ADTC
12
Ich brauchte python -m http.servermit Python 3
Drstevok
x-www-browser /path/to/imageoderfirefox /path/to/image
Gayan Weerakutti
toller Trick! genau das, wonach ich gesucht habe.
Neara
70

Ich habe ein Tool erstellt, das verschiedene Unicode-Blockgrafiken verwendet, um die Auflösung zu verbessern (im Vergleich zu den kanonischen 2 Pixel pro Zeichen, die von anderen hier veröffentlichten Lösungen verwendet werden). Es werden auch automatisch Bilder in einem Miniaturbildmodus angezeigt, wenn mehrere Bilder als Eingabe bereitgestellt werden.

Installation:

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

Verwendungszweck:

tiv <image(s)>

Weitere Details zum Github-Projekt: https://github.com/stefanhaustein/TerminalImageViewer

Beispiel-Screenshot:

Bildschirmfoto

Stefan Haustein
quelle
4
Nicht sicher, warum die Ablehnung, wegen Eigenwerbung erraten? Ich denke, es ist das beste Werkzeug für diesen Job und die Frage ist auch heute noch aktuell.
Stefan Haustein
Schade, dass es nicht funktioniert apt install. Vielleicht mal ein ppa machen? In jedem Fall hat dieses Paket für mich funktioniert, während es keiner der anderen getan hat (vielleicht habe ich sie falsch verwendet). Ich musste in der Lage sein, Bilder im Terminal anzuzeigen (zum Beispiel, wenn ich mich in einem Docker-Container befinde) und keinen Bildbetrachter vom Terminal aus aufzurufen. Vielen Dank für Ihre Antwort und ich kann Ihnen nur noch mehr dafür danken, dass Sie dieses kleine, aber wertvolle Paket erstellt haben!
Artur Barseghyan
Vielen Dank! Würde es Ihnen etwas ausmachen, eine FR für eine PPA für das Github-Projekt zu erstellen? Vielleicht greift jemand gerne ein - zumindest wird es nicht vergessen, bis ich etwas Freizeit finde, um das zu untersuchen ...
Stefan Haustein
Ein Snap ist für alle einfacher: Es muss kein PPA für Sie eingerichtet und kein PPA
Daniele Dellafiore
Nettes Tool @StefanHaustein! Ich habe gerade eine PR erstellt, damit Benutzer sie über Docker verwenden können :-)
Bruno Pérel
27

Ich denke, feh wäre derjenige, den Sie suchen.

Obwohl Feh wie mplayer ein terminalartiges Fenster für die Bildanzeige öffnet, wird es aufgrund seines befehlsintensiven Steuerungsstils immer noch als terminalbasierter Bildbetrachter angesehen.

Chenming Zhang
quelle
19

Unter OS X unterstützt iTerm 2 die Anzeige von Inline-Bildern:

iTerm2 Inline Image

Wie Sie sich vorstellen können, kann dies sehr nützlich sein, wenn Sie nur ein Bild anzeigen möchten, ohne Preview.app zu öffnen oder den Finder für das Bild zu öffnen und die Leertaste auf dem Bild zu drücken.

Die Funktion ist auf der Funktionsseite von iTerm2 dokumentiert

akshay
quelle
Meiner Erfahrung nach ist es wirklich träge.
Ilia Sidorenko
3
Funktioniert gut für mich. Keine Probleme mit Verzögerung. MBP / OSX 10.12.6
Heinrich Hartmann
18

Wenn Sie sich in einem reinen Terminal mit aktiviertem Framebuffer befinden, würde ich fbi empfehlen . Es ist immer in meinem nachinstallieren zu tun Liste.

Ansonsten ist eog der Standard- Bildöffner in Gnome, wie Kevin erwähnt hat. Außerdem scheint Shotwell für mich ziemlich schnell zu öffnen ... Ich bin mir ziemlich sicher, dass es Hunderte gibt. :-)

BorrajaX
quelle
Danke für diesen einen - es ist neu für mich. Übrigens landet mir beim googeln auf der fim's(selbst gestalteten Framebuffer-Bildbetrachter verbessert ) Manpage nur ein paar Suchergebnisse dazu. Kenne noch nicht den Unterschied.
mikeserv
12

Überrascht, dass der Terminologie- Terminal-Emulator nicht zu den Antworten zählt. So einfach tylsund dann auf ein Bild klicken:

Bildbeschreibung hier eingeben

oder etwas wie tycat image.pngzum Beispiel:

Bildbeschreibung hier eingeben

Und vieles mehr. Ein altes Video vor fast 3 Jahren, das Terminologie 0.3 demonstriert: https://www.youtube.com/watch?v=ibPziLRGvkg#action=share .

Nikos Alexandris
quelle
9

Die imgdisplay-Bibliothek von w3m kann Bilder direkt anzeigen. Es funktioniert nur auf einigen Terminalemulatoren wie Xterm und URxvt.

Ranger ist ein Dateibrowser, der die Bibliothek zum Anzeigen von Vorschauen verwendet. Fügen Sie dies zur Konfigurationsdatei von Ranger hinzu, um die Funktion zu aktivieren:

set preview_images true
Ambrevar
quelle
6

Tatsächlich gibt es eine Möglichkeit, eine PNG-Datei in einem Terminal im Textmodus mit der Bildröhre anzuzeigen:

Bildschirmfoto

Sie können sich das Projekt auf GitHub ansehen .

Das Bild ist natürlich eine Annäherung an das tatsächliche Bild, da das kleinste Pixel ein Zeichen ist. Wenn Sie versuchen, das Ergebnis in einem Texteditor zu betrachten, werden Sie eine große Anzahl von Farbcodes sehen.

Sie können das Tool wie folgt installieren (vorausgesetzt, Sie haben node / npm bereits installiert): npm install -g picture-tube

serup
quelle
6

Keine Abhängigkeiten, eine C-Datei, eine Header-Datei: imcat

Funktioniert unter Linux, MacOS und Windows. Skaliert automatisch auf die Klemmenbreite mit Qualitäts-Downsampling.

Bildbeschreibung hier eingeben

Bemerkung: Ernst? Abgestimmt? Erkläre das nächste Mal vielleicht in einem Kommentar, warum.

Bram
quelle
Hast apt-getdu eine Idee, warum ich das nicht finde ?
Sridhar Sarnobat
5

Ein weiterer großartiger terminalbasierter Bildbetrachter ist fim , ein verbesserter fbi mit einem vim-ähnlichen Steuerungssystem.

Chenming Zhang
quelle
Gute Lösung, zeigte aber keinen Weg, es zu tun.
Goddard
Ich habe es versucht. Es öffnet sich ein separates X-Fenster über SSH, falls sich jemand wundert. Was für mich ideal wäre, ist ein Inline-Terminal-Display, das über SSH funktioniert, aber ich glaube nicht, dass es ein gutes gibt.
Sridhar Sarnobat
4

Dies ist eine 4-jährige Frage, aber ich habe festgestellt, dass die Leute sie sich immer noch ansehen. Deshalb möchte ich heute meine eigene Frage speziell nur für beantworten iTerm2.

Zum ersten Mal habe ich diese Frage gestellt. Der Begriff "am schnellsten" Ich dachte daran, ein Bild so schnell wie einen catBefehl zum Anzeigen von Text anzuzeigen. Also fand ich heute die Antwort auf iTerm2die beiden praktischen Befehle name imgcatund imgls.

Um sie zu benutzen, installieren wir zuerst iterm2-nigthly:

$ brew cask install iterm2-nightly

dann besuche die website:

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

und installiere imgcatund imglsbefehle:

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

Also, ich liebe sie wirklich und hoffe auch, dass dies für euch alle nützlich sein wird!

Fronthem
quelle
Dies ist sehr nützlich. Vielen Dank, dass Sie diese Frage 4 Jahre später beantwortet haben. Funktioniert wie ein Zauber, möchte aber möglicherweise den install go step ( brew install go) für diejenigen einschließen, die ihn noch nicht haben.
Jamescampbell
@jamescampbell, Sie müssen go nicht installieren, um die Skripte imgcat und imgls zu erhalten. Sie werden Ihnen vom iTerm-Entwickler selbst hier zur Verfügung gestellt: iterm2.com/documentation-images.html . Dies sind Bash-Skripte.
Akshay
1
Was ist die nächste Option imgcatunter Linux? Ich versuche, atm
rien333 18.07.18
4

Das Kitty-Terminal kann im Terminal mit dem icat "Kätzchen" angezeigt werden

Z.B

kitty +kitten icat /path/to/image

Beispiel:

Bildbeschreibung hier eingeben

Die Kitty-Dokumentation schlägt vor, einen Alias ​​zu erstellen, z

alias icat="kitty +kitten icat"

Damit können Sie dann einfach tun:

icat /path/to/image

schäbig
quelle
3

Vom Terminal? Warum nicht im Terminal: Cacaview ist vielleicht das schnellste. Standardmäßig ist es am schnellsten, wenn das Terminal keine Grafiken enthält.

In Debian: sudo apt-get install caca-utils

agc
quelle
3

pxl ist eine ziemlich coole Option, die noch nicht erwähnt wurde. Ähnlich wie bei der zuvor veröffentlichten Bildröhre wird das Bild direkt im Terminal angezeigt, obwohl es mehr Bildformate unterstützt.

Michael Mior
quelle
3

Ich benutze nur die Chrome unterliegt die , die unterstützt jpg, svg, png, ico, animierte gif... im Grunde alles , was ich bin wahrscheinlich zu müssen:

google-chrome ./myphoto.jpg

Wenn Sie Firefox bevorzugen:

firefox ./myphoto.jpg
user207863
quelle
2

Unter Linux können Sie gnome-open installieren.

# In Debian flavors

sudo apt-get install gnome-open

Dann erstelle einen Alias:

alias open='gnome-open'

Dann kannst du:

open file.pdf
open file.jpg
etc
Tulains Córdova
quelle
Dies wurde standardmäßig in meiner Ubuntu-Installation installiert.
Starbeamrainbowlabs
1

Ich habe diese Seite gerade gefunden und sie ist bis heute sehr aktuell. OP hat nicht wirklich angegeben, ob sie X- oder FB-Viewer wollen.

Ich benutze ein kleines Hilfsprogramm namens pho: http://www.shallowsky.com/software/pho/

Benötigt X, ruft also über die Befehlszeile in einem Terminalfenster auf. Sieht sicher viele Bildformate, GIF und JPG an ... auch einige andere.

Kann Platzhalter von der Kommandozeile aus verschieben: zB. "$ pho img00 ??. jpg" zeigt alle Dateien an, die der Reihe nach übereinstimmen. Leerzeichen gehen vorwärts durch Liste und Rücktaste geht zurück. Das schnelle Laden einzelner Bilder - halten Sie die Leertaste gedrückt und fliegen Sie durch diese.

Sehr schnell, wenn Sie eine Reihe von Bildern durchsehen, interessante markieren, drehen, unerwünschte löschen möchten ... Ich komme immer wieder darauf zurück.

Von der Webseite oben:

pho (ausgesprochen wie die erste Silbe in "Foto") ist ein leichtes Programm, mit dem Sie eine große Anzahl von Bildern schnell anzeigen, drehen oder löschen und sich Notizen darüber machen können, was mit jedem Bild zu tun ist - zum Beispiel, um Hunderte von Bildern durchzugehen nach dem Hochladen von einer Digitalkamera.

Mike
quelle
1

Auch wenn es keine guten Antworten gibt, bestand mein Problem darin, Bilder im Terminal selbst anzuzeigen, ohne eine grafische Anwendung zu öffnen, und so schrieb ich mein eigenes kleines Skript. Ich brauchte nur das Bild zu identifizieren und brauchte nicht alle Details davon und wollte kein relativ großes Paket herunterladen, falls jemand es benötigt, kann er es auch verwenden: https://github.com/Deniz97/terminal-image- Zuschauer

Deniz Uluğ
quelle
0

Ich habe einen Shell-Alias ​​für macOS preview, der (1) ein Inline-Bild ( -ioder eine --inlineOption) entweder von stdin oder bestimmten Dateipfaden (n) anzeigen kann, und (2) einfach ein Bild in Apples Preview- App öffnen kann (ohne Option), Letzteres auch entweder von stdin oder filepath (s), zB:

cat image.jpg | preview

preview -i image.png

Die Inline-Anzeige funktioniert nur mit dem iTerm- imgcatAlias. Daher muss iTerm installiert, ausgeführt und ganz vorne installiert sein. Aber previewprüft ob das alles stimmt.

Hier online: https://github.com/JayBrown/Tools/blob/master/Aliases/preview

JayB
quelle
0

Der Ranger-Dateimanager, der die Bildvorschau in den Einstellungen aktiviert. Ranger-Dateimanager mit Bildvorschau

Sebastian
quelle
-2

Wenn Sie Gnome verwenden, ist es so einfach wie das Tippen

$ gnome-open /path/to/photo

und es öffnet das Bild mit dem Standard-Bildbetrachter, den Sie in Ihrem Gerät haben.

Mwalughabura
quelle
3
Bereits gepostet vor ein paar Monaten: unix.stackexchange.com/a/248179/70524
muru
Diese Methode ist sehr langsam, wenn sich im selben Ordner wie das Bild viele Bilder befinden.
Neouyghur