回答:
ImageMagickのdisplay
。
display < foo.png
Linux(およびおそらくBSD)では、そのほとんどすべて(/dev/stdin
パスとして指定した場合)。これには含まれています:xloadimage
、feh
、GNOMEの眼(eog
)。
eog /dev/stdin < "$file"
(ただし、すべてが特殊ファイルでうまく機能するとは限りません。たとえば、GThumbはテストに失敗しました。)
< "$file"
は一例です。ポイントは、プログラムが任意のストリームを受け入れることができるかどうか、単純なリダイレクトでも、より高度なものでも(たとえば、stdin、名前付きパイプ、プロセス置換、ソケット、またはキャラクターデバイスを介したイメージの提供など)。問題は、多くの視聴者がfdがシーク可能であることを要求していることです。これは通常のファイルとブロックデバイスのみです。
cat graph.png | eog /dev/stdin
失敗しますが、eog /dev/stdin < graph.png
動作します。
|
)でも機能させる方法はありますか?
eog
ファイル記述子の情報を検索しているように見えます(ファイルから直接リダイレクトされたという特別な場合に成功します)が、通常のUnixプログラムはどこから来たとしても入力を取得します。したがってeog
、一般的な標準入力では機能しません。動作する別のプログラムはgwenview /dev/stdin
(KDE画像ビューアー)です。
fehを使用できます。かなり高速です。
cat image.png | feh --scale-down -
fehは、多くのLinuxディストリビューションのデフォルトリポジトリにある軽量の画像ビューアです。特に、GUIに大きく依存することなく高速な画像ビューアを必要とするコマンドラインユーザーを対象としています。
ImageMagick 6.8.8-1 Q16 i686 2014-01-04
は-
、パラメータとしても渡す必要があります:$ cat image.png | display -
または$ display - < image.png
。