Next: , Previous: , Up: Files   [Contents][Index]


18.14 リモートファイル

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

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

このリクエストを発行するために、Emacsはftpsshrlogintelnetのような、リモートログインプログラムを使います。どの方法を使うかは、常にファイル名で指定できます。たとえば/ftp:user@host:filenameはFTP、/ssh:user@host:filenamesshを使います。ファイル名でログイン方法を指定しない場合、Emacsは以下により方法を選択します:

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

変数tramp-modenilにセットすることにより、リモートファイル名の機能を完全にオフにすることができます。個別のケースについて機能をオフにするには、ファイル名を‘/:’でクォートします(Quoted File Namesを参照してください)。

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で指定された、ローカルマシンの一時ディレクトリーに作成されます。Auto Save Filesを参照してください。

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

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