Frage Wie kann ich auf meinem Terminal grafische Bilder anzeigen lassen?


Dies ist ein schnelles Modell, das ich kopiere und zusammenfüge. Ich stelle mir vor, dass das super cool und nützlich ist.

Gibt es so etwas schon?

http://imgur.com/Z3DbS


111
2018-01-22 09:41


Ursprung


Ich benutze immer nur feh! Ich weiß, dass es nicht im Terminal ist, aber es macht seinen Job. - dylnmc
Das Terminal ist nicht für Grafiken gedacht, es kann nur Unicode-Zeichen anzeigen und etwas einfärben. Das Beste, was Sie bekommen können, ist ASCII-Kunst. - Ben
Ich liebe es, das Terminal für Grafiken mit zu verwenden itermplot, das ist leider nur macOS. - miku
Ist diese Frage durch das kleine Bierbild in Homebrew motiviert? Das ist ein Emoji. - Ekevoo
Ich wette, jemand könnte eine Chrome-Erweiterung schreiben, die ssh verwendet, aber einen grafischen Dateimanager anstelle eines textbasierten bereitstellt. Ich würde es gerne sehen. Fürs Erste kommt nur Javascript + Webdav nahe. - Sridhar-Sarnobat


Antworten:


Könnte sein Kakao ist was du willst. Zum Bilder:

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

Stellen Sie sicher, dass Ihr Terminalfenster groß genug ist.

Zum Beispiel, hier ist wie dieses Bild wird angezeigt in cacaview:

Screenshot

Ich habe es manchmal zum Spaß benutzt Videos als ASCII ansehen in mplayer :) So:

mplayer -vo caca /PATH/TO/video.mpg

50
2017-09-07 11:35



Sehr hilfreich - ein Befehl von caca-utils, der Bilder inline im Terminal anzeigen soll ist img2txt - Wilf
Es gibt jetzt einen neuen Spieler auf dem Feld: github.com/ichinaski/pxl --- In einem Schnelltest sehen die Bilder besser aus als im Cacaview. (Ich wollte eine neue Antwort hinzufügen, aber die Seite ließ mich nicht (?)) - user569825
"Videos als ASCII ansehen" Aber warum? - Derek 朕會功夫
Dies öffnet ein anderes Fenster. OP hat nach Terminal gefragt. Sie sollten stattdessen img2txt vorschlagen, denke ich. - Blauhirn
Das hängt von Ihrer Umgebung ab. In einem Nicht-X-Terminal öffnet es sich wie erwartet. In X gibt es wahrscheinlich auch eine Lösung. Ich denke, es hängt vom verwendeten Endgerät oder dessen Abmessungen ab. - user569825


1. w3m

Während der Hauptzweck von w3m Um in der Konsole Web-Browsing zu ermöglichen, kann es auch zum Anzeigen von Bildern im Terminal verwendet werden. Die relevanten zu installierenden Pakete sind w3m und w3m-img (zumindest auf Ubuntu). Sie müssen dann den externen Bildbetrachter durch Übergeben deaktivieren -o ext_image_viewer=0 oder indem Sie ins Optionsmenü ('o') hineingehen w3m und deaktivieren Sie die externe Bildanzeige.

Jetzt tippen w3m <image_name> zeigt das Bild im Terminal an. w3m wird das gesamte Terminalfenster verwenden, sodass Sie Ihre vorherigen Befehle erst beim Beenden sehen können w3m (denken lessnicht cat). Beachten Sie, dass das Bild, wenn es zu groß für das Terminalfenster ist, immer noch extern geöffnet wird (in imagemagick für mich). Beachten Sie auch, dass, obwohl ich mehrere Orte gelesen habe w3m Inline-Bilder würden nicht funktionieren gnome-terminales funktioniert gut für mich. Es ist ein bisschen nervig, dass man tippen muss q zweimal, um zuerst das Bild zu schließen und dann w3m.

2. Terminologie

tycat ist ein Teil von terminology und zeigt Bilder wie cat zeigt Textdateien und Ähnliches an imgcat funktioniert für iTerm2 unter OS X.

3. libsixel + mlterm / xterm

Installieren libsixel-bin und jedes kompatible Terminal (Beispiele unter "Anforderungen" dieser Readme, beispielsweise mlterm oder xterm kompiliert mit den richtigen Flags und Sie können Bilder mit den img2sixel Befehl. Beide Pakete sind in den Ubuntu-Repos verfügbar.

4. FIM

Dann ist da FIM Das ist eine verbesserte Version von fbi. Die Homepage gibt an, dass sie Bilder nicht nur mit dem Framebuffer, sondern auch mit X anzeigen kann. Es wird aber nicht für mich installiert. Bearbeiten Ich habe es laufen lassen, indem ich die 0,5-Stamm-Version heruntergeladen habe, die läuft ./configure --disable-exif und dann vorübergehend entfernen anaconda (Python-Distribution) von meinem Weg, da es einen Konflikt mit verursachte libpng vor dem Laufen make und sudo checkinstall (Sie müssen eine Versionsnummer manuell mit eingeben checkinstall, aber es ist einfacher zu entfernen als make install). Bilder werden jedoch immer noch in einem separaten Fenster angezeigt, obwohl wie bei fbi Sie müssen nicht X laufen, was irgendwie cool ist.

5. jupyter-qtconsole

Sie könnten auch kreativ werden und die jupyter-qtconsole als Systemkonsole verwenden und so konfigurieren, dass Plots inline angezeigt werden (%matplotlib inline) und dann Zeigen Sie das Bild mit Matplotlib an =)

