如何在控制台中截图(没有X)?

如何在控制台中截图(没有X)?

我的上网本在没有 X.org 的 Debian Linux 上运行。我有时需要对脚本的输出进行屏幕截图。我尝试使用帧缓冲区设备来实现此目的:

# cat /dev/fb0 > screenshot.raw

但问题是这个.raw文件不是图形格式,因为它甚至不能用 GIMP 打开。.png例如,如何将其转换为文件?

答案1

您捕获的原始文件的格式取决于位深度和分辨率。

有很多工具可以做到这一点。 Debian 有这个fbcat软件包。您可能需要sudo apt-get install fbcat安装它。

fbcat将以格式获取帧缓冲区ppm,因此您可以使用ppmtojpeg或类似的方法将其转换为您想要的格式。

还有一个fbgrab以 PNG 格式保存的包装器。

答案2

可以使用该sudo setterm --dump命令将当前tty的内容打印到文本文件中,默认输出为screen.dumpfile。该--file选项可用于获取自定义输出文件名:sudo setterm --dump --file screen0.dump.

man setterm:

--dump [console_number]

将给定编号的虚拟控制台快照写入该--file选项指定的文件,覆盖其内容;默认为 screen.dump。如果没有参数,它会转储当前的虚拟控制台。这会覆盖--append.

相关内容