19
物物物物 I 物物物物物 12 物 物物物物 物物物物物物物物物物 (X Window System ) 前前前前前 ([email protected] p)

物理実験 I 情報実験第 12 回 サーバー・クライアントシス テム (X Window System ) 前坂たけし ([email protected] p)

  • View
    234

  • Download
    7

Embed Size (px)

Citation preview

物理実験 I 情報実験第 12 回

サーバー・クライアントシステム

(X Window System )

前坂たけし([email protected]

p)

「サーバー・クライアントシステム」とは

サーバー (server)

ある機能やデータを,(ネットワークを介して)他の計算機やソフトウエアに提供する計算機 or ソフトウエア.

例)

WWW コンテンツを提供する WWW サーバー

ドメインネームシステムを提供する DNS サーバー

メールを配送する SMTP サーバー

到着したメールを提供する POP サーバー, IMAP サーバー

ニューズを配信する NNTP サーバー

「サーバー・クライアントシステム」とは

クライアント (client)

サーバーの提供する機能やデータを,(ネットワークを介して)利用する計算機 or ソフトウエア.

例)

WWW コンテンツを閲覧する WWW ブラウザ

メールを送信・受信する メーラー (mew, Outlook Express)

ニューズを配信する ニューズリーダー (mnews, gnus)

「サーバー・クライアントシステム」とは

例: WWW を閲覧する

[email protected] [email protected]

(1) Netscape Navigator という WWWクライアントを起動して,‘ http://www.ep.sci.hokudai.ac.jp/~inex/’ を要求する.

“GET   /~inex/ HTTP/1.0” (2) クライアントから“ /~inex/” が要

求されたので,“ /~inex/index.html”を送信する.

“/~inex/index.html”

(3) 受信した“ /~inex/index.html” を解釈して表示する.

「サーバー・クライアントシステム」の特徴

•機能・情報の集中化機能・情報を共有できる.データの安全性と負荷の集中をさけるため,分散型サーバーシステムが主流.

•サーバーは常にクライアントからの要求を待機サーバーは常に稼動していなければならないが,クライアントは必要な時のみ稼動していればよい.

•サーバー・クライアント間の通信プロトコルが必要通信さえできれば地理的拘束から開放される

•ネットワーク指向なシステムでは標準的な概念UNIX でもサーバー・クライアントシステムは多く採用されている.(例: X Window System )

「 X Window System 」とは

•UNIX 系 OS でよく使用される GUI 環境

•通称「 X 」,「 X11 」.窓には s がない.

•マサチューセッツ工科大学で開発.その後は X コンソーシアムが管理.

•クライアントがサーバーの機能を呼び出して使う分散構造

•サーバー・クライアント間の通信プロトコルと基本的な見栄えが規定されており,この規定に従っていろいろなシステムが開発されている.

「 X 」におけるサーバー・クライアント

Xクライアント

アプリケー

ショ

ン)

Xサー

バー

マウス

キーボード

青い丸を作画して! 作画

マウスが動いたぞ!

画面のサイズは?

1024x768 ですよ

エラー発生!!

X プロトコル

host0

network

「 X 」におけるサーバー・クライアント

network

X サーバー

X クライアント

X クライアント

X サーバー

X クライアント

X サーバー

X クライアント

X サーバー

host2

host0host1

host3

「 X 」におけるサーバー・クライアント

•他の X 端末 (X サーバー ) の画面に作画することができる.(つまり,ウインドウをネットワーク越しに飛ばすことが可能)

•ネットワークを介するため,セキュリティに注意が必要.(どの端末に表示するか?,他のクライアントからの要求を制限する等)

表示するサーバーと画面の選択

•環境変数 DISPLAY に示されるサーバーを使用する

例)% export DISPLAY=localhost:0.0% export DISPLAY=joho6.ep.sci.hokudai.ac.jp:0.0

( ホスト名 ):( ディスプレイ番号 ).( スクリーン番号 )

