当我从 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
。