วิธีถ่ายภาพหน้าจอระยะไกลใน Raspberry Pi ผ่าน SSH

ฉันเพิ่งตรวจสอบแล็ปท็อป Raspberry Pi 4 ที่มีอินเทอร์เฟซที่กำหนดเองซึ่งทำให้ไม่สามารถจับภาพหน้าจอบนอุปกรณ์ได้โดยตรง ดังนั้นฉันจึงต้องจับภาพหน้าจอ (screenshot) จากระยะไกลผ่าน SSH มันค่อนข้างง่ายที่จะทำ ขั้นตอนส่วนใหญ่สามารถทำซ้ำได้ในระบบ Linux อื่น ๆ และRaspberry Pi แบบไม่เฉพาะเจาะจง

เปิดใช้งาน SSH ใน Raspberry Pi

ขั้นแรก เปิดใช้งาน SSH ด้วย sudo raspi-config ใน Windows Terminal แล้วเลือก 5,  Interface Options จากนั้นเลือก P2 SSH …

Raspberry-Pi-Enable-SSH

หากด้วยเหตุผลบางอย่าง ทำให้คุณไม่สามารถเข้าถึงเทอร์มินัลได้ ให้นำการ์ด MicroSD ออกจากบอร์ด Raspberry Pi และจากคอมพิวเตอร์ ให้สร้างไฟล์เปล่าใหม่ชื่อ “ssh” ใน boot partition

เมื่อคุณมีชื่อผู้ใช้และ password สำหรับบอร์ดของคุณแล้ว คุณสามารถเชื่อมต่อกับ SSH ด้วย IP address จากเทอร์มินัล:


หรือโปรแกรมอย่าง Putty

การจับภาพหน้าจอจากระยะไกล

ตอนนี้คุณพร้อมที่จะจับภาพหน้าจอดังนี้:


scrot คือโปรแกรมที่ใช้จับภาพหน้าจอ DISPLAY กำหนดการแสดงผลเพื่อจับภาพ และอาร์กิวเมนต์ที่สามคือชื่อไฟล์ที่สามารถใช้นามสกุล png, jpg หรือ gif ได้

คุณสามารถจับภาพหน้าจอได้มากเท่าที่ต้องการด้วยชื่อไฟล์ต่างๆ จากนั้นโอนกลับไปยังคอมพิวเตอร์ของคุณผ่าน SSH จากบรรทัดคำสั่งภายใน Raspberry Pi:


หรือจากคอมพิวเตอร์ของคุณโดยใช้ Filezilla หรือโปรแกรมอื่นๆ ที่สนับสนุน SFTP (SSH File Transfer Protocol)

บันทึกภาพหน้าจอ Raspberry Pi โดยตรงบนคอมพิวเตอร์ของคุณ

หากคุณต้องการจับภาพหน้าจอบน Raspberry Pi ได้โดยตรงด้วยภาพที่บันทึกไว้ในคอมพิวเตอร์ของคุณโดยตรง คุณสามารถทำได้โดยเริ่มจากเลิกใช้ login เข้า SSH ด้วย password  ssh ก่อน โดยใช้ public key และ private key เพื่อหลีกเลี่ยงการป้อน password ในแต่ละครั้ง

เมื่อคุณทำเสร็จแล้ว คุณไม่ควรถูกถาม password อีกต่อไปเมื่อเข้าสู่ระบบ SSH ไปยัง Raspberry Pi ของคุณ:


จากนั้นมีสองวิธีในการดำเนินการจากที่นี่ ไม่ว่าจะเริ่มต้นคำสั่งจากคอมพิวเตอร์ Linux หรือจากบอร์ด Raspberry Pi

เริ่มคำสั่งจากคอมพิวเตอร์ลินุกซ์

กลับไปที่ Windows Terminal ในคอมพิวเตอร์ของคุณ และเรียกใช้คำสั่งต่อไปนี้เพื่อถ่ายภาพหน้าจอจากระยะไกลและบันทึกไฟล์ในคอมพิวเตอร์ของคุณ:


สำหรับแต่ละภาพหน้าจอใหม่ เพียงเปลี่ยนค่าของตัวแปร FILE บรรทัดคำสั่งเชื่อมต่อกับ Raspberry Pi ผ่าน SSH ถ่ายภาพหน้าจอ ถ่ายโอนไปยังคอมพิวเตอร์ของคุณ และลบออกจากบอร์ด Raspberry Pi

วิธีทางเลือก

การ screenshot ด้วย maim

การใช้ maim เป็นวิธีที่สวยงามกว่าเนื่องจากส่งภาพหน้าจอไปที่ stdout ทำให้เราสามารถบันทึกภาพลงในคอมพิวเตอร์ local ด้วยการเปลี่ยนเส้นทางอย่างง่าย

ขั้นตอนแรก,   install  maim บน Raspberry Pi:


ตอนนี้เราสามารถจับภาพหน้าจอ Raspberry Pi จากคอมพิวเตอร์ของเราได้ด้วยคำสั่งที่ง่ายกว่ามาก:

อย่างไรก็ตาม โปรดทราบว่ามันนำไปสู่ไฟล์ PNG ที่เสียหายในกรณีของฉัน อาจเป็นเพราะการตั้งค่าสภาพแวดล้อมที่แตกต่างกันระหว่างคอมพิวเตอร์และบอร์ด Raspberry Pi , YMMV… (อาจจะแตกต่างกันไป)

เริ่มการจับภาพหน้าจอจาก Raspberry Pi

หากคุณไม่มีคอมพิวเตอร์ Linux วิธีการข้างต้นจะไม่ทำงาน เว้นแต่คุณจะใช้ระบบย่อย Windows สำหรับ Linux อีกวิธีหนึ่งคือการติดตั้งเซิร์ฟเวอร์ SSH ใน Windows จากนั้นเรียกใช้คำสั่งต่อไปนี้ใน Raspberry Pi:

Upscrot

ในกรณีที่คุณชอบวิธีที่อัปโหลดภาพหน้าจอโดยอัตโนมัติหลังจากที่คุณเลือกพื้นที่ด้วยเมาส์, ดูที่สคริปต์ Python  upscrot

แปลจากบทความภาษาอังกฤษ :  How to Take a Remote Screenshot in Raspberry Pi over SSH

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
โฆษณา