tramp-methods
変数のdocstringも参照してください。この部分は注目に値するように見えます:
tramp-remote-shell
これは、リモートホストで使用するシェルを指定します。これはボーンのようなシェルでなければなりません。通常、これを「/ bin / sh」以外の値に設定する必要はありません。Trampは、チルダ拡張を実行するシェルを使用したいと考えていますが、検索することはできます。また、「/ bin / sh」はすべてのUnixenに存在することに注意してください。これは、使用することを決定した値には当てはまらない場合があります。あなたは警告されました。
編集:
したがって、既存のメソッド(この例では「scpc」)に基づいて新しいメソッドを作成し、カスタムメソッドに別のリモートシェルを与える方法は次のとおりです。
(require 'tramp)
(let* ((base-method (cdr (assoc "scpc" tramp-methods)))
(new-method (copy-tree base-method))
(rshell (assq 'tramp-remote-shell new-method)))
(setcdr rshell "/system/bin/sh")
(add-to-list 'tramp-methods (cons "android" new-method)))
Emacs 23(Tramp 2.1.20)では、このプロパティの名前は。であることに注意してくださいtramp-remote-sh
。Emacs 24(Tramp 2.2.3-24.1)では、に変更されていtramp-remote-shell
ます。
そして、私はあなたがこれであなたの指定されたホストのためにデフォルトでこの方法を使うことができると推測しています:
(add-to-list
'tramp-default-method-alist
(list "\\`myhost\\'" nil "android"))