Presentation is loading. Please wait.

Presentation is loading. Please wait.

サーバ・クライアントシステム (X Window System )

Similar presentations


Presentation on theme: "サーバ・クライアントシステム (X Window System )"— Presentation transcript:

1 サーバ・クライアントシステム (X Window System )
坂本 天 original: 前坂たけし

2 「サーバ・クライアントシステム」とは サーバ(server)
ある機能やデータを,(ネットワークを介して)他の計算機やソフトウエアに提供する計算機 or ソフトウエア. 例) WWWコンテンツを提供する WWWサーバ ドメインネームシステムを提供する DNSサーバ メールを配送する SMTPサーバ 到着したメールを提供する POPサーバ IMAPサーバ

3 「サーバ・クライアントシステム」とは クライアント(client)
サーバの提供する機能やデータを,(ネットワークを介して)利用する計算機 or ソフトウエア. 例) WWWコンテンツを閲覧する WWWブラウザ メールを送信・受信する メーラー (mew, Outlook Express)

4 「サーバ・クライアントシステム」とは 例:WWWを閲覧する “GET /~inex/ HTTP/1.0”
(1) galeon というWWWクライアントを起動して,‘ “GET /~inex/ HTTP/1.0” (2)クライアントから“/~inex/”が要求されたので,“/~inex/index.html”を送信する. “/~inex/index.html” (3)受信した“/~inex/index.html”を解釈して表示する.

5 「サーバ・クライアントシステム」の特徴 機能・情報の集中化 機能・情報を共有できる.データの安全性と負荷の集中をさけるため,分散型サーバシステムが主流. サーバは常にクライアントからの要求を待機 サーバは常に稼動していなければならないが,クライアントは必要な時のみ稼動していればよい. サーバ・クライアント間の通信プロトコルが必要 通信さえできれば地理的拘束から開放される. ネットワーク指向なシステムでは標準的な概念 UNIXでもサーバ・クライアントシステムは多く採用されている(例:X Window System).

6 「X Window System」とは UNIX 系 OS でよく使用される GUI 環境. 通称「X」,「X11」.窓には s がない.
クライアントがサーバの機能を呼び出して使う分散構造. サーバ・クライアント間の通信プロトコル (X プロトコル) と基本的な見栄えが規定されており,この規定に従っていろいろなシステムが開発されている.

7 「X」におけるサーバ・クライアント host0 Xクライアント (アプリケーション) Xサーバ 作画 マウス キーボード network
青い丸を作画して! 作画 マウスが動いたぞ! マウス 画面のサイズは? キーボード 1024x768ですよ エラー発生!!

8 「X」におけるサーバ・クライアント network host3 host2 host1 host0 Xクライアント Xクライアント Xサーバ

9 「X」におけるサーバ・クライアント 他の X 端末 ( X サーバ) の画面に作画することができる.つまり,ウインドウをネットワーク越しに飛ばすことが可能 (ネットワーク透過性). ネットワークを介するため,セキュリティに注意が必要(どの端末に表示するか?,他のクライアントからの要求を制限する等).

10 前準備 「startx」 とする前に root で以下の作業をしてください. # cd/usr/X11R6/lib/X11/xinit
# cpxserverrcxserverrc_org # vixserverrc exec/usr/bin/X11/X-dpi100 -nolistentcp (実際には改行されていない) この部分を削除して保存・終了

11 (ホスト名):(ディスプレイ番号).(スクリーン番号)
表示するサーバと画面の選択 環境変数 DISPLAY に示されるサーバを使用する. 指定書式 (ホスト名):(ディスプレイ番号).(スクリーン番号) 例) % exportDISPLAY=localhost:0.0 % exportDISPLAY=joho6.ep.sci.hokudai.ac.jp:0.0 現在の DISPLAY の値を確認しよう! % printenv | grepDISPLAY DISPLAY=:0.0

12 実験! (3n+1)マシンと(3n+2)マシンで互いに xeyes を飛ばそう!
表示するサーバと画面の選択 環境変数 DISPLAY の値に他のマシン (X サーバ) を指定すれば,そこにクライアントの画面を飛ばせる. 実験! (3n+1)マシンと(3n+2)マシンで互いに xeyes を飛ばそう! (3n+1)->(3n+2) % exportDISPLAY= :0.0 % xeyes& (3n+2)->(3n+1) % exportDISPLAY= :0.0 % xeyes&

13 もう一度実験! (3n+1)マシンと(3n+2)マシンで互いに xeyes を飛ばそう!
制御プログラム「xhost」で制限する. xhost[+|-](host) 例) % xhost ← joho11からの要求を受け付ける % xhost+ ← 全てのクライアントに開放 % xhost ← joho11からの要求に答えない もう一度実験! (3n+1)マシンと(3n+2)マシンで互いに xeyes を飛ばそう! 注意! 「xhost」 で設定する前に 「DISPLAY」 を 「:0.0」 に戻しておく.

14 Xサーバへのアクセス制御 xhost はホスト単位でアクセスを制御 「xauth」でもっと厳しく設定(詳しくは man xauth)
サーバ側(joho11:画面を飛ばされる方) % xauth list :0.0 joho11/unix:0 MIT-MAGIC-COOKIE-1 174bakcfd407df4fa7cc5f 4457c11147 サーバ側で表示された記号列を与える. クライアント側(joho12:画面を飛ばす方) % xauth Using authority file /home/hoge/.Xauthority xauth> add joho11: bakcfd407df4fa7cc5f4457c11147 xauth> exit % xeyes & 注意! xauth を使用するときは 「xhost -」 としておくこと.

15 sshによるX転送機能 ...これは先週やりましたね
ssh を使うと,自動的に画面が転送されます.このとき xhost などの設定は不要です(内部で xauth を設定しています) . サーバ側(joho11:画面を飛ばされる方) % ssh-Xjoho11 password: joho11% xeyes& ...これは先週やりましたね

16 X のセキュリティ 「xhost +」なサーバの画面を盗み見る. サーバ側(192.168.0.116) % xhost+
クライアント側( ) % xwd-display :0.0-root -silent-outxhost.xwd % displayxhost.xwd& xwd: X のイメージをダンプする Xクライアント display: 画像ビューワー 実験! (3n+1),(3n+2)でお互いに「xhost +」に設定して,互いの画面をダンプしてみよう.

17 X のセキュリティ 「xhost +」なサーバの入力を監視する. サーバ側(192.168.0.116) % xhost+
クライアント側( ) % xwininfo-display :0.0 -root-tree|less (仮想端末らしいウインドウのIDを取得) % xev-display :0.0-id0x4f8900 xwininfo :ウィンドウの属性を表示 xev :指定したウインドウで発生したイベントを表示 実験! (3n+1),(3n+2)でお互いに仮想端末を検索し,その入力を監視してみよう.

18 いろいろな X クライアント xlogo : Xのロゴを表示する xclock : 時計
xfontsel : 使用できるフォント一覧を表示する xload : システムの負荷を表示する xcalc : 計算機 netmaj : ネットワーク麻雀                        などなど...

19 X のまとめ X はサーバ・クライアントシステムにより設計されている. 通信可能な X 端末に画面の表示や入出力を飛ばすことができる.
特に xhost + は危険です.できれば xauth を使いましょう (ssh を使うとより安全且つラク).


Download ppt "サーバ・クライアントシステム (X Window System )"

Similar presentations


Ads by Google