这个问题纯粹是出于好奇;没有问题需要解决。控制台/外壳缓存/恢复如何工作?
注:我在CentOS 7
使用的Konsole当我ssh来遥控盒,离开会议停用一段时间,超时。作为一种解决方法,我使用less [some-file]
来保持会话处于活动状态。
很明显,当我在一天结束时暂停虚拟机时,会话仍然会中断。
第二天,当我开始一个新的SSH会话时,一切正常,除了,某些Konsole功能不起作用(即清除回滚,我用了很多)用于SSH的同一个终端窗口会话。
不过,我less
文件并退出后,发生两件事情:
- 的Konsole重新开始正常工作。
- 无论我在使用
less
之前终端中的输出是否被替换为前一天输出的任何内容,在会话被关闭之前我正在通过SSH进行关闭。
奇怪的是,这发生在所有〜4个并发终端/会话(每个会话都从前一天恢复输出)。 [编辑:澄清:当我在特定终端中使用SSH/less时,〜4终端中的每一个都表现出这种行为。每个人从前一天恢复输出。这样做在一个终端/会话是而不是影响其他终端/会话]
我认为这将发生在任何终端应用程序(如vi,纳米等)与自己的“贵”,而不是具体到less
。
似乎有一些缓存正在进行。我假设退出less
(或vi,nano等)会触发某种类型的shell输出恢复,但这种特殊的表现看起来有点奇怪。
任何想法是怎么回事?
有你/应用程序之间可以在终端上,如果我是正确的切换几个缓冲区。但我不记得那些机制的实际名称,所以我无法提供更多帮助。但我也会对答案感兴趣! – Jakuje