退出 tmux 後將 tmux 文本留在終端中。可能的?
我使用 Putty 連接到 Linux (RHEL8)。我啟動 tmux(2.7 版)並做一些工作。完成後,我退出 tmux。但是 tmux 會話中的螢幕文本不再出現在 Putty 終端中。是否可以保留文本(除了在 tmux 中執行命令“腳本”)?
或者,我可以將所有螢幕文本保存到文件並查看它。Putty 可以“全部複製到剪貼板”。但是在 tmux 會話中,它只複製目前螢幕。我可以進入複製模式 (^b[) 並一次向上滾動一個螢幕並複制,但這很乏味。我閱讀了 https://unix.stackexchange.com/questions/630251/tmux-how-to-copy-large-bodies-of-text-to-system-clipboard 但尚不清楚它是如何工作或幫助的。
對於@terdon 在評論中的觀點,您可以簡單地從會話中“分離”(預設
Ctrl>
+B
D
),如果您願意,可以稍後繼續。如果只是簡單地關閉 Putty,那麼tmux
它仍然在 Linux 主機上執行。當您靠近ssh
主機時,您可以重新連接到它,通常使用tmux attach-session
(aliastmux attach
)。雖然我現在使用 WSL/Windows 終端,但是當我使用 Putty 時,我會設置“遠端命令”選項以始終重新連接到現有的(命名的)tmux 會話,或者如果它不存在則創建一個新的(命名的)會話(
tmux new-session -AD -t main -s main
)。但是,當
tmux
關閉(通過退出或分離)時,與任何操縱終端的“詛咒”/全屏類型應用程序(例如less
或vi
)一樣,它將導致螢幕上的文本失去,因為它將控制權返回到上一個終端“所有者”(通常是外殼)。至於您保存完整內容的請求,是的,
tmux
可以將整個窗格保存到緩衝區或文件中:tmux capture-pane -p -S - -E - > ~/tmux-contents
-p
將結果發送到 stdout 而不是 tmux 緩衝區-S -
從歷史記錄的第一行開始(預設僅是可見內容的第一行)-E -
在最後一個可見行結束查看
man tmux
並查找capture-pane
命令以獲取更多資訊。