Last modified: Sun, 12/08/2002 2:10

2002年12月

12/8 Gnome2

 ここ1ヶ月くらいかけて,FreeBSDの環境をいじる.

 なにぶんこのFreeBSDの環境は,昔(4.5Releaseの頃)からversionなどについて何も考えずにportsをインストールしてきたので,複数バージョンが重なり合っている状態になっていた.途中のバージョンでobsoluteされたファイルなどがずっと残っていたりして,いらないところでそれが読まれてしまったりして,環境がおかしくなっていたのである.
  それに輪をかけたのがGnome.1が入っている状態の上からそのまま2を入れてしまったので,両方のライブラリetcが入り交じってしまっていた.気の利いたportsだとバッティングしそうだとその旨検出して警告出してインストールを中止してくれるのだが,それをそのままにしてその他のGnome2系のものをバンバン入れていったらやはりおかしくなったわけだ.
 まあつまりportsの欠点であるversion管理や依存関係管理の弱さがもろ出てしまったわけだ.で,この辺の管理をするためのツールとしてportupgradeというのがあるので,これを導入して使い方を把握してなんやかやで,というのがこの前に半年くらいかかってしまっている.その上で今回それを駆使して大がかりに環境の整理を行ったわけだ.
 結局どのportsにも属していない謎のファイルというのがどうしても残ってしまったので,これを削除したりなんだりなんてのもやらざるをえなかった./usr/localや/usr/X11R6以下のファイルすべてについてpkg_whichをかけてどのportsからインストールされたのか調べ,それが不明なものをリストアップして,素性を調べ問題なさそうであればさくじょする,と言うのをシコシコやっていったのである.と言うかまだ全部洗っていないのだが.最初のリストアップだけでも,/usr/X11R6/includeだけで30分くらいかかったりする環境なのである(P55MMX166 x 2).まあとりあえず問題なく動く環境ができたのでよしとしよう.

 Gnome2も,関連portsも含めて一からコンパイルし直したところ,ちゃんと動く.しかもGnome1より軽い.MMX166x2の環境でもサクサク動く!って訳ではもちろんないが,Gnome1の不自然な重さはなくなっている.
 でなんか調べてみると,TrueType fontを画面表示に使え,さらにそれをantialiasingして表示できるらしい.TrueTypeの使用に関しては,/etc/XF86ConfigにFontPathにTrueType fontが入っているディレクトリを指定して,Moduleとして"xtt"または"freetype"を追加すればよい.さらに/usr/X11R6/lib/X11/XftConfigにそのTrueType fontディレクトリを追加で設定し,xftcacheコマンドを実行する.これで基本的にX/Gnome(gtk+)上でTrueType fontが使えるようになる.
 あとはgnome-session起動時に環境変数GDK_USE_XFTに1を設定しておけばいい.もちろん日本語表示のためにはLC_*あたりもja_JP.eucにしておこう.

 またantialiasingについては,コンパイル時にいじる必要があるらしいので,ちょっとやってみる.

> cd /usr/ports/print/freetype2/
> sudo make configure
> cd work/freetype-2.1.2/include/freetype/config/
> sudo vi ftoption.h
(上記のリンクの内容通り,
#define TT_CONFIG_OPTION_EMBEDDED_BITMAPS
を
#undef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
に書き換え)
> cd
> sudo portupgrade -fw freetype2	

 これでフォントの画面表示がかなり綺麗になる.比較するとこんな感じ(この例だとフォントも変えてしまってるけどさ).上がantialiasingなしの場合で,下がありの場合.もっと大きいフォントにすればもっと極端に分かるのだが.

Antialliasingなしの画面ショット
Antialliasingありの画面ショット

 他のアプリケーションに関するフォント設定はMomonga projectのドキュメントが詳しい.これで全画面antialiasingが実現.Xとは思えない画面である.あとはこの辺のbold/italicの話もちょっと試してみたい.


目次に戻る
(C)2002
ISHIDA Tsubasa <tbs-i@mtg.biglobe.ne.jp>
All right reserved.