Есть ли программа просмотра изображений, которая принимает изображения на STDIN?

7616
SL9

Я ищу средство просмотра изображений, которое принимает данные stdinи может быть запущено следующим образом:

cat image.png | imageviewer 
30

5 ответов на вопрос

36
erjiang

displayПрограмма ImageMagick сделает это, если вы передадите что-то, что она понимает.

cat image.png | display 

и появится всплывающее окно с этим изображением.

В версии `ImageMagick 6.8.8-1 Q16 i686 2014-01-04` Мне также нужно передать` -` в качестве параметра: `$ cat image.png | display -` или `$ display - <image.png`. Emil Lundberg 10 лет назад 1
11
Ignacio Vazquez-Abrams

ImageMagick's display.

display < foo.png 
6
grawity

В Linux (и, вероятно, BSD) почти все из них - если вы укажете /dev/stdinпуть. Это включает в себя: xloadimage, feh, Глаз GNOME ( eog).

eog /dev/stdin < "$file" 

(Однако не все из них хорошо работают со специальными файлами. Например, GThumb не прошел тест.)

Это не работает: cat graph.png | eog / dev / stdin bukzor 13 лет назад 3
Если мы знаем "$ file", я думаю, мы можем выпустить eog "$ file". Я что-то пропустил? Naga Kiran 12 лет назад 0
@Naga: `<" $ file "` был примером. Дело в том, может ли программа принять произвольный поток, будь то простое перенаправление или что-то более продвинутое (например, предоставление изображения через stdin, именованный канал, подстановка процесса, сокет или символьное устройство). Проблема в том, что многие программы просмотра требуют, чтобы fd был доступен для поиска, а это обычные файлы и блочные устройства. grawity 12 лет назад 5
Как отметил @bukzor, `cat graph.png | eog / dev / stdin` не работает, но `eog / dev / stdin <graph.png` работает. Denilson Sá Maia 12 лет назад 3
Есть ли способ заставить этот метод работать с конвейером (`|`)? Tarrasch 12 лет назад 2
Похоже, `eog` ищет информацию о дескрипторе файла (что успешно в особом случае, когда он был перенаправлен непосредственно из файла), тогда как обычные программы Unix просто примут ввод независимо от того, откуда он поступил. Так что `eog` не будет работать для генерала stdin. Еще одна работающая программа - `gwenview / dev / stdin` (программа просмотра изображений KDE). Mechanical snail 10 лет назад 1
Как показывает ответ MaikoID, `... | фех-а работает. Но `... | feh / dev / stdin` не работает. Camille Goudeseune 7 лет назад 0
3
Nathan Ringo

FIFO может работать с eogотсутствием поддержки трубопроводов:

mkfifo $; cat $ > $ &; eog /dev/stdin < $; rm $; 

AFAIK это должно работать.

2
MaikoID

Вы можете использовать Feh, это довольно быстро.

cat image.png | feh --scale-down - 

feh - это облегченный просмотрщик изображений, который находится в репозиториях по умолчанию во многих дистрибутивах Linux. Он специально предназначен для пользователей командной строки, которым нужен быстрый просмотрщик изображений без огромных графических зависимостей.

Можете ли вы немного расширить свой ответ? Просто упоминание о продукте (это команда, продукт или выражение безразличия?), На самом деле не объясняет, как выполнить решение. Лучше объяснить, как использовать продукт для решения проблемы, или хотя бы описать то, что делает продукт хорошим решением, а не случайным попаданием в Google. Хорошее руководство по рекомендации программного обеспечения здесь: http://meta.superuser.com/questions/5329/how-do-i-recommend-software-in-my-answers. Благодарю. fixer1234 7 лет назад 2
Вопрос очень конкретный, я дал конкретный ответ. И ради бога, прямо над нами есть командная строка. MaikoID 7 лет назад 1

Похожие вопросы