如何通过SSH在Raspberry Pi中进行远程截屏?

原文链接:How to Take a Remote Screenshot in Raspberry Pi over SSH 由Jean-Luc Aufranc撰写。

近日,我测评了一台定制界面使人们不能直接在设备上进行截屏操作的Raspberry Pi 4的笔记本电脑。因此,我只能通过SSH进行远程截屏。这其实是很容易做到的,大多数的操作步骤都可以在其他Linux系统中重现,而不是Raspberry Pi特有的。

 在Raspberry Pi中启用SSH

首先,在Windows Terminal终端窗口界面中使用sudo raspi-config指令启用SSH ,然后选择5. Interface Options选项,再选择P2 SSH ……

Raspberry Pi Enable SSH
Raspberry Pi Enable SSH

如果由于某种原因造成您无权访问终端,那么请从Raspberry Pi模块上取出MicroSD卡,然后用计算机在启动分区中创建一个名为“ ssh” 新的空文件夹。

现在,只要您有模块的用户名和密码,就可以从终端使用IP地址连接到SSH:


或诸如Putty之类的程序。

远程截屏

现在,准备截图,如下图所示:


其中,代码“scrot”是获取截屏的程序,DISPLAY定义是要捕获的图像,第三个参数是可以使用png、jpg或gif等图像文件的扩展名。

您可以随意使用不同的文件名对图像进行截屏,然后在Raspberry Pi上执行指令,并通过SSH将其传回计算机:


或者您也可以使用Filezilla或其他支持SFTP(SSH文件传输协议)的程序从您的计算机中获取。

直接在计算机上保存Raspberry Pi截屏

如果您想直接在Raspberry Pi上截屏,并将图像直接保存在计算机上,那就可以先使用公钥/私钥设置,记得要用没有ssh密码的方式来进行操作,这样可以避免每次都要输入密码。

完成设置之后,您通过SSH登录到Raspberry Pi时,就不再需要输入密码了。


有两种方法可以从此处进行操作:从Linux计算机上或Raspberry Pi模块上启动指令。

从Linux计算机启动指令

返回计算机的终端窗口,然后运行以下指令远程截取屏幕并将图像文件保存到计算机中:


对于每个新的截屏,只需更改FILE变量的值即可。指令行通过SSH连接到Raspberry Pi上,获取到截屏,并将其传输到您的计算机,然后将其从Raspberry Pi板上删除。

更新:有评论指出,使用maim是一种更简练的方法。它将截屏传输到stdout,并允许我们通过简单的重新定向操作将图像保存到本地计算机。接下来,我们一起来回顾一下:】

首先,在Raspberry Pi上安装maim:


现在,我们可以使用更简单的指令从计算机上捕获Raspberry Pi截屏:

从Raspberry Pi启动截屏

如果您的计算机不是Linux系统,除非您将Windows重装成Linux系统,否则这个方法就是无效的。

另一种方法就是在Windows系统中安装SSH服务器,然后在Raspberry Pi中运行以下指令:


整个过程就是这样。如果您希望只使用鼠标选择一个区域后就可以完成自动上传截屏,那么请参见upscrot Python脚本。

分享这篇文章
<-- Multiplex code - to do -->
0 评论
内联反馈
查看所有评论