今回ははじめに sawfish のインストールの方法[1]について触れ、次に sawfish-ui を使ったカスタマイズ方法について簡単に説明してみたいと思います。
なおウィジェット中に表示される項目などは基本的に [] 内に ja_JP.eucJP ロケール設定のときのものとします。また項目名などは基本的に cvs の最新のものです。
最近のディストリビューションでは標準で sawfish がインストールされていることも多いようです。しかし、そうではない方や既に saw`mill' や古い sawfish が入っているが最新[2]の sawfish にアップグレードしたいという方のために sawfish のインストールについて簡単に説明します。
インスールに際し必要となるのは次の 3 つです:
sawfish 本体
librep - rep 言語ライブラリ
rep-gtk - rep から GTK+ の機能を利用するためのライブラリ
imlib - sawfish は画像の処理にこのライブラリを使います[3]
バイナリパッケージの場合はこれらを librep、rep-gtk、sawfish の順番でインストールすればいいでしょう。
ソースからインストールする場合、sawfish では GNU autoconf を利用しているのでコンパイル、インストールはほぼ最近の標準となっているやりかたが使えます。すなわちソースを展開したディレクトリ内で次のようにします。
bash$ ./configure [追加するビルドオプション群、例えば --prefix=/usr ] bash$ make bash$ su bash# make install |
コンパイルするにはいくつかの開発ライブラリが必要となりますが、中でも特によくコンパイル時になかったり古かったりして sawfish をビルドできない原因になるのがGNU MP(gmp - 任意精度演算ライブラリ)です。
さらに sawfish の特定の機能をコンパイル時に有効にしたいときに必要になるライブラリ群が次のものです。これらを使った機能を有効にするにはオプションをそれぞれの ./configure 時に追加します[4]。
表 2-1. コンパイルに必要なライブラリ
sawfish | サウンド関連 | Audiofile (--with-audiofile), EsounD (--with-esd) |
GNOME 関連 | GNOME Control Center applet ライブラリ(--enable-capplet) | |
Themer (GUI テーマビルダ) | Glade | libglade (--enable-themer) |
librep | Readline | rep インタプリタを使う際にコンプリーション(補完)や履歴機能が必要なとき(--with-readline) |
ただし、この中には既に標準で有効になっていてオプションを追加する必要のないものもあります。また逆にコンパイル時に何かエラーが出てうまくいかないときなどは必要のない機能を無効にして(*4)みてもいいかもしれません。
たいていの場合は無効にしたい PACKAGE や FEATURE について、オプション --without-PACKAGE や --disable-FEATURE を./configure時に追加します。詳細については./configure --helpの結果を参照して下さい。
筆者は主に Debian GNU/Linux(woody) をメイン環境として利用しているのでまずこちらから説明します。
woody/unstable ユーザは debian 本家パッケージか、Ximian(旧名Helixcode)社の開発版パッケージを利用できます。どちらも最新版が本家リリースとほぼ同時にリリースされているようです。
Ximian 社の開発版を利用する場合の apt-line は次のとおりです:
deb http://spidermonkey.ximian.com/distributions/debian unstable main deb-src http://spidermonkey.ximian.com/distributions/debian unstable main |
potato ユーザは debian 本家パッケージも利用できますが非常にバージョンが古いです。そこで woody パッケージをリビルド、再パッケージ化する方法[5]について書いてみます。
必要な woody の apt-line (特に deb-src 行)を /etc/apt/sources.list に追加します
librep、rep-gtk、sawfish の順番でコンパイル、パッケージ化、インストールします。例えば librep なら次のようになります。
bash$ sudo apt-get update bash$ apt-get source librep bash$ ( cd librep-{バージョン番号}/ ; fakeroot ./debian/rules binary ) bash$ sudo dpkg -i librep*.deb |
なお、sudo はコマンド単位で特定のユーザに root 権限を与えることコマンドです。非常に便利なコマンドなのでインストールしておいて損はないでしょう。
以下の URL から RPM パッケージを入手することができます。
表 2-2. URL リスト
RPM をダウンロードしたら、root になって次のようにしてパッケージをインストールします。安全のためには librep、rep-gtk、sawfish の順番でインストールした方がいいでしょう。
bash# rpm -Uvh librep*.rpm bash# rpm -Uvh rep-gtk*.rpm bash# rpm -Uvh sawfish*.rpm |
注意が必要なのは rep-gtk と sawfish で、rep-gtk は rep-gtk、rep-gtk-gnome (GNOME を利用する場合)、rep-gtk-libglade (sawfish-themer を利用する場合)の3 つに、sawfish は sawfish、sawfish-themer(sawfish-themer を利用する場合) の 2 つに分割されて用意されているようです。
開発版の VineSeed には最新の sawfish 関連パッケージが用意されているようですし、先の Red Hat のパッケージを利用することもできるでしょう。
パッケージがあるかどうかは確認できませんでした[6]が、特に問題なくソースからコンパイル、インストールできると思います。
パッケージ、ports ともに最新のものが用意されているようです。
ソースからコンパイルすることでインストールできるでしょう。ただし、sawfish と Solaris の組合せでは若干問題がある場合もいくつか報告されています。sawfish 付属の FAQ によると、
Imlib の imlib_config を起動し、Rendering ページの MIT-SHM オプションを無効にする
./configure時に --disable-xim オプションをつけて gtk+ を再コンパイル
といった操作が必要な場合があるようです。
また Ximian 社の GNOME パッケージ for Solaris というものもどうやら存在するようです[7]し、以下の URL も参考になるかもしれません:
表 2-3. sawfish for Solaris
Precompiled Window Manager Software for Solaris 8/X86 | http://myweb.clark.net/pub/bent/Solaris8-X86/WM/Sawfish/index-0.26.html |
Building GNOME on Solaris | http://www.clanger9.demon.co.uk/computer/gnome/ |
筆者は GNU/Linux しかさわったことがないので実際のところ他の"本物の"Unix 上で sawfish が動作するかどうかはよくわかりません。しかしメーリングリストではいくつか動作報告があるようですので、Solaris の場合などを参考にしてコンパイル、インストールすればたいていは動作するのではないかと思います。
[1] | http://sawmill.themes.org/php/docs.phtml?docid=53にも説明がありますが、英語で書いてあるのと説明が簡潔すぎるかもしれません :-P |
[2] | 実は残念ながら最新の sawfish は必ずしも安定していません。最近ではそうでもないですが、過去のリリースにおいては最新版のリリース直後に不具合がみつかるということがよくありました。そこでお勧めなのが最新よりも少し前のバージョン番号の 0.x.y の末尾に数字 y がついている(例えば 1 や 2 )もので、これだとバグフィックスが進んでいて"枯れて"いて安定していることが多いように思います。 |
[3] | Imlib の代わりに同様の画像処理ライブラリである、gdk-pixbuf を使うこともできます( ./configure 時のオプションに --with-gdk-pixbuf を追加)。 メーリングリストなどで gdk-pixbuf を使った場合の方が画像の質がよい、あるいは動作が軽いといううわさもあったりします。 |
[4] | くわしくは各ソースについてソースを展開したディレクトリ内で ./configure --help を実行すると表示される構築オプションを参照して下さい。 |
[5] | 残念ながら最新版についてこのような方法を実証する時間がありませんでしたが、sawfish 過去のバージョンについてはうまくいった記憶があります。 |
[6] | 最新の Slackware でも sawfish のバージョンは 0.28 のようですので、Plamo Linux にはおそらく収録されていないのではないかと思います。 |
[7] | Ximian 社のパッケージのダウンロードページ(http://www.helixcode.com/desktop/download.php3) には Solaris 2.7 on UltraSparc という選択肢があります。 |