Antworten:
ImageMagick's display
.
display < foo.png
Unter Linux (und wahrscheinlich BSDs) fast alle - wenn Sie /dev/stdin
als Pfad angeben. Dazu gehören: xloadimage
, feh
, Eye of GNOME ( eog
).
eog /dev/stdin < "$file"
(Nicht alle funktionieren jedoch gut mit speziellen Dateien. GThumb hat den Test beispielsweise nicht bestanden.)
< "$file"
war ein Beispiel. Es ging darum, ob das Programm einen beliebigen Stream akzeptieren kann, sei es eine einfache Umleitung oder etwas Fortgeschritteneres (wie das Bereitstellen eines Images über stdin, eine Named Pipe, eine Prozessersetzung, einen Socket oder ein Zeichengerät). Das Problem ist, dass viele Zuschauer den fd als suchbar benötigen, was nur normale Dateien und Blockgeräte sind.
cat graph.png | eog /dev/stdin
schlägt fehl, eog /dev/stdin < graph.png
funktioniert aber .
|
) zu verwenden?
eog
als würden Informationen über den Dateideskriptor nachgeschlagen (was in dem speziellen Fall gelingt, dass sie direkt von einer Datei umgeleitet wurden), während normale Unix-Programme die Eingabe nur übernehmen, unabhängig davon, woher sie kommt. Also eog
wird nicht für allgemeine stdin arbeiten. Ein anderes Programm, das funktioniert, ist gwenview /dev/stdin
(der KDE-Bildbetrachter).
Ein FIFO könnte mit eog
mangelnder Rohrleitungsunterstützung arbeiten:
mkfifo ${tmpfilename};
cat ${file} > ${tmpfilename} &;
eog /dev/stdin < ${tmpfilename};
rm ${tmpfilename};
AFAIK das sollte funktionieren.
Sie können feh verwenden, es ist ziemlich schnell.
cat image.png | feh --scale-down -
feh ist ein kompakter Image-Viewer, der in vielen Linux-Distributionen standardmäßig enthalten ist. Es richtet sich insbesondere an Befehlszeilenbenutzer, die einen schnellen Bildbetrachter ohne große GUI-Abhängigkeiten benötigen.
ImageMagick 6.8.8-1 Q16 i686 2014-01-04
ich auch-
als Parameter übergeben:$ cat image.png | display -
oder$ display - < image.png
.