ฉันกำลังมองหาโปรแกรมดูรูปภาพที่ใช้ข้อมูลstdin
และสามารถทำงานได้เช่น:
cat image.png | imageviewer
ฉันกำลังมองหาโปรแกรมดูรูปภาพที่ใช้ข้อมูลstdin
และสามารถทำงานได้เช่น:
cat image.png | imageviewer
คำตอบ:
display
โปรแกรมของ ImageMagick จะทำเช่นนั้นโดยสมมติว่าคุณทำสิ่งที่เข้าใจ
cat image.png | display
และมันจะปรากฏหน้าต่างแสดงภาพนั้นขึ้นมา
display
ImageMagick ของ
display < foo.png
บน Linux (และ BSD น่าจะ) เกือบทั้งหมดถ้าคุณให้/dev/stdin
เป็นเส้นทาง ซึ่งรวมถึง: xloadimage
,, feh
Eye of GNOME ( eog
)
eog /dev/stdin < "$file"
(บางไฟล์อาจทำงานได้ดีกับไฟล์พิเศษเช่น GThumb ไม่สามารถทดสอบได้)
< "$file"
เป็นตัวอย่าง ประเด็นคือว่าโปรแกรมสามารถรับกระแสข้อมูลแบบสุ่มไม่ว่าจะเป็นการเปลี่ยนเส้นทางแบบง่าย ๆ หรือสิ่งที่ก้าวหน้ากว่า (เช่นการให้ภาพผ่าน stdin, ไปป์ที่มีชื่อ, การทดแทนกระบวนการ, ซ็อกเก็ตหรืออุปกรณ์ตัวอักษร) ปัญหาคือผู้ดูจำนวนมากต้องการให้ fd สามารถค้นหาได้ซึ่งมีเฉพาะไฟล์และอุปกรณ์บล็อกปกติเท่านั้น
cat graph.png | eog /dev/stdin
ล้มเหลว แต่eog /dev/stdin < graph.png
ทำงานได้
|
) ด้วยหรือไม่
eog
กำลังค้นหาข้อมูลเกี่ยวกับ file descriptor (ซึ่งประสบความสำเร็จในกรณีพิเศษที่ถูกเปลี่ยนเส้นทางโดยตรงจากไฟล์) ในขณะที่โปรแกรม Unix ปกติจะรับอินพุตโดยไม่คำนึงว่ามันมาจากที่ใด ดังนั้นeog
จะไม่ทำงานสำหรับ stdin ทั่วไป โปรแกรมอื่นที่ใช้งานได้คือgwenview /dev/stdin
(โปรแกรมดูรูปภาพ KDE)
FIFO สามารถทำงานได้โดยeog
ไม่มีการสนับสนุนการวางท่อ:
mkfifo ${tmpfilename};
cat ${file} > ${tmpfilename} &;
eog /dev/stdin < ${tmpfilename};
rm ${tmpfilename};
AFAIK สิ่งนี้ควรใช้งานได้
คุณสามารถใช้ feh มันค่อนข้างเร็ว
cat image.png | feh --scale-down -
feh เป็นโปรแกรมดูรูปภาพที่มีน้ำหนักเบาซึ่งอยู่ในแหล่งเก็บข้อมูลเริ่มต้นของลีนุกซ์หลายรุ่น โดยมีวัตถุประสงค์เพื่อผู้ใช้บรรทัดคำสั่งที่ต้องการโปรแกรมดูรูปภาพที่รวดเร็วโดยไม่ต้องพึ่งพา GUI มาก
ImageMagick 6.8.8-1 Q16 i686 2014-01-04
ผมยังจำเป็นต้องผ่าน-
เป็นพารามิเตอร์: หรือ$ cat image.png | display -
$ display - < image.png