L'exécution de vim sur une machine Linux distante «fige» la connexion OS X SSH


8

J'essaie de SSH sur une machine Linux (Fedora 14) puis j'ouvre vim pour éditer un fichier, cependant sur mon nouveau Macbook Pro, la session SSH semble "geler" dès que j'ouvre vim.

Je peux me connecter correctement à la machine Linux et exécuter des commandes:

capture d'écran 1

Cependant, dès que je lance vim, les blancs terminaux sur et ne répond pas à :q, ctrl+z, ctrl+c, ctrl+d, etc:

entrez la description de l'image ici

J'utilise iTerm2, mais le même problème se produit dans Terminal.app. En outre, la tentative de transfert de fichiers avec scpprésente le même comportement, il semble donc lié à tout type de connexion ssh à cette machine.

Cela pourrait-il avoir quelque chose à voir avec tty vs pty, ou un autre paramètre d'émulation de terminal dans OS X?

Je n'ai pas le même problème d'affichage lors de l'ouverture de vim sur la machine Linux distante à l'aide de Windows ou d'autres systèmes d'exploitation. De plus, je peux utiliser vim fine lorsque je suis connecté à d'autres machines distantes (Linux).


4
Cela ressemble à un problème MTU . Voir ma réponse là pour des explications; en un mot, les petits paquets passent mais les gros paquets sont systématiquement abandonnés, donc les programmes interactifs fonctionnent principalement (mais pas quand ils font beaucoup en une seule fois) mais les transferts de fichiers échouent généralement. Pour obtenir de l'aide pour résoudre ce problème, veuillez décrire précisément le chemin d'accès réseau entre le client et le serveur (routeurs, types de liens, etc.).
Gilles 'SO- arrête d'être méchant'

Réponses:


3

J'appuie la réponse de @Gilles. Mais plus facile à diagnostiquer, définissez simplement le MTU sur votre interface Ethernet ou sans fil sur quelque chose de vraiment petit et voyez ce qui se passe. Sous OS X:

$ sudo ifconfig en0 mtu 1100  # (or en1 for wifi, unless on an Air)

Ensuite, testez scp et voyez ce qui se passe. S'il stagne toujours à 1100, vous devez probablement réparer un périphérique réseau vraiment cassé quelque part.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.