在远程 Linux 机器上运行 vim 导致程序挂起

我尝试通过 SSH 连接到远程的 Linux 机器,然后打开 vim 来编辑文件,但是在我的新 Macbook Pro 上,打开 vim 时,SSH 会话时总是挂起。

我可以成功登录 Linux 机器并运行很多不同的命令。但是,一旦我运行 vim,终端就会清空,并且不会响应。用力敲 q,ctrl + z,ctrl + c,ctrl + d 等都没反应

我发现这个问题是使用的是 iTerm2,但是 Terminal.app 中也会发生相同的问题。 另外,尝试使用 scp 传输文件也表现出相同的行为,因此,这似乎与到此计算机的任何类型的 ssh 连接有关。

也同时猜测这可能与 tty vs pty 或 OS X 中的某些其他终端仿真设置有关。但后来使用 Windows 或其他操作系统在远程 linux 机器上打开 vim 时,也有这个问题。因此,和客户机这边没有关系,可能是服务器端,或网络间的问题。

百般调试下,终于发现问题在于 MTU 。 可以把服务器上的 MTU 改小一些:

sudo /sbin/ifconfig eth0 mtu 1036
sudo /etc/init.d/networking restart

在 Windows 上,您还可以增加以下键:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
“TcpMaxDataRetransmissions”=dword:00000010

修改后,VIM 终于正常了。另外,如果使用 NAT,则可以在路由器上更改 MTU。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值