X Window System 資料一覧

色が表示されない

2007/7/29更新

以下のような原因が考えられる。

原因1

色の指定をしていない。

対策

カラーディスプレイを使用していてもリソースファイル(.Xdefaults等)で色の指定をしていないと色は表示されない。

それぞれのファイルの設定をチェックすること。

原因2

色の名前を間違えている。

対策

色を名前で指定する場合はスペルミスに注意すること。

色の名前は/usr/X11R6/lib/X11/rgb.txtや/usr/lib/X11/rgb.txt等に定義されている。

たとえばxtermでは次のようなエラーが表示される。

% xterm -fg White -bg DrakSlateGray &
Warning: Color name "DrakSlateGray" is not defined

この場合にはDarkSlateGrayが正しい綴りである。

原因3

Xサーバが扱える色数の上限を超えてしまった。

例えば次のようなメッセージを出して色が表示されない場合がある。

% xcolors
Warning: Cannot allocate colormap entry for "DarkOrangell"
xcolors: Not enough room in color map.
To see colors after this, use the -start option to name a starting color.

対策

これはXサーバが扱える色の個数以上に色を使用しようとしたときに生じる。

一般的なXサーバは256色までしか同時に色を表示することができない。

256という数はカラーマップのエントリ数であり、Xサーバはクライアントから色表示の要求を受けるとカラーマップから1色につき1つのエントリを割り当てる。

エントリの割り当ては要求のあった順番であり、エントリがいっぱいになるとXサーバはそれ以上の色の割り当てを拒否する。

このため色が表示されなくなる。

このような場合には色を沢山使っているクライアントを終了させ、カラーマップのエントリを解放する必要がある。