next up previous
: tcsh の勧め (1) : 情報処理II 第2回 ネットワーク (2) : rcp コマンド

X Window System の仕組み

実習で利用しているOpenWindows は X Window System を多少手直 しして作られたシステムであるので、OpenWindows においても以下の説明は 若干の修正で成立する19

X Window System (以下略して単に X と言う) を利用しているとき、同時に 色々なプロセス20が動いている。キーボードやマウスからの入力とディスプレイへの 出力を直接取り扱うプログラムをX サーバー(X server) と呼ぶ。

X 上でウィンドウを開いて動作するプログラムは、X のクライア ント (client) と呼ばれる。 X のクライアントは、以下のように して仕事を果たす:

このように、サーバー・プロセスとクライアント・プロセスと呼ばれるもの が互いに協力しあって仕事を遂行する仕組みを、サーバー・クライ アント・システムと呼ぶ21。サーバー = 仕事を任される側、クライアント = 仕事を依 頼する側、である。X は代表的なサーバー・クライアント・システムである。

X のクライアントは、X のサーバーと同じホスト上で動いている必要はない。 言い替えると、リモート・ホスト上で X クライアントを起動し、それをロー カル・ホスト上の X サーバーから利用することが出来る(X のネッ トワーク透過性)。ネットワーク環境では、さまざまなサーバー・クライアン ト・システムによって、分散処理が実現されている。

例えば、後で紹介する(?) Mathematica は X を利用してグラフィッ クスを描画する (Mathematica が X のクライアントになる)。情報科学センター のワークステーション (こちらがローカル・ホスト)から数学科のワークステー ション kinsan (これがリモート・ホスト)にログインして、そこの Mathematica でグラフィックスを描いて、それをリモート・ホストに表示する 例22を見てみよう。


waltz11% xhost kinsan
kinsan being added to access control list
waltz11% rlogin kinsan
Password:
Last login: Wed Jun  5 16:31:19 from waltz
SunOS Release 4.1.4-JLE1.1.4 (GENERIC) #1: Mon Nov 21 19:36:38 JST 1994
checking tty
kinsan% setenv DISPLAY waltz11:0.0
kinsan% math
Mathematica 2.2 for SPARC
Copyright 1988-93 Wolfram Research, Inc.
 -- Motif graphics initialized -- 

In[1]:= Plot3D[x^2-y^2, {x, -1, 1}, {y, -1, 1}]

Out[1]= -SurfaceGraphics-

In[2]:= Quit
kinsan% logout
rlogin: connection closed.
waltz11%

手順を箇条書にしてまとめておこう:

  1. ローカル・ホストで xhost remote-host-name
  2. リモート・ホストで setenv DISPLAY local-host-name:0.0
  3. リモート・ホストで X のクライアントを起動



Masashi Katsurada 平成12年6月29日