ฉันจะแสดงภาพโดยไม่เริ่มต้น X11 ได้อย่างไร


28

ฉันสามารถดูวิดีโอโดยใช้ OMXPlayer:

omxplayer -o hdmi video.h264

ฉันจะทำเช่นเดียวกันสำหรับภาพนิ่งได้อย่างไร

คำตอบ:


34

คุณสามารถใช้fbiแอพบรรทัดคำสั่ง("การดูภาพ framebuffer") framebufferยังเป็นสิ่งที่oxmplayerใช้ Fbi หาได้จาก repos raspbian และควรอยู่ใน GNU / Linux distro อื่นด้วย มันไม่เฉพาะเจาะจงกับปี่

มันต้องใช้ชื่อไฟล์หรือชื่อไฟล์หลาย ๆ แบบและคุณสามารถใช้ shell globbing สำหรับสิ่งนี้ได้เช่น:

fbi *.jpg

จะแสดงไฟล์. jpg ทั้งหมดในไดเรกทอรีปัจจุบันของคุณ สำหรับคำแนะนำเกี่ยวกับวิธีการที่จะก้าวไปจากภาพหนึ่งในรายการต่อไปให้ดูที่แป้นman fbiส่วนหนึ่งของ นอกจากนี้คุณยังสามารถตั้งค่าสไลด์โชว์อัตโนมัติด้วย-tตัวเลือก

คุณอาจได้รับข้อผิดพลาดนี้:

ioctl VT_GETSTATE: Invalid argument (not a linux console?)

แม้ในขณะที่ลงชื่อเข้าใช้ VT ทางออกคือการระบุอุปกรณ์ framebuffer ซึ่งควรจะ:

fbi -d /dev/fb0 [...]

หากคุณใช้ ssh ให้ลอง:

fbi -T 1 [...]

โดยที่ "1" คือจำนวน VT ปัจจุบันของคุณ ("virtual terminal", aka. VC, "virtual console" ซึ่งสามารถเข้าถึงได้ผ่านทางเหล่านี้ctrl-alt-F[1-6]) คุณไม่จำเป็นต้องเข้าสู่ระบบใน VT ที่ภาพจะปรากฏขึ้นเพื่อให้คุณสามารถเข้าสู่ระบบจากระยะไกลและใช้สิ่งนี้เพื่อวางภาพบนจอแสดงผลที่แนบมากับ pi (สมมติว่า VT ที่ถูกต้องอยู่บนหน้าจอ) -Tไม่ได้อยู่ในหน้าคน แต่มันก็เป็น บริษัท fbi --helpจดทะเบียนที่มี

หมายเหตุคุณไม่สามารถใช้สิ่งนี้เพื่อดูภาพบนรีโมตเทอร์มินัล สิ่งเหล่านั้นไม่ได้เชื่อมโยงกับ framebuffer

ตัวเลือกที่มีประโยชน์อื่น ๆ อีกสองตัวคือ-aซึ่งจะขยายภาพให้พอดีกับหน้าจอหากมีขนาดใหญ่เกินไปและ--editซึ่งช่วยให้คุณหมุนภาพได้ (ฉันเชื่อว่ามันถูกบันทึกด้วยการหมุนนั้นคุณอาจต้องการตรวจสอบว่า มันนำเสนอปัญหา)


ขอบคุณ ฉันลองแล้วfbi -d /dev/fb0 photo.jpgแต่ฉันยังคงได้รับข้อผิดพลาดที่คุณพูดถึง ฉันลงชื่อเข้าใช้ Pi ผ่าน SSH จากโปรแกรมจำลองการทำงาน Konsole ของ Kubuntu Linux คุณมีความคิดวิธีการแก้ไขปัญหานี้หรือไม่?
dotancohen

1
คุณพูดถูก - ในความเป็นจริงแล้ว Intuituve -d /dev/tty1ก็ใช้งานไม่ได้ แต่ googling บางอันเปิดเผย-T 1 (เปิดผ่าน VT1) ซึ่งไม่ได้จัดทำเป็นเอกสารไว้ใน man page: / ดังนั้นลองใช้ (สมมติว่าเป็น VT แรกที่คุณเห็นบนหน้าจอ ); ฉันจะแก้ไขบางอย่างในข้างต้นและแจ้งให้ฉันทราบที่นี่ถ้ามันทำงาน
goldilocks

