GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/emacs/Remote-Files.html ・ emacs-doc.conao3.com

20.15 リモートファイル

特殊なファイル名の構文を用いることで、他のマシン上のファイルを参照できます:

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

このリクエストを実行するため、Emacsはsshのようなリモートログインプログラムを使用します。ファイル名には、使用するメソッドを必ず指定する必要があります—例えば、/ssh:user@host:filenameはsshを使用します。ファイル名に擬似メソッド‘-’を指定した場合、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を使用します。

M-x inhibit-remote-files を実行することで、リモートファイル名機能を完全に無効にできます。また、ファイル名を ‘/:’ で囲むことで、個別のケースごとにこの機能を無効にすることも可能です(引用符付きファイル名を参照)。

FTPによるリモートファイルアクセスはAnge-FTPパッケージで処理されており、そのドキュメントは以下に記載されています。その他の方式によるリモートファイルアクセスはTrampパッケージで処理されており、専用のマニュアルが用意されています。The Tramp ManualのThe Tramp Manualを参照してください。

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

パフォーマンス上の理由から、EmacsはデフォルトではFTP経由でアクセスしたファイルのバックアップを作成しません。バックアップを作成するには、変数 ange-ftp-make-backup-files を nil 以外の値に変更してください。

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

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

中継先のファイアウォールがセキュリティ上の理由で接続を遮断しているため、リモートマシン上のファイルにアクセスできない場合があります。対象ファイルにアクセス可能で、かつFTPサーバーがゲートウェイ機能をサポートしているゲートウェイマシンにログインできれば、引き続きリモートファイル名を使用できます。その際は、変数ange-ftp-gateway-hostにゲートウェイマシンの名前を指定し、ange-ftp-smart-gatewayをtに設定するだけで構いません。それ以外の場合でも、リモートファイル名を機能させられる可能性はありますが、その手順は複雑です。M-x finder-commentary RET ange-ftp RETと入力することで、手順を確認できます。