这个问题纯粹是出于好奇;没有问题需要解决。
注意:我在 CentOS 7 上使用 Konsole。
当我通过 SSH 连接到远程机器并让会话暂时处于非活动状态时,它会超时。作为一种解决方法,我less [some-file]
用来保持会话处于活动状态。
显然,当我在一天结束时暂停 VM 时,会话仍然中断。
第二天,当我开始一个新的 SSH 会话时,一切正常,除了用于 SSH 会话的同一终端窗口的某些 Konsole 功能不起作用(即清除回滚,我经常使用它)。
但是,在我less
创建文件并退出后,会发生两件事:
- Konsole 恢复正常工作。
- 我使用之前终端中的
less
任何输出都将替换为前一天的任何输出,在会话通过关闭我正在从中进行 SSH 连接的 VM 中断之前。
奇怪的是,这发生在所有约 4 个并发终端/会话上(每个都恢复了前一天的输出)。[编辑:澄清:当我在该特定终端中进行 SSH/less 操作时,~4 个终端中的每一个都表现出这种行为。每个都恢复前一天的输出。在一个终端/会话中执行此操作不会影响其他终端/会话]
我认为这会发生在任何具有自己的“gui”并且不特定于less
.
似乎正在进行一些缓存。我假设退出less
(或 vi、nano 等)通常会触发某种 shell 输出恢复,但这种特殊表现似乎有些奇怪。
知道发生了什么吗?