第 2章sawfish のインストールとカスタマイズ

目次
sawfish のインストール
カスタマイズの基礎

今回ははじめに sawfish のインストールの方法[1]について触れ、次に sawfish-ui を使ったカスタマイズ方法について簡単に説明してみたいと思います。

なおウィジェット中に表示される項目などは基本的に [] 内に ja_JP.eucJP ロケール設定のときのものとします。また項目名などは基本的に cvs の最新のものです。

sawfish のインストール

最近のディストリビューションでは標準で sawfish がインストールされていることも多いようです。しかし、そうではない方や既に saw`mill' や古い sawfish が入っているが最新[2]の sawfish にアップグレードしたいという方のために 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)

librepReadline

rep インタプリタを使う際にコンプリーション(補完)や履歴機能が必要なとき(--with-readline)

ただし、この中には既に標準で有効になっていてオプションを追加する必要のないものもあります。また逆にコンパイル時に何かエラーが出てうまくいかないときなどは必要のない機能を無効にして(*4)みてもいいかもしれません。

たいていの場合は無効にしたい PACKAGE や FEATURE について、オプション --without-PACKAGE や --disable-FEATURE を./configure時に追加します。詳細については./configure --helpの結果を参照して下さい。

GNU/Linux ディストリビューション、各種 Unix OS 毎のインストール方法

GNU/Linux 環境の場合

Debian の場合

筆者は主に 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]について書いてみます。

  1. 必要な woody の apt-line (特に deb-src 行)を /etc/apt/sources.list に追加します

  2. 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 権限を与えることコマンドです。非常に便利なコマンドなのでインストールしておいて損はないでしょう。

RPM 系のディストリビューションの場合

RedHat 6.x ユーザの場合

以下の URL から RPM パッケージを入手することができます。

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 つに分割されて用意されているようです。

Vine ユーザの場合

開発版の VineSeed には最新の sawfish 関連パッケージが用意されているようですし、先の Red Hat のパッケージを利用することもできるでしょう。

Plamo など Slackware 系

パッケージがあるかどうかは確認できませんでした[6]が、特に問題なくソースからコンパイル、インストールできると思います。

FreeBSD の場合

パッケージ、ports ともに最新のものが用意されているようです。

Solaris の場合

ソースからコンパイルすることでインストールできるでしょう。ただし、sawfish と Solaris の組合せでは若干問題がある場合もいくつか報告されています。sawfish 付属の FAQ によると、

  1. Imlib の imlib_config を起動し、Rendering ページの MIT-SHM オプションを無効にする

  2. ./configure時に --disable-xim オプションをつけて gtk+ を再コンパイル

といった操作が必要な場合があるようです。

また Ximian 社の GNOME パッケージ for Solaris というものもどうやら存在するようです[7]し、以下の URL も参考になるかもしれません:

表 2-3. sawfish for Solaris

Precompiled Window Manager Software for Solaris 8/X86http://myweb.clark.net/pub/bent/Solaris8-X86/WM/Sawfish/index-0.26.html
Building GNOME on Solarishttp://www.clanger9.demon.co.uk/computer/gnome/

その他の Unix

筆者は 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 という選択肢があります。