GTK+ 2のテーマのインストールについて
テーマの種類
GTK+ 2の見栄えを変更するテーマには、大きく分けて
- 独自のエンジンによるテーマ
- 既存のエンジンに基づいたテーマ
- pixmapによるテーマ
の3種類がある。
エンジンは、GTK+ 2のユーザインターフェースのスタイルを変更するプラグインのようなもので、ソースからビルドして追加する形になる。あるエンジンに基づいたテーマ(配色を変えたバージョンなど)もあり、対象エンジン*1がインストールされていれば使用できる。ものによっては、「あるエンジンのソースを基にしたエンジン」*2が公開されている場合もあり、これはソースからビルドする必要がある。
pixmapを使用するテーマは「pixmap」というエンジンを使用し、テーマごとに添付される画像ファイルを使用して外観を変える形で、ソースをビルドする必要はないが、動作は比較的重い気がする。
(2009/9/24)エンジンには動作が軽いものから重いものまで様々存在する。軽い動作を望むのであればBluecurveエンジンかシンプルな外観のテーマがおすすめ。
テーマのインストール方法
いずれの形のものでも、テーマファイルの中心となるのは[テーマディレクトリ]/[テーマ名]/gtk-2.0/gtkrc。
テーマディレクトリは、ユーザ専用の場合には${HOME}/.themes/以下、システム全体で使用する場合け/usr/share/themes/以下(書き込みのアクセス権が必要)となる。
非エンジンテーマ
配布ファイルを展開した中の最上位ディレクトリにテーマ名のディレクトリがある形*3は、既存のエンジンを使用しているか、pixmapのテーマとなっていて、直接テーマディレクトリ以下にテーマ名のディレクトリが来るように配置すれば使える。
エンジン
エンジン形式のものは、上のようなテーマ名ディレクトリと一緒にエンジンのソースが含まれ、これをビルドすることになる。
ソースアーカイブ展開後、中でconfigureスクリプト実行後make、make install(もしくは余分なシンボルを捨てながらインストールする「install-strip」)を実行する形が多い。インストール先は/usr/にしないと認識されない。
$ tar zxf [ファイル名].tar.gz もしくは tar jxf [ファイル名].tar.bz2 $ cd [作成されたディレクトリ]/ $ ./configure --prefix=/usr $ make $ sudo make install-strip
この形で入れたものはアンインストールが(ソースツリーを残して「sudo make uninstall」ではできるが)行いにくい。エンジンファイル(*.so)以外に画像ファイルなどが存在しないものに関しては、ホームディレクトリ以下の指定ディレクトリ(詳しくは後述)に直接コピーする方法もある。
下は、gFlat gtk engineでの作業例(一般ユーザ専用)。テーマディレクトリ(gtkrcを含む、テーマ名のディレクトリ)の場所は、配布されているテーマによって異なる場合がある。また、「2.10.0」の部分は、GTK+ 2のモジュールの互換性の関係で、新しいバージョン番号になる可能性がある。
$ mkdir ~/.gtk-2.0/2.10.0/$(arch)-pc-linux-gnu/engines/ ~/.themes/ -p $ find -name "*.so" -exec strip {} \; $ find -name "*.so" -exec cp {} ~/.gtk-2.0/2.10.0/$(arch)-pc-linux-gnu/engines/ \; $ cp -r themes/* ~/.themes/ $ find ~/.themes/ -name "Makefile*" -print0 | xargs -0 rm
複数ユーザで共用したい場合・手動での作業が面倒な場合・画像やアイコンを含む場合などにおいては、ソースからインストールしたパッケージを管理するpacoを使用すると後でアンインストールしやすくて便利。*4
$ sudo paco -lp "[パッケージ名]-[バージョン]" make install-strip
関連記事:
*1:配布元の解説や、付属するgtkrcを見ると分かる
*2:gFlat gtk engineは、Clearlooksというエンジンを基にした別のエンジン