Optionen zum Anzeigen von Bildern in der Konsole

12

Wenn ich auf der Konsole (die tty, das virtuelle Terminal, das Sie mit erreichen Ctrl+ Alt+ F1-6, kein Terminal - Emulator), welche Optionen ich um Bilder, tiff haben, was immer das nicht Text ist?

Joseph Schliesser
quelle
Sie meinen das virtuelle Terminal im Gegensatz zu einem Terminalemulator? unix.stackexchange.com/questions/4126/…
Graeme
@Graeme: Ja, das war's.
Joseph Schliesser
Siehe auch: Gate One
Strugee

Antworten:

9

Sie können die Bibliothek von AA-Project verwenden

Bildbeschreibung hier eingeben

Anwendungen:

  • xine-console [video]
  • xaos [Fraktale / Mandelbrot]
  • vlc [video]
  • aview [fotos]
  • ... amo

quelle
7

Zunächst müssen Sie sicherstellen, dass der Framebuffer aktiviert ist. Es gibt absolut keine Möglichkeit, Bilder im Textmodus anzuzeigen. Sobald Sie den Framebuffer aktiviert haben, können Sie das Programm fbizum Anzeigen von Bildern verwenden.

Verpackung: fbi

Linux Frame Buffer Image Viewer

Dies ist ein Bildbetrachter für Linux-Bildspeichergeräte. Es verfügt über eine integrierte Unterstützung für eine Reihe gängiger Bilddateiformate. Bei unbekannten Dateien wird versucht, convert aus dem ImageMagick-Paket als externen Konverter zu verwenden. Es enthält auch fbgs, einen Postscript- und PDF-Viewer.

Graeme
quelle
7

