solaris で Enlightenment

下書き 2006-04-23
このページは現在下書きである。そのため不足している部分,十分検証していない部分が含まれている。
出鱈目を書いたつもりはないが参考程度にしていただきたい。
また,/usr/dt 以下を編集することは望ましくない。通常は /etc/dt にコピーして編集する。

CDE (WM は sawfish )に{飽きた|疲れた|殴られた|呪いを受けた}人は多いと思う。
そこで見た目がよさげな enlightenment を入れて常用しようというものだ。
そのためかなり細かい部分まで書いてあるが全体的に文章は手抜きなのである程度知識のある方が対象になる。
 
実験台
Intel x86 (PIII450MHz/440BX/384MB/nVidia MX400 64MBAGP/4.2GB) 
Solaris10_b69 (entire distribution install)

download するもの
sourceforgeより必要なものを持ってくる。
sourceforge Project: Enlightenment

 最初から enlightenment をコンパイルしようとすると依存関係で怒られる。
怒られたら足りないものを全部入れていけばよい。すると以下のようになった。

enlightenment-0.16.7.2.tar.gz
無謀にも早速インストールする。
% gunzip -d enlightenment-0.16.7.2.tar.gz
% tar xvf enlightenment-0.16.7.2.tar
% cd enlightenment-0.16.7.2
% ./configure
(以下,全て tar からインストール。 ./configure &&make &&make install で通った)

要求されたためインストールしたもの
ESD (esound-0.2.35)
んで ESD は audiofile-0.2.5 が要るってさ。以下よりダウンロード

http://www.zentek-international.com/mirrors/gnome/sources/audiofile/0.2/
一難去ってまた一難。今度は audiofile の make で error 発生。libtool が原因かな?
というわけで libtool もインストールした。しかしそれでもエラー。
疲れたので寝る。
 翌日起きて configure からもう一度やりなおしてみたら,なぜか make install 
まで通ってしまった。再起動したせいなのだろうか。インストールした後に環境変数を
再度読み込まなかったせいかもしれない。他にやったことは特に思いつかないしな・・・。

2006-04-15 追記:
 どうやら setenv PKG_CONFIG_PATH /usr/local/lib/pkgconfig (csh系) とやれば
動くみたいだ。

 さて両方インストールしたところで次に要求される imlib をインストールする。
imlib2-1.2.0.tar.gz
% ./configure で以下のようになった
------------------------------------------------------------------------
imlib2 1.2.0
-----------------------------------------------------------------------

Configuration Options Summary:


Image Loaders:
  JPEG....................: yes
  PNG.....................: yes
  TIFF....................: no
  GIF.....................: no
  ZLIB....................: yes
  BZIP2...................: yes


Installation Path.........: /usr/local

Compilation...............: make
Installation..............: make install

TIFF と GIF の Image Loader が無かったようだ。それを先に入れて
もう一度 configure し直すことにする。libtiff-3.7.1 (tiff-3.7.1-sol10-intel-local.gz)
でもだめっぽい。まあいいや。とりあえず make してみる。すると以下のような
メッセージがでて error となった。

api.c:30:22: ft2build.h: No such file or directory

 freetype2 が入っていないからだろうか。とりあえず freetype2 を入れる。
freetype-2.1.9 を入手。するとこいつの configure 中にエラーがでてしまう。

checking for egrep... configure: error: no acceptable egrep could be found in $PATH

egrep が必要なんだってさ。というわけでそれを入れる。
grep-2.5.tar.gz がそれ。入れたらもう一度試してみる。これはすんなりインストールできた。

 freetype2 が入ったところで,imlib2 をconfigure しなおす。すると今度は make 中に
-I/usr/local/include/freetype2
ってな感じでちゃんとインクルードされてる。これでインストールがちゃんとできた。

 じゃ最初に戻って enlightenment を configure してみる。お。通ったではないか。
そしたら make&&make install だ。インストール完了!というわけで次はこいつを走らせるために
 dtlogin の編集を行う。(次へ)

#2006-04-23 注記:以下の文章は当時使用していた Solaris9 の話である。Solaris10 は後の補足を参照。
 Solaris を起動させてログイン画面ででてくる「ようこそ○○」というところで
