来自 tty 的 X 的屏幕截图

Run*_*ium 15 x11 tty screenshot

使用 Xvfb 我可以启动一个应用程序并截取屏幕截图。

我想知道的是如何从现有(休眠)X 会话中捕获。

从 tty 或通过 ssh 说。

据我所知,windows 是未映射的,不存在以保留资源。是否有一些工具可以在虚拟窗口管理器中映射现有窗口、工作区等并进行快照?

或者可以libx11通过使用XShmCreateImage或类似的方式使用和创建快照?

Joh*_*Siu 7

我们可以从命令行手动“打开”X tty,而无需 ctrl-alt-F(x)。

如果 X 在 tty 7 上,并且您登录了文本终端

chvt 7 ; DISPLAY=0.0 xwd -root > screendump.xwd ; chvt 1
Run Code Online (Sandbox Code Playgroud)

但是,xhost + localhost必须在 xsession 中发出,否则 xwd 无法连接到 x 服务器。

这允许您从 ssh 会话中执行此操作。

PS:理论上,使用MTD,应该可以从视频卡内存中进行屏幕捕获。因此无需先“唤醒”X 会话。