20.15 リモートファイル

他のマシンにあるファイルを、特別なファイル名構文を使って参照できます:

/method:host:filename
/method:user@host:filename
/method:user@host#port:filename

このリクエストを発行するために、Emacsはsshのような、リモートログインプログラムを使います。どのmethodを使うかは、常にファイル名で指定しなければなりません。たとえば/ssh:user@host:filenamesshを使います。ファイル名のmethodに擬似methodの‘-’を使用したとき、Emacsは以下によりmethodを選択します:

  1. ホスト名が‘ftp.’(ドット付き)で始まるとき、EmacsはFTPを使います。
  2. ユーザー名が‘ftp’または‘anonymous’のとき、EmacsはFTPを使います。
  3. 変数tramp-default-methodが‘ftp’にセットされているとき、EmacsはFTPを使います。
  4. ssh-agentが実行されているとき、Emacsはscpを使います。
  5. 上記以外の場合、Emacsはsshを使います。

M-x inhibit-remote-filesを実行することにより、リモートファイル名の機能を完全にオフにすることができます。個別のケースについて機能をオフにするには、ファイル名を‘/:’でクォートします(ファイル名のクォートを参照してください)。

FTPを通じたリモートファイルへのアクセスは、以下で説明するAnge-FTPパッケージで処理されます。他の方法によりリモートファイルへのアクセスはTrampパッケージにより処理され、これにはそれ自身のマニュアルがあります。The Tramp Manual in The Tramp Manualを参照してください。

Ange-FTPパッケージでは、リモートファイル名にユーザー名userがしているときは、FTPを通じてその名前でログインします。userが指定されていないとき、Emacsはローカルシステムのユーザー名でログインします。しかし変数ange-ftp-default-userに文字列がセットされているときは、かわりにその文字列を使用します。Emacsは、ログイン時にパスワードの入力も求めます。

パフォーマンス的な理由により、FTPを通じたファイルのアクセス時に、デフォルトではEmacsはバックアップファイルを作成しません。バックアップを作成するには、変数ange-ftp-make-backup-filesを非nil値に変更してください。

デフォルトではリモートファイルの自動保存ファイルは、変数auto-save-file-name-transformsで指定された、ローカルマシンの一時ディレクトリーに作成されます。自動保存ファイルを参照してください。

匿名FTPでアクセスできるファイルをvisitするには、特別なユーザー名‘anonymous’または‘ftp’を使います。これらのユーザー名にたいするパスワードは、特別に処理されます。これは変数ange-ftp-generate-anonymous-passwordにより制御されます。この変数の値が文字列の場合、その文字列がパスワードとして使用されます。非nil(デフォルト)の場合、user-mail-addressの値が使用されます。nilの場合、Emacsは通常どおりパスワードの入力を求めます(パスワードの入力を参照してください)。

セキュリティー上の理由で、リモートマシンとの間にあるファイアーウォール(firewall)により、ファイルにアクセスできないときがあります。対象ファイルにアクセスできるマシンからゲートウェイ(gateway)マシンにログインできて、FTPサーバーがゲートウェイ機能をサポートしている場合は、リモートファイル名を使うことができます。これを行うには変数ange-ftp-gateway-hostにゲートウェイマシンの名前をセットして、ange-ftp-smart-gatewaytにセットする必要があります。それ以外の場合でもリモートファイル名が機能するようにできますが、その方法は複雑です。これらの方法は、M-x finder-commentary RET ange-ftp RETとタイプして読むことができます。

This page has generated for branch:work/emacs-30_69b16e5c63840479270d32f58daea923fe725b90, commit:5e3f74b56ff47b5bcef2526c70f53f749bbd45f6 to check Japanese translation.