如何通过SSH在树莓派中进行远程截屏

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

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

 在树莓派中启用SSH

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

Raspberry Pi Enable SSH
树莓派Enable SSH

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

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


或诸如Putty之类的程序。

远程截屏

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


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

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


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

直接在计算机上保存树莓派截屏

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

完成设置之后,你通过SSH登录到树莓派时,就不再需要输入密码了。


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

从Linux计算机启动指令

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


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

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

首先,在树莓派上安装maim:


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

从树莓派启动截屏

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

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


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

分享这篇文章
订阅评论
提醒
0 评论
内联反馈
查看所有评论