Dies ist ein kurzes Modell, das ich kopiere und zusammen füge. Ich stelle mir das super cool und nützlich vor.
Gibt es so etwas schon?
Dies ist ein kurzes Modell, das ich kopiere und zusammen füge. Ich stelle mir das super cool und nützlich vor.
Gibt es so etwas schon?
Antworten:
Update 2018-12-31
Das Allround-Terminal-Emulator-Kätzchen hat einen icat
Befehl zum Anzeigen von Bildern (funktioniert nicht in tmux). Kitty ermöglicht auch die Vorschau von Bildern in Ranger (einem Terminal-Dateimanager). Diese Methode verwende ich derzeit am häufigsten (funktioniert in tmux).
Während der Hauptzweck darin w3m
besteht, das Surfen im Internet in der Konsole zu ermöglichen, kann er auch zum Anzeigen von Bildern im Terminal verwendet werden. Die relevanten zu installierenden Pakete sind w3m
und w3m-img
(zumindest unter Ubuntu). Sie müssen dann den externen Bildbetrachter deaktivieren, -o ext_image_viewer=0
indem Sie das Optionsmenü ('o') aufrufen w3m
und die externe Bildbetrachtung deaktivieren.
Wenn Sie jetzt tippen, w3m <image_name>
wird das Bild im Terminal angezeigt. w3m
wird das gesamte Terminalfenster verwenden, so dass Sie Ihre vorherigen Befehle erst nach dem Beenden sehen können w3m
(denken Sie less
, nicht cat
). Wenn das Bild zu groß ist, um in das Terminalfenster zu passen, wird es dennoch extern geöffnet (in imagemagick für mich). Beachten Sie auch, dass ich zwar mehrere Stellen lese, für die w3m
Inline-Bilder nicht funktionieren gnome-terminal
, aber für mich in Ordnung ist. Es ist etwas ärgerlich, dass Sie q
zweimal tippen müssen , um zuerst das Bild und dann zu schließen w3m
.
tycat
ist Teil von terminology
und zeigt Bilder an wie cat
zeigt Textdateien an und imgcat
funktioniert wie für iTerm2 unter OS X.
Installieren Sie libsixel-bin
ein kompatibles Terminal (Beispiele , die in dieser Readme unter 'Anforderungen' aufgeführt sind , mlterm
oder xterm
kompilieren Sie es mit den richtigen Flags, und Sie können mit dem img2sixel
Befehl Bilder anzeigen . Beide Pakete sind in den Ubuntu-Repos verfügbar.
Dann gibt es FIM , eine verbesserte Version von fbi
. Die Homepage gibt an, dass sie Bilder nicht nur mit dem Framebuffer, sondern auch mit X anzeigen kann. Für mich wird sie jedoch nicht installiert. Bearbeiten Ich habe es zum Laufen gebracht, indem ich die 0.5-Trunk-Version heruntergeladen, ausgeführt ./configure --disable-exif
und dann vorübergehend anaconda
(Python-Distribution) von meinem Pfad entfernt habe, da es einen Konflikt mit libpng
vor der Ausführung verursacht hat make
und sudo checkinstall
(Sie müssen eine Versionsnummer manuell mit eingeben checkinstall
, aber es macht es einfacher zu entfernen als make install
). Die Bilder werden jedoch weiterhin in einem separaten Fenster angezeigt, obwohl Sie wie bei fbi
X nicht unbedingt X ausführen müssen, was ziemlich cool ist.
Sie können auch kreativ werden und die jupyter-qtconsole als Ihre Systemkonsole verwenden, sie so konfigurieren, dass sie Plots inline ( %matplotlib inline
) anzeigt und das Bild dann mit matplotlib =) anzeigt.
feh
verwendet X zum Anzeigen von Bildern, zeigt feh -x
sie jedoch in einem randlosen Fenster an, das schnell mit q
oder geschlossen werden kann x
. Obwohl Bilder nicht per say im Terminal angezeigt werden, hielt ich es für erwähnenswert, da es der am wenigsten aufdringliche Weg ist, den ich bisher gefunden habe und was ich verwende, bis ich gnome-terminal
ein imgcat
/ tycat
äquivalent bekomme.
Vielleicht ist Caca das, was Sie wollen. 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 ist hier, wie dieses Bild in angezeigt wird cacaview
:
Ich habe es manchmal aus Spaß benutzt, um Videos als ASCII in mplayer anzusehen :)
mplayer -vo caca /PATH/TO/video.mpg
img2txt
"watch videos as ASCII" But... why?
weil du willst? weil Sie das Video sehen müssen und das einzige, was Sie haben, ist Terminal? Denn wenn Sie etwas nicht brauchen, heißt das NICHT, dass andere folgen.
mpv
hat einen TCT-Ausgang, der (bei Verwendung mit --quiet
) Medien im Terminal in vergleichbarer Qualität anzeigt wie pxl
.
Ich habe ein kleines C ++ - Tool zum Konvertieren von Bildern in ANSI-RGB-Steuercodes und Unicode-Blockgrafikzeichen für moderne Terminals geschrieben, 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
Verwendungszweck:
tiv <image(s)>
Bearbeiten : Geänderte Links / Anweisungen zum Haupt-Repository; hinzugefügte Nutzung.
Beispiele:
Ich habe eine sehr schnelle, einfache einzeilige Shell-Funktion erstellt, die die ursprüngliche Frage genau so löst, wie es in den Mockups gefordert wurde. Beachten Sie, dass die folgenden Screenshots tatsächliche Bilder und keine Modelle sind.
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: Für alle gezeigten Bilder werden nur 16 Farben verwendet . Das bedeutet, dass ein Bild für sich betrachtet möglicherweise besser aussieht. (Siehe unten).
AKTUALISIEREN
Während meine obige Antwort immer noch richtig ist, habe ich ein noch besseres Shell-Skript erstellt, das in der Lage ist, Bilder direkt in ein Terminal zu übertragen. Es gibt eine Vielzahl von Verbesserungen, die ich hinzugefügt habe, 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 ziemlich kleines Programm, aber ich dachte, die Leute möchten es vielleicht anpassen, also habe ich es auf github veröffentlicht: https://github.com/hackerb9/lsix .
In einem Terminalfenster ist dies nicht möglich, in einer Linux-Konsole jedoch mit fbi
. Sie benötigen einen Framebuffer, damit dies funktioniert:
sudo apt-get install fbi
Gehen Sie zu einer Linux-Konsole (mit Ctrl+ Alt+ F1) und geben Sie einfbi <filename>
Es sollte Ihr Bild zeigen.
fbi
. Die Homepage gibt an, dass sie Bilder nicht nur mit dem Framebuffer, sondern auch mit X anzeigen kann. Für mich wird sie jedoch nicht installiert.
Eine andere Alternative ist die Terminologie:
https://www.youtube.com/watch?feature=player_embedded&v=ibPziLRGvkg
Sie können es unter Ubuntu installieren, indem Sie das Repository enlightenment-git hinzufügen :
sudo add-apt-repository ppa:enlightenment-git/ppa
sudo apt-get update && sudo apt-get install terminology
In neueren Ubuntu-Versionen> = Vivid (15.04) kann es aus den offiziellen Repositories abgerufen werden.
sudo apt-get install terminology
Geben Sie zum Anzeigen eines Bildes tycat IMAGENAME
und zum Anzeigen einer Liste von Bildern Folgendes ein tyls -m
.
tycat
um ein Bild inline tyls -m
anzuzeigen und mittelgroße Thumbnails in einem Verzeichnis anzuzeigen.
terminology
befindet sich in den offiziellen Ubuntu-Repositories , es wird kein PPA benötigt.
Es gibt tatsächlich ein solches Projekt namens TermKit , wenn Sie es testen möchten - lesen Sie http://blog.easytech.com.ar/2011/05/21/playing-with-termkit-with-chrome/, aber es ist ziemlich unvollendet (da Sie einen Mac zu haben scheinen, sollten Sie die Mac-Version ausprobieren, da es "das Original" ist)
Also ja, es ist eine Idee, die es wert ist, erkundet zu werden - der Wechsel zwischen Grafik- und Nur-Text-Modus muss schnell gehen, da ich die angezeigten Bilder nicht immer benötige. Auch - es muss voll kompatibel sein mit zB Vim ..
chromium-browser
die Repos, so dass es ziemlich einfach ist, etwas Chromartiges zu installieren - ich habe TermKit nicht wirklich auf meinem Computer (mit Chromium) ausprobiert installiert, aber mit Fx als main), da ich ziemlich abhängig von Vim bin und nicht wirklich ein Terminal verwenden kann, das mir nicht meinen geliebten Texteditor gibt;)
Das gibt es nicht; gnome-terminal
kann nur Text anzeigen, zumindest soweit ich weiß.
Sie können jedoch einen Bildbetrachter über die Befehlszeile aufrufen, um Ihre Bilder in einem bestimmten Ordner anzuzeigen. Wenn Sie also von Ihrem obigen Modell ausgehen und alle .jpg-Bilder im aktuellen Ordner auflisten, können Sie Eye of GNOME (Ubuntus Standard-Bildbetrachter) über die Befehlszeile für etwas Ähnliches verwenden:
eog *.jpg &
Beachten Sie, dass das sich öffnende Fenster jeweils nur ein Bild anzeigt. Sie können jedoch die bereitgestellten Pfeiltasten verwenden, um zwischen den Bildern zu wechseln.
eog *.jpg & disown
ist dies besser, da das EOG ansonsten wahrscheinlich beendet wird, wenn das Terminal geschlossen wird. NB Ich wünschte, EOG wäre immer noch Ubuntus Standard-Bildbetrachter - shotwell ist gut, versucht aber, meine über 30 GB großen Bilder zu indizieren .... und ist trotzdem langsam und nervig
Ich habe ein Tool dafür geschrieben. Ich habe mein Bild im Terminal anzeigen ( siit
) genannt. Es wird davon ausgegangen, dass Sie ein 256-Farben-Terminal und UTF8-Unterstützung haben, und es ist in Perl geschrieben.
Ich ließ es in meinem fallen ~/bin
. Es wird davon ausgegangen, dass Sie Image :: Magick, Term :: Size, Getopt :: Long und Time: HiRes haben, die alle in den Repositories Ihrer Distribution oder im CPAN verfügbar sein sollten.
Mein Ziel war es, in mein Haus zu gelangen und Bilder schnell anzuzeigen, ohne eine Anzeige über X zu starten. Das Skript passt sich an die Breite / Höhe des Terminals an, in dem Sie sich befinden. Ich habe UTF8-Zeichen verwendet, um die vertikale Auflösung Ihres Terminals effektiv zu verdoppeln, was wirklich der Fall ist hilft klarheit. YMMV.
Zusätzlich zu Joels Antwort kann der Ranger- Terminal-Dateimanager mit w3mimgdisplay
Erweiterung Bilder in Vollfarbe anzeigen und unterstützt auch "oldschool ASCII-Kunstvorschauen". So können Sie es aktivieren. Dies ist möglicherweise nicht genau das, wonach Sie gesucht haben, sondern eine Möglichkeit, eine Vorschau der Bilder im Terminal anzuzeigen.
Ein anderes Tool ist catimg , obwohl es kein fertiges Paket für Ubuntu gibt. Das Bild wird nicht angezeigt, sondern in farbige Zeichen umgewandelt.
Hier sind einige Lösungen in node.js
(Installationsanweisungen hier ).
Geben Sie zum Installieren entweder npm install -g <package_name>
where package_name
is of picture-tube
oder ein imaging
.
feh
! Ich weiß, dass es nicht im Terminal ist, aber es macht seinen Job.