Ssh
在遠端機器上的 tmux 中,終端中的每個新行都縮進到先前顯示的行的末尾
更新:感謝@NotTheDr01ds 的評論解決了
原始問題
(最後我使用的機器的詳細資訊)
我使用以下方式連接到我的 Uni 的 VPN:
sudo /sbin/modprobe tun && sudo openconnect gucsasa1.cent.gla.ac.uk
我得到這個輸出:
POST https://gucsasa1.cent.gla.ac.uk/ Got CONNECT response: HTTP/1.1 200 OK CSTP connected. DPD 30, Keepalive 20 Connected as 172.20.183.165, using SSL, with DTLS in progress Established DTLS connection (using GnuTLS). Ciphersuite (DTLS1.2)-(ECDHE-RSA)-(AES-256-GCM). Unknown DTLS packet type 13, len 16
然後我執行以下命令通過 ssh 連接:
ssh -X mymachine
連接後,我在伺服器上的 .bashrc 會嘗試自動啟動 tmux(2.6 版):
# Launch tmux if command -v tmux>/dev/null; then [[ ! $TERM =~ screen ]] && [ -z $TMUX ] && tmux new-session -A -s main fi
但它會立即崩潰,讓我的終端顯示看起來像這樣(在這裡我輸入
ls
以顯示問題,但它發生在所有標準輸出中):我也看不到我在終端中輸入的任何內容 - 即它不會更新顯示,直到我按命令輸入(輸入“盲”)。
在 ssh 中使用
-X
and-Y
標誌時,我對 GUI 程序沒有任何問題。這特定於 tmux 終端中的標準輸出渲染。Google搜尋後,我發現打字
reset
帶來了“正常”的體驗,但也殺死了 tmux 伺服器。這是輸入的結果ls
:一旦我嘗試啟動 tmux,它就會再次崩潰,我又回到了原來的問題。
當我使用相同的客戶端機器和相同的終端連接到其他伺服器(執行 Debian 10、Ubuntu 20.04、bash 和 tmux 2.8)時,我沒有這個問題。
有人對我如何解決此問題有任何想法嗎?我一直在Google搜尋一整天都沒有成功。
客戶端機器
- 作業系統:lubuntu 20.04
- 終端:st
- 外殼:重擊
- 在 tmux 會話中
echo $TERM
::st-256color- 外部 tmux 會話
echo $TERM
::screen-256color伺服器機器
- 作業系統:Ubuntu 18.04
- 終端:gnome-終端
- 外殼:重擊
- 外部 tmux 會話
echo $TERM
::st-256color
我自己無法使用類似的配置重現這一點,但聽起來(並從評論中確認)主機上的 termcap 和
$TERM
( ) 可能不匹配。st-256color
我會嘗試幾件事:
- 首先,看看不同的終端是否會出現同樣的問題。在這種情況下,
gnome-terminal
工作正常。- 嘗試不同的
TERM
設置,例如tmux-256color
、screen-256color
或xterm-256color
。- (在這種情況下有效)
export TERM=xterm-256color
在連接到主機之前在客戶端上。TERM=xterm256color ssh -X mymachine
也應該工作。