openwindow や CDE,gnome が選択できるがここに enlightenment を追加する。

以下参考(というかパクり)させてもらったページ。
WindowManagerで遊ぶ
openwindow 用の設定を流用して,enlightenment 用に書き換える。
といいたいところなのだが・・・ solaris10 では少々内容が変わってしまったようだ。
元のファイルが存在しないのだ。仕方ないのでsolaris9の設定をパクることにした。
パクるといっても /usr/dt/config をごっそりコピーしただけなのであまりお勧めできない。
solaris10 になってから少々仕様が変わってしまったようだ。ちなみにsolairs9以前では
上記URLのままで問題ない。ultra30 に solaris9 2/02 でやったときはそっくりそのままだった。
#でもそのときは enlightenment の make install 中にエラーが発生した。winter という
 theme のインストールからみだったので make -i で強行突破した。もちろん
 /usr/local/enlightenment/themes/winter は削除。
 
 また,このままでは「ようこそ」の画面でenlightenmentのロゴが出ない。
そこでenlightenmentのロゴを作成して OWlogo と同じ所に突っ込んでおくとよい。
そいつは /usr/dt/appconfig/icons/C/ に入れておく。また,
/usr/dt/config/ja/Xresources.d/Xresources.ow の

Dtlogin*altDtLogo:      OWlogo

を自分の作成した pixmap の名前(拡張子抜き)で書く。自分は enlogo
を作った。こいつを上記のディレクトリに置いといて,

Dtlogin*altDtLogo:      enlogo

とした。

2006-04-23 補足:
 Solaris10 で Enlightenment を 選択メニューに出す方法は以下の通り。
 まず /usr/dt/config を /etc/dt/config にコピーしておく。
/etc/dt/config に各言語の設定ファイルがあるがここでは例として日本語 (ja) を挙げる。
ja のディレクトリは /usr/dt/config/ja なのでそこを開く。そして Xresources.d というディレクトリに
あるファイルを編集する。
 Java Desktop System 3 がインストールされていれば既に Xresources.jds というファイルがあると思う。
中を見ればすぐに分かると思うが,Dtlogin* で始まる項目が ウインドウマネージャの設定だ。

---
Xresources.jds

Dtlogin*altDtsIncrement:	True

Dtlogin*altDtName:	Java Desktop System Release 3
Dtlogin*altDtKey: 	/usr/bin/gnome-session 
Dtlogin*altDtStart: 	/usr/dt/config/Xsession.jds
Dtlogin*altDtLogo:	JDS_s10
---

これを Enlightenment で使うには以下のようにする。
Dtlogin*altDtName:	Enlightenment DR16
Dtlogin*altDtKey:	/usr/dt/bin/dtwm
Dtlogin*altDtStart:	/usr/local/enlightenment/bin/enlightenment
Dtlogin*altDtLogo:	enlogo
これを Xresources.jds と同じ所に Xresources.dr16 などわかりやすい名前を付けて保存する。
セッションに戻れば 日本語ロケール ja 選択時に Enlightenment が選択できるようになっているはずだ。

補足:これで Enlightenment を選択すると一瞬コンソールに戻り再度「ようこそ」の画面に戻るかも
しれない。自分の場合は /usr/X11/lib にある libXxf86vm.so.1 が読めていなかった。
CDE 上で enlightenment を動かそうとすれば分かるが,通常は他の WM が邪魔して云々のメッセージが
出るが,ライブラリが読めない場合はその該当するファイル名が出てくるのでそいつを /usr/local/lib に
コピーするという対処療法を行った。


 最後に日本語の設定をする。デフォルトでは ATOK が読み込まれないため,.login で htt を
読み込ませる。もし ~/.login が存在しなければ作成して以下の一文を記入する。

/usr/openwin/bin/htt -if atok12 -xim htt_xbe

書き込んだらログアウトすれば設定が反映される。
 さらに,emacs を使うときに入力中の文字列がウインドウ下部の htt pre edit に表示されてしまう
