這個問題純粹是出於好奇;沒有問題需要解決。控制檯/外殼緩存/恢復如何工作?
注:我在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