Viele Bilder sind farbig, daher können Sie den ASCII-Bildbetrachter ( cacaview) und den Bild-zu-Text-Konverter ( img2iso) von libcaca verwenden .

  • Verwenden Sie zum Durchsuchen von Bildern den ASCII-Bildbrowser :

    cacaview /usr/share/pixmaps/*.*
    
  • Bilder in textbasierte Farbdateien konvertieren:

    img2txt -W 150 penguins_mating.png > penguins_mating.txt
    
  • Filme und Videos in der Textkonsole anzeigen:

    mplayer -vo caca https://upload.wikimedia.org/wikipedia/commons/4/41/Big_Buck_Bunny_medium.ogv
    

    Meistens benötigen Sie diese Option nicht, -vo cacawenn Sie Ihr Video in einer Nur-Text-Umgebung anzeigen (Terminal mit SSH-Verbindung, virtuelles Terminal usw.). Standardmäßig erhalten Sie die nicht farbige Textausgabe (dh -vo aa), aber die Farbe ist möglicherweise besser.

Für Fedora und Ubuntu muss das Paket caca-utilsinstalliert sein.

Lesen Sie hier für weitere Informationen.

Bildbeschreibung hier eingeben

erik
quelle
2

mplayerhat einen Framebuffer-Treiber (2 Versionen, falls eine nicht funktioniert). Verwenden

mplayer -vo fbdev [or fbdev2] <filename>

Für Bilder fbiund fimArbeit. Was auch immer diese beiden nicht können, Sie können wahrscheinlich im laufenden Betrieb in Bilder konvertieren ( imagemagickfunktioniert wie Magie), sodass Sie alles abgedeckt haben.

orion
quelle
1

Sie können ein Framebuffer-Gerät verwenden . Der Framebuffer-Mechanismus wird verwendet, um Tux beim Booten anzuzeigen.

Es gibt auch die libcaca , mit der ASCII-Kunstbilder angezeigt werden.

lgeorget
quelle
Könnten Sie etwas mehr Details hinzufügen? Wie würde man mit diesen Werkzeugen umgehen?
Terdon
Dies hängt stark von Ihrer Hardware und Ihren Anforderungen ab. Sie sollten mehr Details in Ihrer Frage angeben und den Kontext angeben.
Lgeorget
Nicht meine Frage. Ich weise darauf hin, dass Sie bei der Beantwortung einer Frage die Details zur Vorgehensweise angeben sollten. Sie geben lediglich zwei Links zu externen Quellen an, was wir zu vermeiden versuchen. Die Idee ist, dass die Antworten auf den SE-Sites in sich geschlossen sind.
Terdon
Natürlich, aber es gibt nicht nur eine Möglichkeit, diese Tools zu verwenden. Und es gibt nicht viel Kontext in der Frage so ...
Lgeorget
0

ffmpeg kann jedes Bildformat im Vollbildmodus anzeigen:

ffmpeg -i image.ext -s $(< /sys/class/graphics/fb0/virtual_size tr , x) \
       -vcodec rawvideo -f image2 -pix_fmt bgra -y /dev/fb0 &>/dev/null && read

MetNP
quelle
0

Heute gibt es eine Bibliothek namens SVGAlib . Es verwaltet direkt die Grafikkarte mit User-Space-Treibern (hauptsächlich von X importiert).

Es hat keine Treiber für die meisten aktuellen Grafikkarten, aber

  • es hat einen VESA-Ausgabetreiber (dh es kann im Wesentlichen die Ausgabe mit den BIOS-Treibern verarbeiten)
  • es hat fbdev-treiber (wird /dev/fb0als grafikkarte gehandhabt, verwendet also im wesentlichen die kerneltreiber).

Es gibt viele Software, die SVGALib verwenden, zum Beispiel mplayer (für die Videoausgabe) und den xzgv-Bildbetrachter , der Ihre Frage beantwortet .

Obwohl Sie sie aus dem Quellcode kompilieren müssen, weil alle Linux-Distributionsentwickler seit ungefähr einem Jahrzehnt der Meinung sind, dass X (mit durchgehend schönen, nie erfüllten Versprechungen wie kgi, ggi und heute wayland) die Zukunft ist.

Peterh: Setzen Sie Monica wieder ein
quelle
0

Diese Antwort ist auf native Linux-Konsolen beschränkt, die Frame-Buffer-fähig sind. Mit dieser Option erhalten Sie echte Bilder in voller Auflösung und echtes Video (nicht ASCII) ohne X11oder waylandoder mir.

Ab 2018 bietet debian ein Paket an, fimdas einen Bildbetrachter fimund einen Dokumentbetrachter enthält fimgs. Für fimgsist die Standardauflösung 96x96, die Sie wahrscheinlich unzureichend finden. Ich finde, dass der Aufruf mit Option -r 256x256ausreicht. Diese beiden Programme sollen 'modernisierte' Versionen anderer Programme sein, die auch in debian verfügbar sind, fbiund fbgs. Eine besondere Enttäuschung mit dem älteren Programm fbgsist, dass es langsam rendert und eine gesamte PDF-Datei rendert, bevor auch nur eine einzelne Seite angezeigt wird. Wenn Sie also ein Dokument mit vielen Seiten haben, werden Sie lange warten müssen.

Es gibt mehrere Programme, die nicht für den Framebuffer-Betrieb spezifisch sind und die eine feine Framebuffer-Unterstützung bieten. Der w3mWebbrowser zeigt Bilder an, wenn das Support Package w3m-imginstalliert ist. Der fehBildbetrachter arbeitet in einer Einzelbildpuffer-Konsole, ebenso wie vlcfür Videos.

All dies ist alles sehr gut, aber um eine dieser Optionen zu nutzen, müssen Sie zuerst die Dinge einrichten.

Die gute Nachricht ist, dass so ziemlich alle modernen Linux-Distributionen Kernel mit dem verfügbaren Framebuffer liefern. Was normalerweise nicht gemacht wird, ist die Konfiguration des tatsächlich verwendeten Frame-Puffers. Wenn Sie den grubBootloader verwenden, müssen Sie dafür sicherstellen, dass Folgendes in Ihrer Datei vorhanden ist /etc/default/grub(Ihre spezifische Auflösungsnummer kann davon abweichen):

  GRUB_GFXMODE=1024x768
  GRUB_GFXPAYLOAD_LINUX=1024x768

Und Sie müssen sicherstellen, dass die folgende Zeile auskommentiert ist:

  #GRUB_TERMINAL=console

Danach müssen Sie grub durch Ausführen aktualisieren update-grubund neu starten, damit die Änderungen wirksam werden.

Möglicherweise müssen Sie Ihren Benutzer auch der videoBerechtigungsgruppe hinzufügen :

  usermod -a -G video <user_name>

Einige Programme erfordern möglicherweise einen speziellen Funktionszugriff. Nach meinen Aufzeichnungen ist dies der Fall fbi, aber ich sehe auf meinem System, dass dies nicht der Fall ist fim. Stelle dir das vor. In jedem Fall lautet der Befehl dafür:

  setcap 'cap_sys_tty_config+ep' /usr/bin/fbi

Ein Programm, das ich nicht empfehlen kann und mit dem ich nur Probleme hatte, ist fbterm. Es hielt für meine Farbschemata durcheinander emacs, mc, lessund andere Programme, und ich erinnere mich , dass es nicht gut wäre spielen wird tmux.

Ein wichtiger Hinweis zur Verwendung vlcin einer Framebuffer-Konsole: Ich stellte fest, dass manchmal, auf eine Weise, die ich nicht zuverlässig reproduzieren konnte, vlcder Framebuffer eingefroren und nicht freigegeben wurde, kurz bevor der Computer neu gestartet wurde ("alt-sysrq"). Dies geschah manchmal, wenn versucht wurde, zu einer anderen virtuellen Konsole zu wechseln. manchmal beim Experimentieren mit welchen vlcTastaturbefehlen funktionieren würde. Du wurdest gewarnt.

user1404316
quelle
Es gibt auch den Begriff Emulator- Terminologie , der auf einer Framebuffer-Konsole ( terminology --nowm) ausgeführt werden kann. Das mitgelieferte Dienstprogramm tycatkann Bilder einbetten.
Quixotic
Gehört das zu den Leuten auf dem Desktop der Aufklärung? Ich habe es vielleicht vor einem Jahr evaluiert und es war damals fehlerhaft, aber wenn Sie dafür bürgen können, großartig!
user1404316
Ich habe gerade angefangen, es zu betrachten und kann das Fehlen von Fehlern nicht bestätigen, sorry. es funktioniert meistens - ok auf einem System (Intel GPU), funktioniert nicht auf einem anderen (NVIDIA proprietärer Treiber, ungetestet, aber wahrscheinlich funktioniert es unter Nouveau). setze XKB_DEFAULT_{LAYOUT,VARIANT,OPTIONS}env Variablen für xkb Layouts (obwohl AltGr nicht richtig zu funktionieren scheint).
Quixotic
-6

Keiner. Sie benötigen eine Art Anzeigeserver, um Bilder anzuzeigen. Xserver, mir, wayland oder ähnliches bieten die Schnittstellen für Bilder. getty ist für die Emulation von Textterminals konzipiert und kann keine Bilder anzeigen.

LivingLifeback
quelle
2
Ich stimme nicht zu. Wie würde der Tux zur Startzeit angezeigt? commons.wikimedia.org/wiki/File:KNOPPIX_booting.png ;-)
lgeorget
Bildspeicher, Framebuffer. Ohne die Aktivierung der Frame-Pufferung ist dies nicht möglich. Aber sie erwähnten auch, dass sie sich in einem echten Terminal befanden. Ich bin mir ziemlich sicher, dass es nicht möglich ist, zu vergessen, dass sie sich nicht auf einem realen Terminal, auf einem realen Terminal (VT1000) oder ähnlichem befinden.
Livinglifeback
Viele reale Terminals können Grafiken zeichnen. Grafikfähigkeit war in den 1980er Jahren ein Verkaufsargument. Und gettyemuliert nichts.
JdeBP