「startx」をする前に root になり, 以下の作業を行ってください.
# cd /usr/X11R6/lib/X11/xinit# cp xserverrc xserverrc-org
# vi xserverrc
![]()
xserverrc ファイル中の
exec /usr/bin/X11/X -dpi 100 -nolisten tcpを下記のように書き換えます.
exec /usr/bin/X11/X -dpi 100
作業が終了したら root から抜けて
$ startx![]()
環境変数 DISPLAY に示されるサーバに X が表示されます. 自分が使って いる端末に表示さうに設定します. 設定の書式は以下の通りです.
(ホスト名):(ディスプレイ番号).(スクリーン番号)
設定例
$ export DISPLAY=localhost:0.0
または (joho06 の場合)
$ export DISPLAY=joho06.ep.sci.hokudai.ac.jp:0.0
設定を確認してみましょう.
$ printenv | grep DISPLAY
DISPLAY が先程設定した値になっていれば設定完了です.
X は環境変数 DISPLAY の値に設定されている場所へ表示されます. DISPLAY に他のマシン (X サーバ) を 指定すれば,そこにクライアントの画面を飛ばせます. 3n+1 マシンは 3n+2 マシンへ, 3n+2 マシンは 3n+1 マシンへ xeyes を飛ばしてみましょう. IP アドレスは相手のマシンのアドレスを入力してください.
$ export DISPLAY=192.168.16.1??:0.0$ xeyes &
![]()
制御プログラム「xhost」を使うことで X サーバへのアクセスを制限することができます.
$ xhost +192.168.16.111 $ xhost + $ xhost -192.168.16.111 |
< joho11からの要求を受け付ける < 全てのクライアントに開放 < joho11からの要求に答えない |
制限を加えた状態で X が飛ばせるか試してみましょう. [2.2]と同様にお互い
のマシンに xeyes を飛ばみよう.
「xhost」 はホスト単位でアクセスを制御します. 「xauth」でさらに厳しく 制限するこできます.詳しくは man で確認してください. 「xauth」を使用す るときは必ず 「xhost -」 としておくこと忘れないようにしてください.
サーバ側(joho11: 画面を飛ばされる方)
$ xauth list :0.0joho11/unix:0 MIT-MAGIC-COOKIE-1 174bakcfd407df4fa7cc5f4457c11147
サーバで表示された174bakcfd407df4fa7cc5f4457c11147をクライアント側に 設定します.
クライアント側(joho12: 画面を飛ばす方)
$ xauthUsing authority file /home/hoge/.Xauthority xauth> add 192.168.16.111:0.0 . 174bakcfd407df4fa7cc5f4457c11147
xauth> exit
% xeyes &
![]()
設定の削除方法
$ xauthxauth> remove 192.168.16.111:0.0
xauth> exit
![]()
相手のコンピュータに接続し, X を自分のコンピュータのディスプレイに表 示します. 接続先のコンピュータにアカウントが必要です. ssh を 使うと,自動的に画面が転送されます.このとき xhost などの設定は 不要です(内部で xauth を設定しています).
$ ssh -X 192.168.16.111password: joho11$ xeyes &
3n+1 マシンおよび 3n+2 マシンで「xhost +」を設定し, お互いに覗き見てみよう.
サーバー側
$ xhost +![]()
クライアント側
$ xwd -display 192.168.16.116:0.0 -root -silent -out xhost.xwd |
< xhost.xwd ファイルに画像をダンプする < ダンプした画像を表示 |
xwd | X のイメージ(画像)をダンプする X クライアント |
display | 画像ビューワー |
3n+1 マシンおよび 3n+2 マシンで, お互いに仮想端末を検索し, お互いの入力を 監視してみよう.
サーバー側
$ xhost +![]()
クライアント側
$ xwininfo -display 192.168.16.111:0.0 -root -tree | less |
< 仮想端末らしいウインドウのIDを探す < 探し出した ID を設定しのぞく |
xwininfo | ウィンドウの属性を表示 |
xev | 指定したウインドウで発生したイベントを表示 |
これまで試してきて分かるように xhost + と設定すると全てのホストからの ウィンドウ表示要求を受け入れることになってしまいます. これは密かに誰かから 監視される可能性があることを意味しています. セキュリティー上好ましくないので なるべく xauth を使うようにしましょう.
最終更新日: 2004/01/08 (柿並 義宏) | Copyright © 2003 inex |