Câu trả lời:
ImageMagick's display
.
display < foo.png
Trên Linux (và có thể là BSD), hầu hết tất cả chúng - nếu bạn đưa ra /dev/stdin
làm đường dẫn. Điều này bao gồm: xloadimage
,, feh
Mắt của Gnome ( eog
).
eog /dev/stdin < "$file"
(Tuy nhiên, không phải tất cả chúng đều hoạt động tốt với các tệp đặc biệt. Chẳng hạn, GThumb đã thất bại trong bài kiểm tra.)
< "$file"
là một ví dụ. Vấn đề là liệu chương trình có thể chấp nhận một luồng tùy ý hay không, có thể là một chuyển hướng đơn giản hoặc một cái gì đó cao cấp hơn (chẳng hạn như cung cấp hình ảnh qua stdin, một ống có tên, thay thế quá trình, ổ cắm hoặc thiết bị ký tự). Vấn đề là nhiều người xem yêu cầu fd có thể tìm kiếm được, chỉ có các tệp thông thường và các thiết bị chặn.
cat graph.png | eog /dev/stdin
thất bại, nhưng eog /dev/stdin < graph.png
hoạt động.
|
) không?
eog
đang tìm kiếm thông tin về bộ mô tả tệp (thành công trong trường hợp đặc biệt là nó được chuyển hướng trực tiếp từ một tệp), trong khi các chương trình Unix thông thường sẽ chỉ lấy đầu vào bất kể nó đến từ đâu. Vì vậy, eog
sẽ không làm việc cho stdin chung. Một chương trình khác hoạt động là gwenview /dev/stdin
(trình xem ảnh KDE).
Một FIFO có thể hoạt động với eog
sự thiếu hỗ trợ đường ống:
mkfifo ${tmpfilename};
cat ${file} > ${tmpfilename} &;
eog /dev/stdin < ${tmpfilename};
rm ${tmpfilename};
AFAIK này nên hoạt động.
Bạn có thể sử dụng feh, nó khá nhanh.
cat image.png | feh --scale-down -
feh là một trình xem ảnh nhẹ nằm trong kho mặc định của nhiều bản phân phối Linux. Nó đặc biệt nhắm đến người dùng dòng lệnh, những người cần một trình xem hình ảnh nhanh mà không cần phụ thuộc GUI lớn.
ImageMagick 6.8.8-1 Q16 i686 2014-01-04
tôi cũng cần phải vượt qua-
như một tham số:$ cat image.png | display -
hoặc$ display - < image.png
.