[Contents]
2. 概要
-
X Window System とは、
X Window
System とは、マサチューセッツ工科大学(MIT)が開発した ウィンドウシステムです。※1
現在の最新版は、X Window System, Version11 Release6.7 です。
"X Window System, Version11"は、X11 と略されることが多く "X Window
System, Version11 Release6"は、X11R6 と略され、 "X Window System, Version11
Release6.1"は、X11R6.1 と略されます。
現在(?)の X11R6 からは、MIT の手を離れて、Xコンソーシアムをへてオープン・グループの手で開発
されています。
(と言うか最新情報は、X.org を御覧ください。)
※1 ちなみに、"X Windows"は、明らかな間違いで、"X Window"と
略すのもやめた方が良い(らしい)。
-
X のバージョンの違いについて
X11 の前には、X10(X Window System, Version10)なども、あり ました。(私は、ほとんど使ったこと無いけど…)
このような 10 と 11 のようなバージョンの違いは、X プロトコルの変
更という。大きな違いがあったときに変更されるようです。
それ以外の変更は、リリースの変更で表されるようで、X11R6 は、
X11 の 6 番目のリリースということになります。
以下は、リリースの違いによる差を、本ドキュメントに関係が深い部分に
ついてみていきます。
-
X11R4 → X11R5 の変更点
-
Xlib が国際化されました。
-
標準ではないが国際化されたアテナ・ウィジェットも登場した。
-
Repater/Toggle などのウィジェットが新設された。
-
X11R5 → X11R6 の変更点
-
アテナ・ウィジェットの国際化が標準になった。
-
インプット・メソッド(※2)が変更された。
でも、Linux では、X11R5/X11R6の話だけでよいような気も するが…
※2 日本語入力に係わる部分です。
3. Xで、どんなことが出来るか?
Xでどんなことが出来るかは、取り合えず X のプログラムを動かしてみることで、ある程度イメージがつかめるだろう。
今回ターゲットとする Athena Widget で何が出来るかをつかむために、
以下のプログラムを動かしてみると良い
-
一般的な部品を多く使われているアプリケーション
-
xedit ………………テキストエディタ
-
xfontsel …………Xで使えるフォントを選択するアプリケーション
-
xcalc ………………電卓
-
bitmap ……………ビットマップエディッタ
-
xclipboard ………クリップボード
-
viewres ……………ウィジェット(= GUI の部品)の成り立ちを示す
-
editres ……………リソース・エディッタ
-
xload ………………システムの平均負荷を表示
-
xmag ………………虫眼鏡
-
xfd ………………フォント表示
一般的なものが多く使われているので、部品の構成がプログラム再生上の ヒントになると思う。bitmap,xmag,xfd
などは、専用の部品も使われてい る。xload のグラフ部分は、専用の部品ではないけど、他にあまり用途が無
いように思う。xedit は、Linux では国際化すると一部の動きがおかしくなります。
-
特殊なな部品でできているアプリケーション
-
xlogo …………… X のロゴを表示する
-
xclock ……………時計
-
xterm/kterm ………ターミナル・エミュレータ
上記のものは、専用な部品が使われているので、こんなものもできるとい う例になります。
この中にあげた、viewres と editres は、Xを使ううえで役に立つものです。
特に editres は、役に立ちます。
4. Xのプログラム
これら、Xサーバとクライアントの間は、プロセス間で通信を行うことで やりとりが行われている。この通信のルール(規約)をXプロトコルといい
ます。
この通信がXの大きな特徴の一つです。つまり、下の図のように、WS2
からWS1のクライアントを動かすことが出来ます。
-
X端末は、Xサーバーの機能のみを持った端末機のことです。
-
WorkStation と書いていますが、パソコンでも可能です。
ちなみに、私のコンピュータは単独で動いているので、このことには、 詳しくありません。(とっ言うより疎いです。)
上記のように、XサーバーとXクライアント構成で動いている X Window
System でアプリケーションを作るというとXクライアントのプログラムを組 むことを指します。
X上で、アプリケーション・プログラムを組もうとするとき、現在では、
いろいろな言語とその方法がある。
(本ドキュメントでは、著者の都合で、C言語で組む場合のしかも一部に
しか触れない。)
(なお、以下の表も不十分です。)
言語 |
ライブラリ |
C言語 |
X Lib
X View
X Toolkit + Atena Widget
X Toolkit + Motif Toolkit
X Toolkit + OPEN LOOK Toolkit
X View |
C++ |
InterViews
Fresco |
その他 |
Tcl/Tk |
一般に、X上のプログラムは難しいといわれるが、それは、Xに限ったこと ではなく、そのほとんどは、MS-Windows
や FM TOWNS の GUI ライブラリにつ いても同じです。
ただし、Windows や FM TOWNS の GUI ライブラリについては、GUI
構築用 のツールがあるので、 X よりやりやすいこともあるかもしれない。※
(ただし、X上にも、GUI 構築用のツールは、ある)
※ 私は、Xでのプログラミングは、Windows より、ずいぶん組みやすいと
思っています。
5. Xのライブラリ/GUI
X でプログラムを作る場合。X lib を用いることや X Toolkit を用いる ことになる。これらの働きについてまとめます。
- X lib とは
Xを操作するための低水準の関数です。基本的には、Xプロトコルによる
通信をカバーする機能を持っているために、通信と言うことをあまり意識しなくても
操作できるようになっています。 一般に他の方法も、X lib を使って実現されているので、
X で効率的なプログラムを組むことが可能です。
なお、X Toolkit などと併用することも出来ます。
- X Toolkit とは
オブジェクト指向の考えを導入して、部品を取り扱う方法と、もっとも基
本的な部品から構成されています。一般には、ここで用意されている部品だ けを使ってプログラム組むことはなく、以下に示すウィジェット・セット
( GUI パーツ集)と共につかいます。
- Athena Widget
MIT が用意した、(標準的な) GUI パーツ集。2次元的な形状を持つ。
基本的な部品が多い。X Toolkit とともに使用する。
Xaw3D, Xaw95 など、Athena Widget を拡張して 3次元的な形状を持つものもできている。
- Motif
3次元的な形状を持つ GUI 。X Toolkit とともに使用する。
これを用いられた、プログラムとしては、X の Mosaic や Netscape Navigater
がある。
Motif 自体はフリーではないので Linux では、別途購入する必要がある。
Motif と互換性を持ちフリーの GUI としてLessTifもある。
- OPEN LOOK
3次元的な形状を持つ GUI 。
X Toolkit を用いる方法と X View を用いる方法の2種類あります。
X View を用いたアプリケーションには、Workman と言う CD-PLAYER が、
あります。
Linux で"X Toolkit + OPEN LOOK Toolkit"は、使えるんだろうか?
(無責任発言)
◇◇注意 for FM TOWNS ◇◇
Workman は、TOWNS Linux-1.3.84 以前の場合、内蔵の CD-ROM ドライブでは使用できません。 |
[Contents]