![如何在控制台中截图(没有X)?](https://linux22.com/image/146671/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%8E%A7%E5%88%B6%E5%8F%B0%E4%B8%AD%E6%88%AA%E5%9B%BE%EF%BC%88%E6%B2%A1%E6%9C%89X%EF%BC%89%EF%BC%9F.png)
我的上网本在没有 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.dump
file。该--file
选项可用于获取自定义输出文件名:sudo setterm --dump --file screen0.dump
.
--dump [console_number]
将给定编号的虚拟控制台快照写入该
--file
选项指定的文件,覆盖其内容;默认为 screen.dump。如果没有参数,它会转储当前的虚拟控制台。这会覆盖--append
.