Wie kann ich auf meinem Terminal grafische Bilder anzeigen lassen?

116

Dies ist ein schnelles Modell, das ich kopiere und zusammen füge. Ich kann mir vorstellen, dass das super cool und nützlich ist.

Gibt es so etwas schon?

    
Dennkster 22.01.2012, 10:41
quelle

12 Antworten

54

Vielleicht möchten Sie caca . Für Bilder :

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

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

Zum Beispiel wird dieses Bild in cacaview :

angezeigt

Ich habe es manchmal zum Spaß verwendet, um Videos als ASCII in mplayer anzusehen :) So sieht das aus:

mplayer -vo caca /PATH/TO/video.mpg
    
user569825 07.09.2012 13:35
quelle
32

1. w3m

Der Hauptzweck von w3m ist die Bereitstellung von In-Console-Webbrowsern, er kann jedoch auch zum Anzeigen von Bildern in Terminals verwendet werden. Die relevanten zu installierenden Pakete sind w3m und w3m-img (mindestens unter Ubuntu). Sie müssen dann den externen Bildbetrachter deaktivieren, indem Sie -o ext_image_viewer=0 übergeben oder das Optionsmenü ('o') in w3m aufrufen und die Anzeige externer Bilder deaktivieren.

Wenn Sie nun w3m <image_name> eingeben, wird das Bild im Terminal angezeigt. w3m verwendet das gesamte Terminalfenster, sodass Sie Ihre vorherigen Befehle erst sehen können, wenn Sie w3m beenden (denken Sie less , nicht cat ). Wenn das Bild zu groß ist, um in das Terminalfenster zu passen, wird es immer noch extern geöffnet (in imagemagick für mich). Beachten Sie auch, dass, obwohl ich mehrere Orte gelesen habe, dass w3m Inline-Bilder für gnome-terminal nicht funktionieren würden, dies für mich einwandfrei funktioniert. Es ist etwas ärgerlich, dass Sie zweimal q eingeben müssen, um zuerst das Bild und dann w3m zu schließen.

2. Terminologie

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

3. libsixel + mlterm / xterm

Installieren Sie libsixel-bin und ein kompatibles Terminal (Beispiele unter 'Anforderungen' dieser Readme-Datei , beispielsweise mlterm oder xterm wurden mit den richtigen Flags kompiliert und Sie können Bilder mit dem Befehl img2sixel anzeigen. Beide Pakete sind in den Ubuntu-Repos verfügbar.

4. FIM

Dann gibt es FIM , eine verbesserte Version von fbi . Die Homepage besagt, dass Bilder nicht nur mit dem Framebuffer, sondern auch mit X angezeigt werden können. Es wird jedoch für mich nicht installiert. Bearbeiten Ich habe es gestartet, indem ich die 0.5-Trunk-Version heruntergeladen habe, ./configure --disable-exif ausgeführt habe und dann anaconda (Python-Distribution) vorübergehend aus meinem Pfad entfernt habe, da er vor dem Ausführen von% co_de einen Konflikt mit libpng verursacht hat % und make (Sie müssen eine Versionsnummer manuell mit sudo checkinstall eingeben, dies erleichtert jedoch das Entfernen als checkinstall ). Bilder werden jedoch immer noch in einem separaten Fenster angezeigt, obwohl Sie wie bei make install kein X ausführen müssen, was irgendwie cool ist.

5. jupyter-qtconsole

Sie könnten auch kreativ werden und das jupyter-qtconsole als Systemkonsole verwenden, es so konfigurieren, dass Plots inline ( fbi ) angezeigt werden, und dann das Bild mit matplotlib anzeigen =)

6. feh

%matplotlib inline verwendet X zur Anzeige von Bildern, aber feh zeigt sie in einem randlosen Fenster an, das schnell mit feh -x oder q geschlossen werden kann. Obwohl Bilder nicht per Terminal im Terminal angezeigt werden, dachte ich, es sei erwähnenswert, da dies die bisher unauffälligste Methode ist, die ich bisher gefunden habe und was ich verwende, bis x ein gnome-terminal / imgcat -Äquivalent erhält / p>     

joelostblom 14.11.2015 23:28
quelle
31

Dies ist in einem Terminalfenster nicht möglich, aber in einer Linux-Konsole mit fbi . Sie benötigen einen Framebuffer, damit dies funktioniert:

sudo apt-get install fbi

Wechseln Sie zu einer Linux-Konsole (mit Strg + Alt + F1 ) und geben Sie fbi <filename>

ein

Es sollte Ihr Bild zeigen.

    
Amith KK 22.01.2012 11:12
quelle
25

Ich habe ein kleines C ++ - Tool geschrieben, um Bilder in ANSI-RGB-Steuercodes und Unicode-Block-Grafikzeichen für moderne Terminals umzuwandeln, die diese Funktionen unterstützen: / a>

Installation:

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

Nutzung:

tiv <image(s)>

Bearbeiten : Geänderte Links / Anweisungen zum Haupt-Repository; Verwendung hinzugefügt.

Beispiele:

    
Stefan Haustein 09.04.2016 01:06
quelle
21

Ich habe eine sehr schnelle, einfache Einzeilen-Shell-Funktion erstellt, die die ursprüngliche Frage genau wie in den Mockups gefordert löst. Beachten Sie, dass die Abbildungen unten Abbildungen sind und keine Modelle.

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

