Bizzarre Emacs Tramp Fix

Я был в процессе редактирования файла на удаленном хосте и нажал C-x C-s, как вдруг Emacs завис. Он работал ранее в тот день; Я спасся из другого буфера в том же сеансе всего за десять минут до этого. Нажатие C-g вытащило его из состояния зависания, но больше не спасало. Локальная машина - OS X Leopard, удаленная - FreeBSD 7.4, Emacs - это предварительно скомпилированная загрузка 24.1 (9.0) для OS X.

Я сделал M-x tramp-cleanup-all-connections и попробовал снова. Не повезло. Я пробовал много вещей, включая выключение моей рабочей станции и перезапуск emacs.

Дойдя до конца, я изменил в своем .emacs следующую строку:

(setq tramp-verbose 10); had been 3

Я подумал, что таким образом я получу хорошую отладочную информацию. Итак, я перезапустился и попытался отредактировать удаленный файл, полагая, что увижу что-то в буфере * debug tramp / ssh ... *.

И вот, я снова смог отредактировать удаленный файл.

Я сбросил tramp-verbose на 3, перезапустил, и трамп снова завис. Переключил обратно на 10, все работает. Он работает, даже если я установил tramp-debug-buffer на nil.

У кого-нибудь есть идеи, почему это должно быть? Что действительно заставляет меня задуматься, так это то, что Emacs внезапно перестал работать после месяцев редактирования без сбоев.


person amp108    schedule 21.12.2012    source источник
comment
Это похоже на отчет об ошибке в emacs. Я предлагаю выполнить поиск в списке рассылки отладки emacs, а затем отправить туда эту ошибку: debbugs.gnu.org/Emacs. html   -  person amicitas    schedule 10.01.2013
comment
Я получаю такие зависания, когда кладу свой Macbook в режим сна, а затем снова его просыпаю. Использование TCPKeepAlive yes и ControlPersist yes в моем файле ~ / .ssh / config помогло немного облегчить проблему; ymmv.   -  person gempesaw    schedule 18.01.2013


Ответы (2)


Что ж, tramp-mode - это здорово, но иногда он может вызывать задержку, когда emacs делает другие вещи. Двумя самыми большими виновниками являются автосохранение и vc-режим. Если они начинают работать, а у вас медленное соединение, это может на время заблокироваться. Лучше всего установить (setq tramp-verbose 5) и посмотреть, что делает бродяга во время "замораживания".

person stsquad    schedule 22.05.2013

Следуя предупреждению stsquad об автосохранении, я решил поделиться своими настройками (из ~/.emacs), которые отключают автосохранение:

;; Tramp (http://www.emacswiki.org/emacs/TrampMode) for remote files
(require 'tramp)
(add-to-list 'tramp-remote-path 'tramp-own-remote-path)
(setq tramp-default-method "ssh")
;; Backup (file~) disabled and auto-save (#file#) locally to prevent delays in editing remote files
(add-to-list 'backup-directory-alist
             (cons tramp-file-name-regexp nil))
(setq tramp-auto-save-directory temporary-file-directory)
(setq tramp-verbose 10)
person Paul Price    schedule 27.02.2014