rlogin - リモートログイン
Table of Contents |
rlogin は、[hostname] で指定したリモートホストへのリモートログインセッションを確立します。
% rlogin [hostname]
のようにして [hostname] で指定した rlogind サーバーにリモートログインします。 また、
% rlogin -l [username] [hostname]
のように -l オプションを使用して login 名を指定できます。
本来なら、このときにパスワード入力を求められますが、 .rhosts ファイルで設定することにより、 パスワード入力を省略することができます。 会津大学の演習室間通信ではそのようになっています。
パスワードが求められたとき、Ctrl-d を入力すれば rlogin を終了できます。
接続を切るには
% exit
としてシェルを終了します。
GUI ツールの起動 
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 ツールの起動(自動設定) 
tcsh ならば環境変数 REMOTEHOST が設定されるので楽に DISPLAY 変数を設定できますが、 bash, csh ではホスト名を自分で確認して、手作業で入力する必要があります。
正直面倒なので、設定ファイルを書き換えて、bashで自動に環境変数DISPLAYを設定するようにしてみました。これもまた大学の NFS 環境ならではの技です。
.xinitrcの修正 
.xinitrc の末に以下の一文を追加します。どこでも良いのですが、 WindowManager を起動する後くらいが分かりやすくて良いかと。
echo $HOSTNAME > $HOME/.xhost
.xhostは現在存在しない任意の名前にファイル名を指定します。 このファイルがXを立ち上げているホスト名を常に更新しつづけることになります。
.bashrc, .cshrcの修正 
.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 でダンプし、環境変数に設定します。
使ってみる 
上記設定は、X を起動し直した後から有効になります。適当なマシンに rlogin で入った後に、 すぐに kterm を起動しても正しく、手前のマシンに GUI が表示されるはずです。
最後に、.xinitrc で出力しているファイルのパーミッションを'600'にして、*一応*他人に居場所が分からないようにしておくと幸せかも知れません。