rlogin - リモートログイン


Table of Contents

rlogin は、[hostname] で指定したリモートホストへのリモートログインセッションを確立します。

% rlogin [hostname]

のようにして [hostname] で指定した rlogind サーバーにリモートログインします。 また、

% rlogin -l [username] [hostname]

のように -l オプションを使用して login 名を指定できます。

本来なら、このときにパスワード入力を求められますが、 .rhosts ファイルで設定することにより、 パスワード入力を省略することができます。 会津大学の演習室間通信ではそのようになっています。

パスワードが求められたとき、Ctrl-d を入力すれば rlogin を終了できます。

接続を切るには

% exit

としてシェルを終了します。

GUI ツールの起動 Edit

GUI のツールは、

% setenv DISPLAY [localhostname]:0.0

のように、環境変数 DISPLAY にローカルホストのディスプレイを設定すれば動かせます。 一応説明しておきますと、:0.0 の最初の 0 はディスプレイ番号で、 後ろの 0 スクリーン番号です。 ディスプレイ番号は、1つのXサーバに複数のディスプレイが接続されているとき、 スクリーン番号は、1つのホスト内で複数のXサーバが動作しているときに指定する番号です。 仮想的にディスプレイを作成するツールもあるので、ディスプレイ番号は指定することがありますが、 スクリーン番号は、現在ほとんど使われていないと思います。

ローカルホスト名は tcsh ならば rlogin したときに、環境変数 ${REMOTEHOST} に格納されるので、

% setenv DISPLAY ${REMOTEHOST}:0.0 

とすることでも可能です。ただし csh だと ${REMOTEHOST} は作られません。

補足ですが、本来は X サーバーの許可を考慮して xhost コマンド、または xauth コマンドを使用 しなければいけません。 しかし、会津大学演習室間通信では自動的に xauth による認証が 行われているので、気にする必要がありません。 詳しくは xauth の方を参照してください。

GUI ツールの起動(自動設定) Edit

tcsh ならば環境変数 REMOTEHOST が設定されるので楽に DISPLAY 変数を設定できますが、 bash, csh ではホスト名を自分で確認して、手作業で入力する必要があります。

正直面倒なので、設定ファイルを書き換えて、bashで自動に環境変数DISPLAYを設定するようにしてみました。これもまた大学の NFS 環境ならではの技です。

.xinitrcの修正 Edit

.xinitrc の末に以下の一文を追加します。どこでも良いのですが、 WindowManager を起動する後くらいが分かりやすくて良いかと。

echo $HOSTNAME > $HOME/.xhost

.xhostは現在存在しない任意の名前にファイル名を指定します。 このファイルがXを立ち上げているホスト名を常に更新しつづけることになります。

.bashrc, .cshrcの修正 Edit

.bashrc, .cshrcに以下の行を追加します。 自分の使っているshellに合わせた設定ファイルのみ修正してください。

.bashrcの場合

if [ $HOSTNAME != `cat $HOME/.xhost` ] ; then
    export DISPLAY="`cat $HOME/.xhost`:0.0"
fi

.cshrcの場合

if ( $HOSTNAME != `cat $HOME/.xhost` ) then
    setenv DISPLAY "`cat $HOME/.xhost`:0.0"
endif

これらのスクリプトで .xinitrc で指定したファイル名を cat でダンプし、環境変数に設定します。

使ってみる Edit

上記設定は、X を起動し直した後から有効になります。適当なマシンに rlogin で入った後に、 すぐに kterm を起動しても正しく、手前のマシンに GUI が表示されるはずです。

最後に、.xinitrc で出力しているファイルのパーミッションを'600'にして、*一応*他人に居場所が分からないようにしておくと幸せかも知れません。


xrea