如何截取X虚拟帧缓冲区显示的屏幕截图?

如何截取X虚拟帧缓冲区显示的屏幕截图?

我想从 Xvfb 显示服务器截取屏幕截图。

我已经尝试过:

xwd -root -silent -out screen.xwd

但我无法读取该文件,也找不到任何可以显示或转换它的软件(通过 Homebrew)。

在 OS X 上有更好的方法吗?

答案1

netpbm ( brew install netpbm) 可以处理 xwd 文件,因此您应该能够执行标准的 Unix X11 进程:

$ xwd -root -silent -out screen.xwd
$ xwdtopnm < screen.xwd | pnmtojpeg > screen.jpg
xwdtopnm: writing PPM file

答案2

好吧,看来使用importImageMagick 包中的命令要容易得多,例如:

import -window root screen.jpeg

不过安装imagemagick时需要用X11编译,例如

brew install imagemagick --with-x11

相关内容