[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
TRAMP をインストールすると、TRAMP は完全に透過的に動作します。 ログイン可能なリモートマシン上のファイルに、あたかもローカルファイル のようにアクセスすることができます。
TRAMP では、formalized シンタックスを使いファイルを指定します。これは、 パッケージのシンタックスに似ています。
あなたを驚かせることが起こり得ます。 Emacs は全てのキー入力を憶えています。 したがって Emacs からのパスワードプロンプトを目にして RET を一回でなく二回叩いた場合、二回目のキー入力は TRAMP が動作した後で Emacs で処理されます。何故この先行入力が通常の挙動かと思うでしょう。 あなたは正しい、しかしリモートファイルを開くにはしばらくの時間がかかり、 接続が開かれるまでに30秒かかるかもしれないということに気付いて下さい。 おそらく30秒後にはそのキーを叩いたことをすでに忘れているでしょう!
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
リモートマシン machine 上のファイル localname にアクセスす るためには、ファイル名 `machinelocalname'. を指定してください。これで、 machine に接続し、デフォルトメソッド を使用してファイルが転送されます。See 節 4.5 デフォルトのメソッドの選択.
TRAMP のファイル名の例を以下に挙げます。
melancholia
上のホームディレクトリにある `.emacs'を 編集します。
melancholia
上のユーザー daniel
のホームディレクトリ にあるファイル `.emacs' を編集します。`~<ユーザー>' 構文は リモートマシン上のユーザーのホームディレクトリに展開されます。
melancholia
上のファイル `/etc/squid.conf' を編集 します。
違う名前を使うように指定しない限り、TRAMP は現在のローカルなユーザ名 をログインのためのリモートユーザー名として使います。もし、違うユーザーで ログインする必要がある場合は、ファイル名の一部としてユーザー名を指定する ことができます。
指定したユーザーでリモートマシンにログインする必要がある場合、 `user@machine/path/to.file' というシンタックスを使用してください。つまり、 melancholia
にユーザー daniel
として接続してホームディレクトリの `.emacs' を編集 する場合、`[email protected]' を指定すればよいのです。
ファイル名の一部として、他のファイル転送メソッド(see 節 4.5 デフォルトのメソッドの選択) を指定することもできます。 ユーザー、マシン、ファイルの指定は今までと同じです。
マシン melancholia
に daniel
として接続し、ファイル転送に `ssh' メソッドを使い、ホームディレクトリの `.emacs' を編集する ためには、ファイル名 `[email protected]' を指定します。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
マルチホップファイル名のシンタックスは、当然のことながら、他の TRAMP のファイル名と若干異なります。以下に、マルチホップファイル名の例を あげます。最初が Emacs のシンタックスで次が XEmacs のシンタックスによ るものです:
multirshout@[email protected]/path/to.file |
これは非常に重要なので、ひとつひとつ説明しましょう。ファイル名は 3つの部分から成り、 最初のパート `multi' はメソッドの指定です。 二番目のパートは `rshout@[email protected]' でホップを指定します。最後のパートは `/path/to.file' で、リモート ホスト上のファイル名を指定します。
最初と最後のパートは明白でしょう。4.4 複数のホップを使いリモートホストに接続するに指定可能 なメソッドの一覧があります。
二番目のパートは、再びコンポーネントに、つまりホップたち(hops) に分割 されることがあります。上記のファイル名には、二つのホップたち、 `rshout@gate' および `[email protected]' が含まれています。
それぞれのホップは、再び(3つの)コンポーネント、 ホップメソッド、ユーザー名、ホスト名に分割されることが ありまます。二番目、三番目のコンポーネントの意味は明白です。ホップメソッドは、 このホップでどのようなプログラムを使うかを意味しています。
最初のホップ `rshout@gate' は、 ホスト gate
にユーザー out
としてログインするために rsh
を使うという意味です。二番目のホップ `[email protected]'`[email protected]' は、このホストからホスト real.host
にユーザー kai
でログ インするために telnet
を使うという意味です。
See 節 4.4 複数のホップを使いリモートホストに接続する. ここにホップメソッドの一覧があります。 変数 tramp-multi-connection-function-alist
には、選択可能なホップ メソッドのリストとそれらをどのように実行するかという情報が含まれています。 あなたが作ったメソッドをこの変数に追加してください。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
TRAMP のファイル名補完はリモートマシンのファイル名の補完に加えて メソッド、ユーザ名およびマシン名(マルチホップメソッドたちは除く)に 対して働きます。
例えば C-x C-f tTAB と入力すると TRAMP は以下の選択肢を返します。
`telnet' はメソッドの補完であり、 `toto' は TRAMP がファイル `~/.ssh/known_hosts' から検出したホスト名 です(デフォルトメソッド `ssh' を使っている場合)。
続けて e TAB とすれば、ミニバッファは `telnet' と補完されます。次の TAB では TRAMP がファイル `/etc/hosts' から検出した全てのマシン名を挙げます。例えば、
telnet127.0.0.1 telnet192.168.0.1 telnetlocalhost telnetmelancholia.danann.net telnetmelancholia |
ここで希望のマシンを選択することができ、続けてそのマシン上のファイル名 を補完することができます。
ファイル名補完はリモートマシンからファイルリストを取り寄せる必要が あるために、しばしばとても遅くなります。今の所 TRAMP はディレクトリ リストをキャッシュしないので二回目のファイル名補完でもパフォーマンス 上の違いは現れません。
TRAMP が補完の解析に用いる設定ファイル (see 節 4.7 ユーザ/ホスト名補完のための設定ファイルの選択) がユーザ名を提供した場合、それらのユーザ名も考慮されます。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
TRAMP は dired 上でも透過的に動作します。この強力なファイル管理 ツールを使い、インターネットを経由しアクセス可能なすべてのマシン上の ファイルを管理できます。
ディレクトリツリーをブラウズしたい場合は、今のところファイル名の補完 より dired を使うほうが良いでしょう。dired は自身でキャッシュの仕組み をもっているので、ファイル一覧を一度しか取得しません。
[ << ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |