Diff of UNIX/コマンド/クライアント/rlogin


TITLE:rlogin - リモートログイン
#navi(UNIX/コマンド)
#contentsx

rlogin は、[hostname] で指定したリモートホストへのリモートログインセッションを確立します。
 % rlogin [hostname]
のようにして [hostname] で指定した rlogind サーバーにリモートログインします。
また、
 % rlogin -l [username] [hostname]
のように -l オプションを使用して login 名を指定できます。

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

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

接続を切るには
 % exit
としてシェルを終了します。

*GUI ツールの起動 [#c6492f68]

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 ツールの起動(自動設定) [#k67ed809]
tcsh ならば環境変数 REMOTEHOST が設定されるので楽に DISPLAY 変数を設定できますが、
bash, csh ではホスト名を自分で確認して、手作業で入力する必要があります。

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

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

 echo $HOSTNAME > $HOME/.xhost

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

** .bashrc, .cshrcの修正 [#l99e202a]
.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 でダンプし、環境変数に設定します。

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

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

#navi(UNIX/コマンド,,footer,footer)
#navi(UNIX/コマンド,,footer)
xrea