これを防ぐためには .cshrc や .bashrc など自分の使っているシェルの設定ファイルに以下のように書き込む。
set XMODIFIER=@im=none emacs
これで入力中の文字列がウインドウ下部に現れることはない。

これでひとまずログアウトし,「ようこそ」に戻ったらセッションの選択で enlightenment が現れてるか確認する。
もしうまくいかないようだったら上の設定を見直してみよう。うっかりするのが実行フラグの付け忘れだ。
ファイルを複製して編集した後,かならず chmod 755 しておこう。じゃないとスクリプトが走らない。

 もし読み込まれたら「共通デスクトップ云々・・・」のいつもの画面のあと,enlightenment が起動するはずだ。
#この画面は dthello を消しておけば表示されない。詳細は後述。
すると初期設定が終わった後デスクトップ画面がでてくる。おもむろにマウスをクリックすると・・・
文字化けしている。日本語の状態で起動はするがフォントを設定していないためである。
そこでフォントの設定をする。とはいえ文字化けの状態じゃなにをしていいかわからないのでとりあえず
センターをクリックし一番下を押す。そいつがログアウトなので,確認メッセージがでたら yes を押して
「ようこそ」画面に戻り,CDE で起動し直す。
日本語フォントの設定は /usr/local/enlightenment/themes の中より,使うテーマの設定ファイルを編集する。
自分の場合は Kondara/MNU Linux から使っているためフォントごとごっそりコピーしてしまった。
solaris に入っている dtgothic などを使う場合はフォントの変更が必要だ。
どこで使用するフォントを使用しているのか調査中なので,この部分は近いうちに記す。
(おそらくテーマ1つの中でも,タイトルバーやメニューといった各フォントの一括指定は出来ない模様。
全部手動でフォントを明示する必要があるかも。Kondara1 という theme ではそうやって書いてあった。)

 最低限の設定が終わったところで今度はメニューやテーマの設定をしたい。
CDE で使っていたアプリケーションもやはり使いたいので,/usr/dt/bin などには
パスを通しておくとよいだろう。ちなみに自分のパスは以下の通り。
set path=(/usr/local/bin /usr/ucb /usr/ccs/bin /usr/dt/bin /usr/openwin/bin /usr/bin /bin /opt/firefox)
これがあればイメージビューアの sdtimage や テキストパッドの dtpad ファイルマネージャの
dtfile などが使える。こいつをユーザメニューに突っ込んでおけばだいぶ使いやすい。
さて肝心の設定ファイルであるが,日本語と英語の2種類が用意されている。
設定ファイルは ~/.enlightenment にある。ここにユーザメニューの中身を書いたりする。

例として file.nenu.ja を記す。
"ユーザメニュー"
"ターミナル" NULL menu "terminal.menu.ja"
"エディタ" NULL menu "editor.menu.ja"
"マルチメディア" NULL menu "multi.menu.ja"
"イソターネット" NULL menu "internet.menu.ja"
"Enlightenmentの再起動" NULL exec "/usr/bin/eesh -e 'restart'"
"ログアウト" NULL exec "/usr/bin/eesh -e 'exit'"
"ファイルマネージャ" NULL exec "dtfile"


 標準で入っているテーマが気に入らなければ自分で作ってしまおう。
といっても大変なので以下より拾ってきた方がいいだろう。
http://themes.freshmeat.net/browse/60/?topic_id=60

 結論から言うと「やらないで」
試しに Absolute E を入れてみる。absolute_e というディレクトリを作りその中に拾ってきた
absolute_e-default.tar.gz を入れ,展開する。ただのファイルなのでコンパイルは不要。
# cp -R absolute_e /usr/local/enlightenment/themes/
で全部コピーする。ちなみにこのままだとメニュー類が全て英語となる。
ひとまずこの theme を適用してメニューの再構成を行う。
そのためには今コピーしたファイルを反映させるため enlightenment の再起動を行う。
・・・といいたいところなのだがこいつを設定したら enlightenment がエラー起こして
落ちてしまった。原因を現在調査中である。

とりあえずスクリーンショット。
今回インストールしたもの
ultra30(かなり昔)