2010-12-06 21 views
3

J'utilise beaucoup TRAMP avec emacs. Cependant, parfois, un serveur tombe en panne et Tramp attend un timeout. Habituellement, c'est après avoir fait un C-x-f en mode ido pour ouvrir un nouveau fichier. Je dois attendre énormément de temps. Existe-t-il un moyen facile de dire à TRAMP de temporiser et laisser le mode ido continuer. J'essaie C-g et l'option d'ouvrir un fichier n'arrive jamais.Comment forcer un délai d'expiration d'Emacs?

+0

Que 'Cg' fonctionne dans cette situation peut dépendre de votre système d'exploitation (et sur certains « exotiques »(non-unix), les plates-formes, comment Emacs a été compilé, et peut-être même comment l'ssh ou autre aide programme a été compilé). – Gilles

+0

Ah. J'utilise emacs de cygwin et scp de cygwin. – User1

Répondre

0

Je ne suis pas confronté à une telle situation si j'utilise fréquemment TRAMP. Essayez quelque chose comme

(defun tramp-find-file-timeout() 
    (when tramp 
    (with-timeout (4) 
     (keyboard-quit)))) 
(add-hook 'find-file-hook 'tramp-find-file-timeout) 

je this et this pour faire cette suggestion. quelque chose de mieux que keyboard-quit pourrait travailler pour vous.

+0

Oh, ça a l'air de marcher, mais ça échoue pour une raison quelconque. Bummer! – User1

0

J'ai trouvé un indice qui peut limiter l'attente douloureuse à 5 secondes. Ajouter cette ligne à .ssh/config:

 
Host * 
    ServerAliveInterval 5 

Cependant, au bout de cinq secondes, vous ne pouvez toujours pas choisir un fichier. Donc, quand il échoue, il suffit de faire un C-x b à un tampon qui n'est pas ouvert sur le serveur et C-x-f à partir de là ne prendra pas une éternité.

1

Dans ces cas (fréquents) lorsque tramp s'arrête, je viens d'arrêter le processus avec C-g, tuer le tampon de tramp et je peux ensuite enregistrer le fichier.

M-x kill-buffer RET *tramp.* 
+1

En effet; Tuer le tampon Tramp pour la connexion pertinente est une approche générale utile pour résoudre les problèmes de tramp. (Je ne suis pas sûr que ce soit la meilleure solution pour quelque chose qui arrive très souvent, mais c'est certainement un bon souvenir.) – phils

+0

Quand je dis souvent, ce que je veux vraiment dire, c'est que quand je reviens pour éditer un clochard ... dossier ouvert après, disons, plus d'une heure (ce qui n'est pas si fréquent) Je suis presque sûr que le vagabond est profondément endormi. Depuis que j'ai découvert que C-g & kill the tramp buffer fonctionne, ma relation avec emacs s'est améliorée. Qu'est-ce qui vous a empêché d'augmenter ma réponse BTW? – yPhil

+0

Je n'ai pas voté parce qu'il ne semblait pas directement pertinent à la question - tuer le tampon de tramp peut être très utile, mais il ne peut pas ramener un serveur distant à la vie. – phils