當我從 Linux (Mint) 筆記型電腦 ssh 進入遠端伺服器 (macOS) 時,遠端自動完成功能會在每次按鍵時啟動並完成。這是最近才開始的,但我無法確定具體時間。成功登入後,當我嘗試列出當前目錄的內容時,一旦按“l”,螢幕上就會出現“ls”。當我輸入“s”來完成清單命令時,它現在顯示為“lss”(但仍以“ls”執行)。較長的命令變得非常奇怪,速度非常快。鍵入“exit”將顯示為“exitxititt”。同樣,命令仍然執行,但命令列一團糟。
我不知道這裡發生了什麼事——我甚至不知道如何提出一個簡潔或連貫的問題。只有當我從 Linux 用戶端登入 macOS 時才會發生這種情況; Linux-Linux 連線很好(全部使用相同的基本 shell 配置;zsh 使用 Oh-My-Zsh)。知道發生了什麼事嗎?更好的是,我該如何讓它停止?
答案1
我已經找到了一個簡單的解決方法,但問題仍然沒有解決。如果我直接存取遠端電腦(不使用 ssh),則不會出現自動完成問題。如果我在 ssh 登入後立即從 zsh 更改為 bash,也不會發生這種情況(因此這是 macOS 主機上的 .zshrc 問題 - 即使在我關閉 zsh-autosuggestions 插件之後)。解決方法是直接 ssh 進入 bash: ssh user@host -t bash
。