ขอขอบคุณ. น่าสนใจฉันทำ google ไปรอบ ๆ แต่ไม่พบ-T 1ธง แม้ว่าการใช้คำสั่งจะป้องกันnot a linux console?ข้อความจริง ๆแล้วไม่มีภาพปรากฏขึ้น! การอ่านmanหน้านี้จะไม่เปิดเผย: "fbi ยังต้องการการเข้าถึงคอนโซล linux (เช่น / dev / ttyN) สำหรับการจัดการสวิตช์คอนโซลของ sane ซึ่งเห็นได้ชัดว่าไม่มีปัญหาสำหรับการเข้าสู่ระบบคอนโซล , ...) จะไม่ทำงาน." แม้แต่การออกไปtmuxก็ไม่ได้ช่วยอะไร คุณบอกว่าคุณมีการจัดการเพื่อแสดงภาพผ่าน SSH โดยไม่ต้อง X?
dotancohen

ไม่คุณไม่สามารถดู framebuffer จากระยะไกลคุณสามารถควบคุมมันได้
goldilocks

8

ทำงาน cmdline สำหรับฉัน (วิธีนี้ฉันแสดงภาพบนจอภาพ HDMI ในขณะที่เชื่อมต่อกับ Rpi by ssh):

sudo fbi -T 2 img.jpg

ทำงานได้สมบูรณ์แบบเมื่อฉันใช้จอแสดงผลภายนอกขนาดเล็กที่เชื่อมต่อผ่าน s-video
datayeah

0

Sudo fbi -T -device / dev / fb0 -a img.jpg

ใช้งานได้สำหรับฉัน แต่ไม่มีการควบคุมที่สำคัญ ..


1
คำตอบนี้ต้องการรายละเอียดเพิ่มเติมเล็กน้อย อย่างน้อยควรตอบคำถามว่าการทำงานกับการเข้าสู่ระบบที่ไม่ใช่คอนโซล - ดังที่อธิบายไว้ข้างต้น
Steve Robillard

@SteveRobillard ทำไมมันไม่ควรทำงานจากการเข้าสู่ระบบที่ไม่ใช่คอนโซล? มีเพียงหนึ่ง framebuffer เรื่องที่คุณเข้าสู่ระบบจากไม่ ...
lenik

อาจใช้งานได้ดี แต่ไม่ได้แก้ไขปัญหาที่กล่าวถึงในความคิดเห็นข้างต้นอย่างชัดเจน นอกจากนี้ยังช่วยให้ชัดเจนหากสามารถควบคุมคีย์ได้
Steve Robillard

0

ในขณะที่ฉันพยายามเขียนไปยัง spi framebuffer โดยไม่มี VT ติดมาด้วย / dev / fb2

http://www.hardkernel.com/main/products/prdt_info.php?g_code=G142060963922

fbi -T 1 -d /dev/fb2 -noverbose my.jpg

ฉันพบว่าฉันต้องการใช้ -T 1 เพื่อให้ fbi VT มันดูเหมือนจะไม่สำคัญว่าอันไหน

- มากกว่าเพราะฉันไม่ต้องการให้ข้อความแสดง

ฉันกำลังเรียกใช้คำสั่งนั้นจากภายใน X11 ซึ่งมีผลข้างเคียงของ temporarly แทนที่บัฟเฟอร์ X11 แต่ op และตัวฉันเองจะไม่ทำงาน X11 ไม่ใช่ปัญหาฉันเพิ่งทดสอบอุปกรณ์ fb ตอนนี้

ฉันไม่สนใจเกี่ยวกับการควบคุมเพราะฉันโทรหาเอฟบีไออีกครั้งเมื่อฉันต้องการแสดงภาพถัดไป

ฉันอยู่ใน odroid C1 กับ openSUSE แต่นั่นไม่สำคัญ


0

ฉันพบว่างาน 'sudo fbi -vt'

คุณต้องเรียกใช้ 'sudo' เพื่อเรียกใช้ fbi เพื่อให้สามารถเข้าถึงคอนโซลเสมือนจริงที่ 'หน้าจอ' กำลังทำงานอยู่ (และหวังว่าคุณจะไม่ทำงานเหมือนรูท .. !): D

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