8. デスクトップ環境を救助

ここに飛び込んでくるのが、デスクトップ環境っていう概念だ。全てのものを標準化す る目的で、装備やガイドラインをデスクトップ環境が一揃い提供して、前に触れた問題 点を最小にするっていうのが、その考え方だ。

このデスクトップ環境っていう概念は、初めて Linux の世界に来た人たちには目新しい ものだ。だって(ウィンドウズやマック OS のような)他のオペレーティングシステム には本来あるものだからね。例えばマック OS の場合だと、これはもっとも初期の グラフィカルユーザーインタフェースの一つだけど、使っている間はずっと、 非常に首尾一貫した外見と使い勝手になっている。例をあげれば、この オペレーティングシステムは先に触れた細かい点を数多く提供している。ディフォルト のファイルマネージャ(ファインダー)があり、システム全体のコントロールパネル もあり、アプリケーションは全てが使わなきゃいけない(だからみんな同じに見える) 唯一のツールキットがある。アプリケーションのウィンドウはシステム(厳密に 言えば、そこで動いているウィンドウマネージャがあるんだけど)が管理する。 最後にガイドラインが一揃いあって、アプリケーションはどうやって動作すべきかを 開発者に教えたり、コントロールの外見と配置を推奨したり、さらにはシステム 上に他のアプリケーションなどがある場合の動作を提案するといった内容になって いる。

それはいいんだけど、「そもそも X の開発者たちは、どうしてそういったことを しなかったんだろう」。もっともだ。結局は最初に触れた問題点をすべて避けていた んだと思う。 X を設計する際に、その創造者たちはできるだけ柔軟性を持たせることに したっていうのがその答だ。方針と仕組みのパラダイムに戻るけど、マック OS は 大部分が方針を提供している。仕組みはあるけど、それらを使って遊ぶよう、 人々を促すわけじゃない。結果として多芸じゃなくなる。マック OS が自分の ウィンドウを管理する方法が気に入らなかったり、ツールキットが必要な関数を 提供してくれなかったりすると、ほとんどついてないってことになる。以前に見た ように、 X ではこんなことは起こらない。柔軟性の方が複雑さよりも価値があるんだ。

Linux や UNIX 、それに X では、すべてのことは結局合意に達するし、その 合意を守ることになるんだ。例として、 KDE を取り上げよう。 KDE には唯一の ウィンドウマネージャ( kwm )があって、これがウィンドウの動きを管理し制御 している。 KDE ではあるグラフィックツールキット( Qt )を使うことを推奨 している。これは画面上の制御がおよぶ限り、 KDE アプリケーションの外見を すべて同じにするためなんだ。 KDE では環境に特化したライブラリ( kdelibs ) を提供して、Qt をもっと拡張している。これはメニューや "about" ボックス、 プログラムのツールバー、プログラム間通信、印刷、ファイルの選択、それに その他のことといったような、共通の作業を実行するためなんだ。このおかげで プログラマの作業はより簡単になるし、こういった専門的な特色が動作する方法を 標準化させることにもなる。 KDE では設計と動作に関するガイドラインも プログラマに提供している。もし全員がこのガイドラインに従えば、 KDE の下で 動くプログラムは、外見と動きの両方とも非常に似たものになるだろうっていう 考えなんだ。最後に、 KDE が環境の一部として提供しているのが、アプリケー ション起動パネル( kpanel )、標準のファイルマネージャ(現時点では konqueror )、そしてコンフィギュレーションユーティリティ(コントロール パネル)だ。このコントロールパネルからは、使用環境の多くの側面が管理できる。 デスクトップの背景やウィンドウのタイトルバーの色を設定することから始まって、 ハードウェアのコンフィギュレーションまでだ。

KDE のパネルは MS ウィンドウズのタスクバーと質的には似たものだ。 アプリケーションを起動する中心点になってるし、「アプレット」っていう小さな アプリケーションがそのパネル内に表示されるようにもなっている。このおかげで、 大部分のユーザーがそれ無しじゃ生きられない小さな本物の時計といったような、 機能性が加わっているんだ。