Download presentation
Presentation is loading. Please wait.
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
# cpxserverrcxserverrc_org # vixserverrc exec/usr/bin/X11/X-dpi100 -nolistentcp (実際には改行されていない) この部分を削除して保存・終了
11
(ホスト名):(ディスプレイ番号).(スクリーン番号)
表示するサーバと画面の選択 環境変数 DISPLAY に示されるサーバを使用する. 指定書式 (ホスト名):(ディスプレイ番号).(スクリーン番号) 例) % exportDISPLAY=localhost:0.0 % exportDISPLAY=joho6.ep.sci.hokudai.ac.jp:0.0 現在の DISPLAY の値を確認しよう! % printenv | grepDISPLAY DISPLAY=:0.0
12
実験! (3n+1)マシンと(3n+2)マシンで互いに xeyes を飛ばそう!
表示するサーバと画面の選択 環境変数 DISPLAY の値に他のマシン (X サーバ) を指定すれば,そこにクライアントの画面を飛ばせる. 実験! (3n+1)マシンと(3n+2)マシンで互いに xeyes を飛ばそう! (3n+1)->(3n+2) % exportDISPLAY= :0.0 % xeyes& (3n+2)->(3n+1) % exportDISPLAY= :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-Xjoho11 password: joho11% xeyes& ...これは先週やりましたね
16
X のセキュリティ 「xhost +」なサーバの画面を盗み見る. サーバ側(192.168.0.116) % xhost+
クライアント側( ) % xwd-display :0.0-root -silent-outxhost.xwd % displayxhost.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-id0x4f8900 xwininfo :ウィンドウの属性を表示 xev :指定したウインドウで発生したイベントを表示 実験! (3n+1),(3n+2)でお互いに仮想端末を検索し,その入力を監視してみよう.
18
いろいろな X クライアント xlogo : Xのロゴを表示する xclock : 時計
xfontsel : 使用できるフォント一覧を表示する xload : システムの負荷を表示する xcalc : 計算機 netmaj : ネットワーク麻雀 などなど...
19
X のまとめ X はサーバ・クライアントシステムにより設計されている. 通信可能な X 端末に画面の表示や入出力を飛ばすことができる.
特に xhost + は危険です.できれば xauth を使いましょう (ssh を使うとより安全且つラク).
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.