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)