使用Xvfb,我可以启动一个应用程序并截图。
我想知道的是如何从现有(休眠)X会话中捕获。
从tty或通过ssh说。
据我了解,窗口是未映射的,并且不存在以保留资源。是否有一些工具可以映射虚拟windowmanager中的现有窗口,工作区等并快速捕捉?
还是可以libx11
使用XShmCreateImage
或类似方式使用并创建快照?
@jippie:也许吧。问题是,由于未映射窗口,因此xwd不会进行任何转储-导致黑色图像。(尝试从ie tty1命令
—
Runium 2012年
xwd -display :0 -root | convert xwd:- /tmp/0.png
)
不确定“未映射”是什么意思
—
jippie 2012年
@jippie:它们不驻留在内存中。据我了解:当您在工作区中时-它处于活动状态-像素被映射到内存中供GPU处理并在屏幕上渲染。当工作空间被切换或退出时(即通过Ctrl-Alt-F1键),这些映射未映射(以释放资源)-因此“显示缓冲区”中没有任何内容-并给出了黑色图像。
—
Runium
我明白了你的意思,谢谢你的解释。但是在这种情况下不知道答案。
—
jippie 2012年
xwd -root | convert - /tmp/image.jpg
你在找什么?