実験!(3n+1) マシンから (3n+2) マシンへ xeyes を飛ばし

てみよう.% export DISPLAY=192.168.0.3:0.0% xeyes &

% export DISPLAY=192.168.0.2:0.0% xeyes &

(3n+1)->(3n+2)

(3n+2)->(3n+1)

X サーバーへのアクセス制御

•制御プログラム「 xhost 」で制限する

例)% xhost +joho9 <- joho9 からの要求を受け付ける% xhost + <- 全てのクライアントに開放% xhost -joho9 <- joho9 からの要求に答えない

xhost [+|-](host)

もう一度実験!(3n+1) マシンから (3n+2) マシンへ xeyes を飛ばし

てみよう.

X サーバーへのアクセス制御

•「 xauth 」でもっと厳しく設定する.(詳しくは man xauth )サーバー側 (mikan :画面を飛ばされる方 )% xauth list :0.0 mikan/unix:0 MIT-MAGIC-COOKIE-1 174bakcfd407df4fa7cc5f4457c11147

クライアント側 (orange: 画面を飛ばす方 )% xauth xauthUsing authority file /home/msaka/.Xauthorityxauth> add mikan:0.0 174bakcfd407df4fa7cc5f4457c11147xauth> exit% xeyes &

ssh による X 転送機能

•ssh を使うと,自動的に画面が転送されます.このとき xhost などの設定は不要です.(内部で xauth を設定しています)サーバー側 (mikan :画面を飛ばされる方 )% ssh mikanpassword:mikan% xeyes &

X のセキュリティ

•「 xhost + 」なサーバーの画面を盗み見る

サーバー側 (192.168.0.2)% xhost +

クライアント側 (192.168.0.3)% xwd -display 192.168.0.2:0.0 -root -silent -out xhost.xwd% xv xhost.xwd &

xwd : X のイメージをダンプする X クライアントxv :画像ビュワー ( なければ apt-get してください )•(2n+1) , (2n+2) でお互いに「 xhost + 」に設定し

て,互いの画面をダンプしてみよう.

•mikan.ep.sci.hokudai.ac.jp の画面をダンプしてみよう.

実験!

X のセキュリティ

•「 xhost + 」なサーバーの入力を監視する

サーバー側 (192.168.0.2)% xhost +

クライアント側 (192.168.0.3)% xwininfo -display 192.168.0.2:0.0 -root -tree | less ( 仮想端末らしいウインドウの IDを取得 )% xev -display 192.168.0.2:0.0 -id 0x4f8900

xwininfo :ウィンドウの属性を表示xev :指定したウインドウで発生したイベントを表示

•(2n+1) , (2n+2) でお互いに仮想端末を検索し,その入力を監視してみよう.

実験!

いろいろな X クライアント

•xlogo : X のロゴを表示する

•xclock : 時計

•xneko : 猫がマウスポインタを追いかける

•xfontsel : 使用できるフォント一覧を表示する

•xload : システムの負荷を表示する

•xcalc : 計算機

•xroach : 画面にゴキブリが走り回る

•xsnow : 画面に雪が降る

•xmikan : ネットワークに負荷がかかるとミカンせいじんが動き出す(拙作)

いろいろな X クライアント

•netmaj : ネットワーク麻雀

•xblast : ネットワーク対応ボン●ーマン

X のまとめ

•X はサーバー・クライアントシステムにより設計されている.

•通信可能な X 端末に画面の表示や入出力を飛ばすことができる.

•X のセキュリティに注意しないと,パスワードの入力を監視されたり,画面を盗み見られる可能性がある.

•特に xhost + は危険です.できれば xauth を使いましょう.

個人的なお知らせ

•自転車

•二層式洗濯機(古い)

•ガステーブル(古い)

•電子レンジ(古い)

•PC-486MU ( DX4/16MB/200MB+SCSI 340MB )

•上のディスプレイ