1

当我尝试使用 tramp 2.1.9 在另一台机器上打开文件时,它会将我登录到机器并显示文件,但随后会出现在 minibuffer 中:

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")
4

1 回答 1

2

看起来您的 shell 提示符出现在该错误字符串中。如果远程 shell 提示是一个问题,我会有点惊讶 tramp 会加载文件。但是,诊断远程 shell 提示符是否存在问题的一种简单方法是暂时移开您的(或您将加载的.bashrc任何 shell 自定义)。/bin/sh

这是远程外壳设置的流浪汉手册。

至于解决方案(如果提示是一个问题),我已经积累了一套退回到简单提示的条件(但我不再记得使用哪些测试来避免特定问题)。

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

(在进行任何 shell 自定义之前我也进行了测试! -z "$PS1",但我很确定 tramp shell 是交互式的。)

于 2010-09-16T19:52:09.130 回答