Respostas:
ImageMagick's display.
display < foo.png
No Linux (e provavelmente BSDs), quase todos eles - se você der /dev/stdino caminho. Isto inclui: xloadimage, feh, Olho do GNOME ( eog).
eog /dev/stdin < "$file"
(Porém, nem todos eles funcionam bem com arquivos especiais. GThumb falhou no teste, por exemplo.)
< "$file"foi um exemplo. A questão era se o programa pode aceitar um fluxo arbitrário, seja um redirecionamento simples ou algo mais avançado (como fornecer uma imagem via stdin, um pipe nomeado, substituição de processo, um soquete ou um dispositivo de caractere). O problema é que muitos visualizadores exigem que o fd seja procurado, o que somente são arquivos comuns e dispositivos de bloco.
cat graph.png | eog /dev/stdinfalha, mas eog /dev/stdin < graph.pngfunciona.
|) também?
eogestá pesquisando informações sobre o descritor de arquivo (que é bem-sucedido no caso especial de que ele foi redirecionado diretamente de um arquivo), enquanto os programas Unix normais apenas recebem a entrada, independentemente de onde ela é. Portanto eog, não funcionará para o stdin geral. Outro programa que funciona é gwenview /dev/stdin(o visualizador de imagens do KDE).
Um FIFO poderia trabalhar com eoga falta de suporte de tubulação:
mkfifo ${tmpfilename};
cat ${file} > ${tmpfilename} &;
eog /dev/stdin < ${tmpfilename};
rm ${tmpfilename};
AFAIK isso deve funcionar.
Você pode usar feh, é bem rápido.
cat image.png | feh --scale-down -
feh é um visualizador de imagens leve, que está nos repositórios padrão de muitas distribuições Linux. Destina-se especialmente a usuários de linha de comando que precisam de um visualizador de imagens rápido, sem grandes dependências da GUI.
ImageMagick 6.8.8-1 Q16 i686 2014-01-04eu preciso também passar-como parâmetro:$ cat image.png | display -ou$ display - < image.png.