前: Shell Options, 上: Shell


27.14.6 リモートホストのシェル

Emacsには、他のホストにログインしてEmacsバッファ経由で通信するコマンドが 2つあります。

M-x telnet <RET> hostname <RET>
ホストhostnameにtelnet経由で接続する。
M-x rlogin <RET> hostname <RET>
ホストhostnameにrlogin経由で接続する。

他のホストにtelnet経由で接続するには、M-x telnetを使います (telnetはリモートログイン用のInternetの標準プロトコル)。 このコマンドは、接続先のホスト名を引数としてミニバッファで読みます。 いったん接続が確立すると、他のホストとのやりとりはサブシェルとのやりとり と同様にして行えます。 通常のEmacsコマンドで入力を編集でき、<RET>で相手側に送信します。 相手側からの出力は(同じ)Telnetバッファに挿入されます。

rlogin接続を行うには、M-x rloginを使います。 rloginは本質的にはtelnetプロトコルとよく似た リモートログイン用の通信プロトコルですが、 telnetとの互換性はなく、ある種のシステムでだけ使えます。 rloginの利点は、2つのマシン間で頻繁に通信する場合に ユーザー名やパスワードを毎回打ち込まないですむように設定できることと、 8ビットを透過的に使う接続が可能なことです。 (Emacsでこれを行うには、 rloginを開始するまえにrlogin-explicit-args("-8")を 設定する。)

M-x rloginは、相手側とFTP経由でファイルをやりとりするために Emacsバッファのデフォルトディレクトリを設定し(see File Names)、 シェル(shell)モードと同様にカレントディレクトリを変更する シェルコマンドを監視します。

rloginバッファでディレクトリを追跡する方法は2つあります。 リモートディレクトリ名/host:dir/を使うか、 ローカルファイル名を使います。 (後者は『相手側のホスト』がローカルホストと ファイルシステムを共有している場合にのみ使える)。 コマンドrlogin-directory-tracking-modeを使って、 これらの2つのモードを相互に切り替えられます。 引数なしではリモートディレクトリ名を使う状態にし、 正の数を引数にするとローカル名を使う状態にします。 負の数を引数にするとディレクトリの追跡機能を止めます。