Respostas:
ImageMagick's display
.
display < foo.png
No Linux (e provavelmente BSDs), quase todos eles - se você der /dev/stdin
o 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/stdin
falha, mas eog /dev/stdin < graph.png
funciona.
|
) também?
eog
está 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 eog
a 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-04
eu preciso também passar-
como parâmetro:$ cat image.png | display -
ou$ display - < image.png
.