มีโปรแกรมดูรูปภาพที่ถ่ายภาพใน STDIN หรือไม่


33

ฉันกำลังมองหาโปรแกรมดูรูปภาพที่ใช้ข้อมูลstdinและสามารถทำงานได้เช่น:

cat image.png | imageviewer

คำตอบ:


40

displayโปรแกรมของ ImageMagick จะทำเช่นนั้นโดยสมมติว่าคุณทำสิ่งที่เข้าใจ

cat image.png | display

และมันจะปรากฏหน้าต่างแสดงภาพนั้นขึ้นมา


1
กับรุ่นImageMagick 6.8.8-1 Q16 i686 2014-01-04ผมยังจำเป็นต้องผ่าน-เป็นพารามิเตอร์: หรือ$ cat image.png | display - $ display - < image.png
Emil Lundberg


7

บน Linux (และ BSD น่าจะ) เกือบทั้งหมดถ้าคุณให้/dev/stdinเป็นเส้นทาง ซึ่งรวมถึง: xloadimage,, fehEye of GNOME ( eog)

eog /dev/stdin < "$file"

(บางไฟล์อาจทำงานได้ดีกับไฟล์พิเศษเช่น GThumb ไม่สามารถทดสอบได้)


3
สิ่งนี้ใช้ไม่ได้: cat graph.png | eog / dev / stdin
bukzor

5
@ นาค: < "$file"เป็นตัวอย่าง ประเด็นคือว่าโปรแกรมสามารถรับกระแสข้อมูลแบบสุ่มไม่ว่าจะเป็นการเปลี่ยนเส้นทางแบบง่าย ๆ หรือสิ่งที่ก้าวหน้ากว่า (เช่นการให้ภาพผ่าน stdin, ไปป์ที่มีชื่อ, การทดแทนกระบวนการ, ซ็อกเก็ตหรืออุปกรณ์ตัวอักษร) ปัญหาคือผู้ดูจำนวนมากต้องการให้ fd สามารถค้นหาได้ซึ่งมีเฉพาะไฟล์และอุปกรณ์บล็อกปกติเท่านั้น
grawity

3
@bukzor ชี้ให้เห็นcat graph.png | eog /dev/stdinล้มเหลว แต่eog /dev/stdin < graph.pngทำงานได้
Denilson Sá Maia

2
มีวิธีใดที่จะทำให้วิธีนี้ใช้ได้กับ piping ( |) ด้วยหรือไม่
Tarrasch

1
ดูเหมือนว่าeogกำลังค้นหาข้อมูลเกี่ยวกับ file descriptor (ซึ่งประสบความสำเร็จในกรณีพิเศษที่ถูกเปลี่ยนเส้นทางโดยตรงจากไฟล์) ในขณะที่โปรแกรม Unix ปกติจะรับอินพุตโดยไม่คำนึงว่ามันมาจากที่ใด ดังนั้นeogจะไม่ทำงานสำหรับ stdin ทั่วไป โปรแกรมอื่นที่ใช้งานได้คือgwenview /dev/stdin(โปรแกรมดูรูปภาพ KDE)
หอยทากวิศวกรรม

3

FIFO สามารถทำงานได้โดยeogไม่มีการสนับสนุนการวางท่อ:

mkfifo ${tmpfilename};
cat ${file} > ${tmpfilename} &;
eog /dev/stdin < ${tmpfilename};
rm ${tmpfilename};

AFAIK สิ่งนี้ควรใช้งานได้


3

คุณสามารถใช้ feh มันค่อนข้างเร็ว

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

feh เป็นโปรแกรมดูรูปภาพที่มีน้ำหนักเบาซึ่งอยู่ในแหล่งเก็บข้อมูลเริ่มต้นของลีนุกซ์หลายรุ่น โดยมีวัตถุประสงค์เพื่อผู้ใช้บรรทัดคำสั่งที่ต้องการโปรแกรมดูรูปภาพที่รวดเร็วโดยไม่ต้องพึ่งพา GUI มาก


2
คุณช่วยขยายคำตอบให้หน่อยได้ไหม? เพียงกล่าวถึงผลิตภัณฑ์ (นั่นคือคำสั่งผลิตภัณฑ์หรือการแสดงออกของความเฉยเมยหรือไม่) ไม่ได้อธิบายวิธีการแก้ปัญหาให้สำเร็จ เป็นการดีกว่าที่จะอธิบายวิธีการใช้ผลิตภัณฑ์เพื่อแก้ปัญหาหรืออย่างน้อยก็อธิบายสิ่งที่ทำให้ผลิตภัณฑ์เป็นทางออกที่ดีไม่ใช่เพียงแค่ Google hit แบบสุ่ม คำแนะนำที่ดีในการแนะนำซอฟต์แวร์ที่นี่: meta.superuser.com/questions/5329/... ขอบคุณ
fixer1234

1
คำถามที่เฉพาะเจาะจงมากฉันให้คำตอบเฉพาะ และเพื่อประโยชน์ของพระเจ้ามีบรรทัดคำสั่งอยู่เหนือเรา
MaikoID
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.