1

OSXでemacs 24.3を使用していますが、trampを使用してリモートホストに接続する際に問題が発生しています。接続しようとするたびに、次のエラーが表示されます。

Tramp: Opening connection for root@foo.example.com using ssh...
Tramp: Sending command `exec ssh -l root  -e none foo.example.com'

Tramp: Waiting for prompts from remote shell
Tramp: Sending command `exec ssh -l root  -e none foo.example.com'
Tramp: Found remote shell prompt on `foo.example.com'
Tramp: Opening connection for root@foo.example.com using ssh...done
byte-code: `echo \"`uname -sr`\"' does not return a valid Lisp expression: `sh: uname: command not found

このインスタンスのリモート ホストは古い Fedora インストールであり、uname は にあり/bin/unameます。Ubuntu 12.10 マシンでも同じエラーが発生するので、リモート ホストの問題ではないと思います。tramp-remote-path値を無駄に設定するなど、さまざまなことを試しました。現在のトランプ関連の設定は次のようになります。

(require 'tramp)
(setq tramp-default-method "ssh")
(add-to-list 'tramp-remote-path "/bin")
(add-to-list 'tramp-remote-path "/usr/bin")
(add-to-list 'tramp-remote-path "/usr/local/bin")

ポインタや支援をいただければ幸いです。ありがとう。

4

2 に答える 2

2

私の場合、この問題は、シェル設定を変更した .emacs の迷子の設定が原因でした。多くの設定を蓄積している場合は、.emacs ファイルをデバッグしようとするのではなく、ゼロから始めることを強くお勧めします。まず、emacs の外で ssh 経由でホストにアクセスできることを確認します。それが機能したら、実行します

% emacs -q

構成ファイルなしで開始します。emacs内で、

(require 'tramp)

リモートホストでファイルを開こうとします

C-xC-f /your-host-name:/path/on/your/host/file.name

これが機能する場合は、私の場合と同じように、素晴らしいです! これで、.emacs のどの問題が原因で問題が発生したかを突き止めることができます。サブシェルまたはトランプ構成変数に関連するものを探して、そこから作業してください。

それでも問題が解決しない場合は、tramp の診断を追加してみてください

(setq tramp-debug-buffer t)
(setq tramp-verbose 10)

出力バッファを調べます。特に、リモートホストに到達しているのか、それともクライアント側で何かにつまずいているのかを把握してみてください。

于 2014-03-25T12:43:14.023 に答える