从另一个终端读取现有内容

从另一个终端读取现有内容

如何从另一个终端(例如 SSH 终端)读取现有的输出内容?

场景是我在 GUI 会话中运行了一个程序,但后来我需要远程读取它的输出而不触及它的 GUI 会话(我知道如果我使用 VNC 就可以)。我在 StackExchange 上做了一些搜索,但他们的故事有所不同。

https://unix.stackexchange.com/a/72334给出了将其未来输出重定向到远程终端的解决方案,但仍然缺少现有输出。有什么办法解决这个问题吗?

答案1

过去写入的内容仅存在于该终端中(通常在该进程的内存中)。如果你想阅读它,你要么需要讨论你的终端的文档,如果它可以以某种方式访问​​(xterm或屏幕有办法查询屏幕和/或滚动缓冲区的内容),你需要做什么可以访问,否则您必须直接从终端进程的内存中挖掘它。

据我所知,没有通用的方法可以做到这一点。

答案2

screen在您的终端会话中使用。您稍后可以附加到该会话,并选择-r在离开该终端时查看该终端的当前视图,并在同一 shell 中继续。

查看man screen更多。

相关内容