6. feh

feh verwendet X, um Bilder anzuzeigen, aber feh -xöffnet sie in einem randlosen Fenster, das schnell mit geschlossen werden kann q oder x. Obwohl Bilder nicht im Terminal angezeigt werden, dachte ich, dass es erwähnenswert ist, da es die am wenigsten aufdringliche Art ist, die ich bis jetzt gefunden habe und was ich bis jetzt benutze gnome-terminal bekommt ein imgcat/tycat gleichwertig.


30
2017-11-14 22:28



w3m verwendet caca-utils, also wäre es besser, es direkt zu benutzen (cacaview e.jpg) - user1133275


Sie können dies nicht in einem Terminalfenster tun, aber Sie können dies in einem tun Linux-Konsole verwenden fbi. Sie benötigen einen Framebuffer, um dies zu ermöglichen:

sudo apt-get install fbi

Gehen Sie zu einer Linux-Konsole (mit Control-Alt-F1) und geben Sie ein fbi <filename>

Es sollte dein Bild zeigen.


30
2018-01-22 10:12



Was meinst du mit "terminal" vs "tty"? Sind sie nicht das Gleiche? askubuntu.com/questions/506510/... - Wernight
Hat nicht für mich gearbeitet. Aber "Caca" Werkzeug hat funktioniert. mit "DejaVu Sans Mono-16", Pixelgröße = 16.67 file = / usr / share / Schriftarten / truetype / dejavu / DejaVuSansMono.ttf ioctl VT_GETSTATE: Ungültige ioctl für Gerät (keine Linux-Konsole?) - Felipe
@Wernight Ctrl + Alt + F1 / F2 / F3 gibt Ihnen ein tty unter ubuntu (Strg + Alt + F8, um zurück zu kommen). - Joel Ostblom
Es gibt auch FIM Das ist eine verbesserte Version von fbi. Die Homepage gibt an, dass sie Bilder nicht nur mit dem Framebuffer, sondern auch mit X anzeigen kann. Es wird aber nicht für mich installiert. - Joel Ostblom
Gute Nachrichten iTerm2 v3 kann Bilder inline prüfen lassen iterm2.com/images.html - A B


Ich habe ein kleines C ++ - Tool geschrieben, um Bilder in ANSI-RGB-Steuercodes und Unicode-Blockgrafikzeichen für moderne Terminals zu konvertieren, die diese Funktionen unterstützen:https://github.com/stefanhaustein/TerminalImageViewer

Installation:

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

Verwendung:

tiv <image(s)>

Bearbeiten: Geänderte Links / Anweisungen zum Haupt-Repository; zusätzliche Verwendung

Beispiele:

TerminalImageViewer


24
2018-04-08 23:06



Das sieht sehr gut aus! Aber ist es Java oder C ++? - Andrea Lazzarotto
Es war Java, aber die Notwendigkeit einer JVM für diese einfache Aufgabe hat mich irritiert, also habe ich es nach C ++ portiert (die Screenshots zeigen immer noch den Java-Befehl) - Stefan Haustein
Viel besser als Kakaview! - Piotr Dabkowski
Dies ist ein erstaunliches Werkzeug. Definitiv langsamer, aber viel besser als Kakao. Gibt es Qualitätsverluste bei der Verwendung des "256-Bit-Modus"? (da muss ich, der normale Modus ist durcheinander) - Blauhirn
Sehr gute Ergebnisse! Vielen Dank ! Sehr nützlich mit ssh, wenn kein x Server verfügbar ist! - Arnaud De Broissia


Eine andere Alternative ist die Terminologie:

enter image description here https://www.youtube.com/watch?feature=player_embedded&v=ibPziLRGvkg

Sie können es unter Ubuntu installieren, indem Sie das hinzufügen Erleuchtung-git Repository:

sudo add-apt-repository ppa:enlightenment-git/ppa
sudo apt-get update && sudo apt-get install terminology

Oder in den letzten Ubuntu-Veröffentlichungen> = Vivid (15.04) kann es aus den offiziellen Repositories geholt werden.

sudo apt-get install terminology

Um ein Bild anzuzeigen, geben Sie ein tycat IMAGENAMEund geben Sie eine Liste der Bilder ein tyls -m.


18
2018-02-27 02:09



