我正在使用 centOS 7。假设我在终端的 tty2 中。我想通过命令行截取 tty1 中发生的事情的屏幕截图。可以吗?如果可以,怎么做?
答案1
图形模式:
似乎这在一般情况下是行不通的,因为内核不会为每个虚拟控制台保留单独的帧缓冲区,合成器 (Xorg/Wayland) 会直接接管实际的 GPU 输出。当您切换时,它不会保留在内核内存中。
在 X11 中,您可能使用 CLI 截图工具获取一些结果,例如致残– 但似乎它们无法与使用 3D 加速合成(如 gnome-shell)的窗口管理器一起使用,因为屏幕内容在 VT 切换时被完全卸载。
文本模式:
您可以使用窥视将另一个虚拟控制台的内容转储为 ANSI 文本。
虚拟控制台内容可通过/dev/vcs#
和/dev/vcsa#
文件直接访问(前者只包含纯文本,后者还包含格式属性)。
请注意,这不是实时监控的推荐方法。如果您希望同一程序在多个控制台上持续运行,则应使用终端多路复用器(例如tmux
或screen
或),abduco
它允许您“附加”到同一会话。