【发布时间】:2017-08-02 14:57:40
【问题描述】:
这个问题纯粹是出于好奇;没有问题需要解决。
注意:我在 CentOS 7 上使用 Konsole。
当我通过 SSH 连接到远程机器并让会话暂时处于非活动状态时,它会超时。作为一种解决方法,我使用less [some-file] 来保持会话处于活动状态。
当我在一天结束时暂停 VM 时,会话显然仍然中断。
第二天当我开始新的 SSH 会话时,一切正常用于 SSH 会话。
但是,在我less 一个文件并退出后,会发生两件事:
- Konsole 恢复正常工作。
- 在我使用
less之前终端中的任何输出都将替换为前一天的任何输出,在会话通过关闭我正在从中进行 SSH 的 VM 中断之前。
奇怪的是,这发生在所有约 4 个并发终端/会话上(每个都恢复了前一天的输出)。 [编辑:澄清:当我在该特定终端中进行 SSH/less 操作时,~4 个终端中的每一个都表现出这种行为。每个都恢复前一天的输出。在一个终端/会话中执行此操作不会影响其他终端/会话]
我假设任何终端应用程序(例如 vi、nano 等)都有自己的“gui”并且不特定于 less。
似乎正在进行一些缓存。我假设退出 less(或 vi、nano 等)通常会触发某种 shell 输出恢复,但这种特殊表现似乎有些奇怪。
知道发生了什么吗?
【问题讨论】:
-
如果我是对的,您/应用程序可以在终端中切换多个缓冲区。但我不记得该机制的实际名称,所以我无法提供更多帮助。但我也会对答案感兴趣!
标签: linux caching ssh terminal konsole