tycatum ein Bild inline und anzuzeigen tyls -m um mittelgroße Thumbnails in einem Verzeichnis anzuzeigen. - Joel Ostblom
Sudo Add-Apt-Repository ppa: Hannes-Janetzek / Aufklärung-Svn funktioniert nicht - Gucho Ca
Ich habe die Antwort aktualisiert, um auf den neueren Erleuchtungs-PPA hinzuweisen - Javier López
@chilicuil terminology ist in den offiziellen Ubuntu-Repositories, kein PPA benötigt. - cat
@cat die ursprüngliche Antwort wurde geschrieben, bevor vivid veröffentlicht wurde und zu dieser Zeit Terminologie nicht verfügbar war, haben die Aufklärung ppa immer noch präzise / vertrauenswürdige Pakete und mehr aktuelle Terminologie-Versionen. Vielleicht ist es hilfreich, die Antwort zu editieren, um darauf hinzuweisen, dass eingefrorene Terminologieversionen in den letzten Ubuntu-Versionen verfügbar sind. - Javier López


Ich habe eine sehr schnelle, einfache Einzeilen-Shell-Funktion erstellt, die die ursprüngliche Frage genau so löst, wie in den Modellen gefordert. Beachten Sie, dass die folgenden Screenshots tatsächliche Bilder und keine Nachbildungen sind.

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

Screenshot of using the lsix command

Voraussetzungen sind minimal: xterm und ImageMagick (apt-get install xterm imagemagick). Ihr xterm muss im vt340-Modus sein, den Sie entweder einstellen können ~/.Xresources oder von der Befehlszeile (xterm -ti vt340).

Einschränkungen: Nur 16 Farben werden verwendet alle Bilder gezeigt. Das heißt, ein Bild könnte besser aussehen, wenn es alleine betrachtet wird. (Siehe unten).

Screenshot showing 16 color limitation

AKTUALISIEREN

Während meine obige Antwort immer noch korrekt ist, habe ich ein noch besseres Shell-Skript erstellt, das in der Lage ist, ein 'ls' von Bildern direkt in ein Terminal zu tun. Es gibt alle Arten von Verbesserungen, die ich hinzugefügt habe, um die Bilder besser aussehen zu lassen (mehr Farben, richtige Alpha, JPEG-Ausrichtung, Handhabung vieler Bilder, kompaktes Kachel-Layout, ...). Es ist immer noch ein ziemlich kleines Programm, aber ich dachte mir, dass die Leute es vielleicht anpassen wollen, also habe ich es auf github gestellt: https://github.com/hackerb9/lsix.


18
2018-05-31 11:24





Es ist eigentlich ein solches Projekt benannt TermKit, wenn Sie es testen möchten - check out http://blog.easytech.com.ar/2011/05/21/playing-with-termkit-with-chrome/ aber es ist ziemlich unfertig (da du anscheinend einen Mac hast, solltest du die Mac-Version ausprobieren, da es "das Original" ist)

Also ja, es ist eine Idee, die es sich zu erkunden lohnt - der Wechsel zwischen grafischem und Nur-Text-Modus muss schnell sein, da ich die Bilder nicht immer sehen muss. Auch - es muss vollständig kompatibel mit z.B. Vim ..


12
2018-01-22 10:39



Ich habe schon einmal von diesem Projekt gelesen Slashdot. Klingt faszinierend! Schade, dass Sie Google Chrome brauchen, um es zu benutzen ... nun, okay, es ist nicht schlecht, wenn Sie Chrome verwenden, aber es scheint eine unnötige Abhängigkeit zu sein. - Christopher Kyle Horton
@ WarriorIng64 Ja, ich könnte es funktionieren, wenn du ein bisschen mit Qt's WebKit hackst - aber glücklicherweise haben wir die chromium-browser in den Repos, so dass es ziemlich einfach ist, etwas Chromelike zu installieren - Ich habe TermKit nicht wirklich auf meinem Computer ausprobiert (w / Chromium installiert, aber mit Fx als Haupt), da ich ziemlich abhängig von Vim bin und nicht wirklich kann benutze ein Terminal, das mir meinen geliebten Texteditor nicht geben wird;) - sakjur


Das gibt es nicht; gnome-terminal ist nur in der Lage, Text zu zeigen, zumindest soweit ich weiß.

Aber du kann Rufen Sie über die Befehlszeile einen Bildbetrachter auf, um Ihre Bilder in einem bestimmten Ordner anzuzeigen. Wenn Sie also oben in Ihrem Mock-Up sehen, dass Sie alle JPG-Bilder im aktuellen Ordner aufgelistet haben, können Sie Eye of GNOME (Ubuntus Standard-Bildbetrachter) von der Kommandozeile aus für ähnliche Zwecke verwenden:

eog *.jpg &

Beachten Sie, dass das Fenster, das angezeigt wird, nur jeweils ein Bild zeigt, obwohl Sie die bereitgestellten Pfeiltasten verwenden können, um zwischen ihnen zu wechseln.


8
2018-01-22 10:12



wenn es von einem Terminal läuft, eog *.jpg & disown ist besser, da sonst die EOG wahrscheinlich beendet wird, wenn das Terminal schließt. N.B. Ich wünschte, EOG wäre immer noch Ubuntus Bildbetrachter - Shotwell ist gut, versucht aber, meine 30GB + Bilder zu indizieren .... und ist langsam und nervig - Wilf