![来自 tty 的 X 屏幕截图](https://linux22.com/image/27841/%E6%9D%A5%E8%87%AA%20tty%20%E7%9A%84%20X%20%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE.png)
使用 Xvfb,我可以启动应用程序并截取屏幕截图。
我想知道如何从现有(休眠)X 会话中捕获。
从 tty 或通过 ssh 说。
据我了解,窗口未映射,并且不存在以保留资源。是否有一些工具可以在虚拟窗口管理器中映射现有窗口、工作区等并进行快照?
或者可以通过使用或类似的方法来使用libx11
和创建快照吗?XShmCreateImage
答案1
我们可以从命令行手动“打开”X tty,无需使用 ctrl-alt-F(x)。
如果 X 在 tty 7 上,并且您登录文本终端
chvt 7 ; DISPLAY=0.0 xwd -root > screendump.xwd ; chvt 1
然而,x主机 + 本地主机必须是 xsession 内的问题,否则 xwd 无法连接到 x 服务器。
这允许您从 ssh 会话执行此操作。
PS:理论上来说,MTD,应该可以从视频卡内存中进行屏幕捕获。因此无需首先“唤醒”X 会话。