Die Voraussetzungen sind minimal: xterm und ImageMagick ( apt-get install xterm imagemagick ). Ihr Xterm muss sich im vt340-Modus befinden, den Sie entweder in ~/.Xresources oder über die Befehlszeile ( xterm -ti vt340 ) einstellen können.

Einschränkungen: Bei allen angezeigten Bildern werden nur 16 Farben verwendet. Das bedeutet, dass ein Bild für sich betrachtet besser aussieht. (Siehe unten).

UPDATE

Obwohl meine obige Antwort immer noch korrekt ist, habe ich ein noch besseres Shell-Skript erstellt, das ein "ls" von Bildern direkt in ein Terminal einlesen kann. Ich habe alle möglichen Verbesserungen vorgenommen, um die Bilder besser aussehen zu lassen (mehr Farben, korrektes Alpha, JPEG-Ausrichtung, Umgang mit vielen Bildern, kompaktes Kachel-Layout, ...). Es ist immer noch ein recht kleines Programm, aber ich dachte, die Leute würden es vielleicht anpassen wollen, also habe ich es auf github gestellt: link .

    
hackerb9 31.05.2017 13:24
quelle
18

Eine andere Alternative ist die Terminologie:

link

Sie können es auf Ubuntu installieren, indem Sie das Repository Erleuchtungsgit hinzufügen:

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

Oder in den letzten Ubuntu-Releases > = Vivid (15.04) kann es aus den offiziellen Repositories abgerufen werden.

sudo apt-get install terminology

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

    
Javier López 27.02.2014 03:09
quelle
12

Es gibt tatsächlich ein solches Projekt mit dem Namen TermKit . Wenn Sie es testen möchten, besuchen Sie link aber es ist ziemlich unvollendet (da Sie scheinbar einen Mac haben, sollten Sie Probieren Sie die Mac-Version aus, da es "das Original" ist.

Ja, es ist jedoch eine Idee, die es zu erkunden gilt. Der Wechsel zwischen Grafik- und Nur-Text-Modus muss schnell sein, da ich die angezeigten Bilder nicht immer brauche. Es muss auch vollständig kompatibel sein mit z. Vim ..

    
sakjur 22.01.2012 11:39
quelle
8

Das gibt es nicht; gnome-terminal kann, soweit ich weiß, nur Text anzeigen.

Sie können jedoch einen Bildbetrachter von der Befehlszeile aus aufrufen, um Ihre Bilder in einem bestimmten Ordner anzuzeigen. Wenn Sie also Ihr Modell oben zeigen und alle .jpg-Bilder im aktuellen Ordner auflisten, können Sie Eye of GNOME (Ubuntus Standard-Bildbetrachter) in der Befehlszeile für etwas ähnliches verwenden:

eog *.jpg &

Beachten Sie, dass in dem angezeigten Fenster jeweils nur ein Bild angezeigt wird. Sie können jedoch auch die Pfeilschaltflächen verwenden, um zwischen ihnen zu wechseln.

    
Christopher Kyle Horton 22.01.2012 11:12
quelle
6

Ich habe ein Werkzeug dafür geschrieben. Ich habe mein Show Image in Terminal ( siit ) genannt. Es wird davon ausgegangen, dass Sie ein 256-Farbterminal und eine UTF8-Unterstützung haben und in Perl geschrieben sind.

Ich habe es in meinem ~/bin gelöscht. Es wird davon ausgegangen, dass Sie über Image :: Magick, Term :: Size, Getopt :: Long und Time: HiRes verfügen, die alle in den Repositories Ihrer Distribution oder in CPAN verfügbar sein sollten.

Mein Ziel war es, ssh in mein Haus aufzunehmen und Bilder schnell anzuzeigen, ohne eine Anzeige über X zu starten. Das Skript skaliert auf die entsprechende Breite / Höhe für das Terminal, in dem Sie sich befinden. Ich habe UTF8-Zeichen verwendet, um die vertikale Auflösung Ihres Terminals effektiv zu verdoppeln , was wirklich zur Klarheit beiträgt. YMMV.

Beispielaufnahmen hier

Quellcode hier

    
Tom 04.05.2013 17:04
quelle
3

Hier einige Lösungen in node.js (Installationsanweisungen hier ).

  1. Bildröhre

  2. Imaging

Zur Installation geben Sie npm install -g <package_name> ein, wobei package_name entweder picture-tube oder imaging ist.

    
Nemo 02.02.2014 14:54
quelle
3

Zusätzlich zu Joels Antwort , Ranger Terminaldateimanager mit der Erweiterung w3mimgdisplay können Bilder in Vollfarbe anzeigen und unterstützt auch" Oldschool ASCII-Kunstvorschauen ". Hier können Sie es aktivieren. Dies ist möglicherweise nicht genau das, wonach Sie gesucht haben, sondern eine Möglichkeit, eine Vorschau der Bilder in einem Terminal anzuzeigen.

    
afedersin 13.05.2017 09:32
quelle
2

Ein anderes Tool ist catimg , allerdings gibt es kein fertiges Paket für Ubuntu. Das Bild wird nicht angezeigt, sondern in farbige Zeichen umgewandelt.

    
some user 27.09.2016 16:32
quelle

Tags und Links