Ошибки трампа в Emacs

Когда я пытаюсь открыть файл на другом компьютере с помощью tramp 2.1.9, он регистрирует меня на машине и показывает файл, но затем это появляется в минибуфере:

File mode specification error: (wrong-number-of-arguments #[(filename) "\306^H!\205!^@\307^H!^Y\310     !^Z\311 !^[\312 !^\\313 !^]\314
^K^L\315$-\207" [filename v method user host localname tramp-tramp-file-p tramp-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-make-tramp-file-name ""] 5 ("/usr/local/share/emacs/s\
ite-lisp/tramp.elc" . 133124)] 3)
Directory-local variables error: (wrong-number-of-arguments #[(filename) "\306^H!\205!^@\307^H!^Y\310   !^Z\311 !^[\312 !^\\313 !^]\314
^K^L\315$-\207" [filename v method user host localname tramp-tramp-file-p tramp-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-make-tramp-file-name ""] 5 ("/usr/local/share/emacs/s\
ite-lisp/tramp.elc" . 133124)] 3)
Error: (wrong-number-of-arguments #[(filename) \306^H!\205!^@\307^H!^Y\310      !^Z\311 !^[\312 !^\\313 !^]\314
^K^L\315$-\207 [filename v method user host localname tramp-tramp-file-p tramp-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-make-tramp-file-name ] 5 (/usr/local/share/emacs/site-\
lisp/tramp.elc . 133124)] 3)

И я не могу перемещаться по файлу. Кто-нибудь испытал это? В моем файле .emacs есть только следующие строки:

(require 'tramp)
(setq tramp-default-method "ssh")

person kristina    schedule 15.09.2010    source источник
comment
Можете ли вы проверить, что вы можете переименовать файл удаленно с помощью инструмента ssh (без emacs)? Он сообщит вам, есть ли у вас права или нет изменять файл. Версия Tramp - 2.1.18 на Emacs 23.2.   -  person Jérôme Radix    schedule 16.09.2010
comment
Если вы используете режим ido, попробуйте (setq ido-enable-tramp-completion t).   -  person Tao Peng    schedule 16.09.2010
comment
@Jerome: да, я заходил по ssh и редактировал файл из сеанса ssh, так как tramp не работает. Кроме того, такая же ошибка возникает, когда я пытаюсь использовать tramp с sudo. Установил бродягу из исходников, использую 23.1.1. @pt: Я не использую режим ido.   -  person kristina    schedule 16.09.2010


Ответы (1)


Похоже, в этой строке ошибки появляется приглашение оболочки. Если приглашение удаленной оболочки является проблемой, я немного удивлен, что бродяга доходит до загрузки файла. Но один простой способ определить, является ли приглашение удаленной оболочки проблемой, - это временно отодвинуть .bashrc (или любые другие настройки оболочки, которые /bin/sh будут загружены).

Вот руководство по удаленная настройка оболочки.

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

if [ "$TERM" == "vt100" -o "$TERM" == "dumb" -o "$EMACS" == "t" ]; then
    export PS1="\h [\W]> "
else 
    ...set fancy prompt here...
fi

(Я также проверяю ! -z "$PS1", прежде чем выполнять какие-либо настройки оболочки, но я почти уверен, что оболочка tramp интерактивна.)

person Dave Bacher    schedule 16.09.2010