9月 252008
 

僕は FreeBSD をデスクトップ環境にしているのでメールの読み書きは emacs+mew と言う環境です。でもって、メールサーバには imap4 も持っているのだけど POP3 もあるので、メールは一台のマシン上に保存するために POP して mew で保存している。

mew で POP してクライアント側で保存することのどこが良いか?と言われれば、一つのメールが一つのファイルになる点かな。まぁ、imap4 に courier-imap を利用すれば 一つのメールが一つのファイルとして imap4 上に保存できるのだけどね。

今日はクライアントのお話。imap4 及び POP3 サーバのことは出てきません。

さて、mew を使い初めてもう 10 年以上経つのだけど、最近は spam が多すぎて困っていた。 今までは自分でシコシコ mew-refile-guess-alist を書いて M-o で振り分けていたのだけど、もう限界に来た。メールサーバ上で spam フィルタを入れるのは大変だし、自分の管理していないメールサーバだともっと無理だし。

と、言うことでクライアント側でなんとかしなければならないのだけど・・。

で、考えたのが Thunderbird の「迷惑メールフィルタ」。サーバに対して imap4 を利用し Thunderbird で接続し、「迷惑メールフィルタ」を実行します。迷惑メールは Spam フォルダに振り分けられるので、その後 mew で POP すれば必要なメールだけが POP できると考えたのだけど・・。

Thunderbird って imap4 を利用すると、自分で管理している場合は順調なのだけど、その状態をサーバには送らないので、Thunderbird 上では綺麗にフォルダを振り分けられているのだけど、他の MUA から imap4 で覗くともうぼろぼろなのね。でもって mew で POP しても、せっかく迷惑メールフォルダに振り分けたメールもぜーーーんぶっ!! POP してきてしまう。というとんでもない仕様なのでうんざり・・。

僕は MocOSX ユーザでもあるので AppleMail も使うのだけど、こいつには「同期」と言うメニューがあるのでそれを選択すると、そのタイミングでサーバとクライアントソフトが同期してくれるのでまだましかな。

Thunderbird の動作、こんなんじゃ全然ダメじゃん。とか思うのだけど、修了時にはサーバ同期してくれるみたい。つまり、「迷惑メールフィルタ」を実行した後、一旦 Thunderbird を終了させるわけですね。うがーーっ!! やっぱりタメダメじゃん。about:config できっと設定できるのだろうな。とは思うのだけど、あんな、説明がなぁんも無い MIB をいちいち見ることなんて絶対やんないし・・。

と、言うことで早速調査開始。そしたら、有りましたよ。mail.imap.expunge_after_delete と言う MIB の値を true に変更すると良いみたいです。[設定]から「詳細」メニューの[一般]タブにある[設定エディタ]を押してから上記 MIB を検索し値を true に返るとぐーです。

早速変更して試してみましたがっ!!

おぉーっ!! 僕が思ったとおりに動くっ!!感動っ!! と、言うことで動作的には、届いたメールに対して Thunderbird でアクセスします。 imap4 を使って。でもって「迷惑メールフィルタ」が実行され、迷惑メールは「迷惑メール」フォルダにどんどん溜まっていきます。「受信トレイ」が随分とすっきりします。

その後、mew から POP3 でメールサーバにアクセスします。でもってメールを取り込んでみると、おーー。「受信トレイ」の中のメールしか POP してこないじゃないですかー。これがやりたかったのよ。

迷惑メールの振り分けは Thunderbird で。必要なメールの管理と送信は mew で。って感じで利用することにしましょー。

ただ、Thunderbird は本来の使い方がされないのでちと悲しいのだろうなぁ;-)。

2008/09/26 追記
やはり、Thunderbird は mozilla 系のアプリケーションだけあって、KDE3 上ではメニューフォントとか、フォルダのフレーム、メールの一覧はどでかいフォントで表示されてしまいますなぁ。

でもって[設定]からフォントのサイズが指定できるのはメールの本文に対してだけだしぃ・・。これじゃダサダサだぁ・・。about:config でもフォントの設定が沢山あるみたいだけど、どれがどれやら解らない・・。

と、言うことで Firefox と同じフォントの設定を書いてみた。と、言うかもっとラクチンに symlink 張ってみたら、あぁら。無事に小さくなったわ;-)。

以前、firefox でフォントの設定をした のだけど、その設定がそのまま Thunderbird でも使えます。

$ cd ~/.thunderbird/乱数ディレクトリ/
$ ln -s ~/.mozilla/firefox/乱数ディレクトリ/chrome

 
これで OK です。後は Thunderbird を再起動すればフォントが小さくなることでしょう。めでたしめでたし。

それにしても、未読メールがボールドフォントってのが気にくわないなぁ。Apple Mail みたいに色で指定できないのかしら・・。

9月 212008
 

その昔、「KDE3 と hald。 」と言うタイトルで一回書いていますが、この時から環境が大きく変わったのでもう一回書いてみましょう。

今回の環境は KDE4 です。新しいファイルマネージャである dolphin が USB のストレージ、例えば携帯電話とかを接続するとエラーを吐き出すので「これは設定すればまともにユーザランドでオートマウントしてくれるに違いない。」と思ったからです。

でもってまずは調査開始。すると、以下の URL がヒットしました。おぉ。

http://www.freebsd.org/gnome/docs/halfaq.html

これに従って早速設定して行くことにしましょう。

まずは /etc/rc.conf に書く設定です。

dbus_enable="YES"
hald_enable="YES"
#gnome_enable="YES"

 
GNOME を使っている人は gnome_enable=”YES” と書くみたいです。KDE4 を使っている人はこの設定を入れても意味がありませんでした。

続いて /etc/sysctl.conf です。

vfs.usermount=1

 
これでシステムの設定が完了しました。続いて hald と言うか、dbus のポリシーの設定になりますが、この設定については /usr/local/etc/PolicyKit/PolicyKit.conf になります。このファイルに以下の自分のアカウントを設定します。つまり、オートマウントしたいユーザの設定を記述する。と、言うことですね。100 名使っていたら 100 名分書くんかい?とか思ってしまうんですけどねぇX-|。

<match action="org.freedesktop.hal.storage.mount-removable">
    <match user="takachan">
        <return result="yes"/>
    </match>
</match>
<match action="org.freedesktop.hal.storage.mount-fixed"> <match user="takachan"> <return result="yes"/> </match> </match>

 
この設定を記述する必要があります。org.freedesktop.hal.storage.mount-removable と org.freedesktop.hal.storage.mount-fixed については dolphin でも「この設定が無いぜぃ。」って怒られたのでした。なので、この設定を追加すると大丈夫;-)。

後、細かい設定としては、/etc/fstab に /proc を書くとか、operator グループに入っておく必要がある。とかがあるけど、FreeBSD を使っている人はそんなのはインストール直後に書くでしょ。と言うことでここでは省きます;-)。

と、言うことで準備ができたので、マシンをリブート、もしくは hald と dbus を再起動して準備は完了です。

そして実際に使ってみた結果ですが、 FAT32 の USB メモリや携帯電話をストレージモードで接続してもオートマウントしてくれませんでした・・。とほほ。dolphin は例のメッセージが出力されなくなったので設定自体は間違っていないと思うんだけどねぇ・・。

でもって、NotePC で FreeBSD の外着け HDD として利用して、ブートしていた 2.5 インチの HDD があるのだけど、これは UFS でパーティションが四つに切ってあるやつを、バックアップしたいのでたまたま KDE4 のデスクトップ機に接続したら、あぁら不思議。ちゃんと hald が認識して自動的にマウントしてくれたじゃないのさ。嬉しいねぇ。

と、言うことで上記の設定は間違ってはいないみたい。FAT32 はオートマウントがダメみたいです。FreeBSD のインストール CD はオートマウントは OK。UFS のオートマウントも OK。

以下は dolphin のキャプチャなんだけど、FreeBSD がインストールされた 2.5 インチの HDD と FreeBSD のインストール用 CD-ROM をマウントした所です。

2.5 インチの HDD は / パーティションがぶっ壊れていたので fsck しないと自動的にマウントしてくれませんでした(^^;;。

 
dolphon.jpg

と、言う結果になりましたが、それにしても一番利用したい FAT32 が mount できないのが悲しい所・・。

もしかしたらこの項、つづく。かな?

8月 272008
 

KDE3 の頃は mplayer で動画の再生をしていた。KDE3 の頃は ports/multimedia/kmplayer と言う、mplayer を KDE3 で使いやすくするものがあったりしたけど、素の mplayer でも特に問題はなかった。

KDE4 にしたら ports/multimedia/kdemultimedia4 をインストールすると doragonplayer と言うのがインストールされるようになった。mplayer みたいな感じで、konqueror のプラグインとしても動作する。まぁ、どっちを使っても良いだけど。

所で話はガラっと変わるけど、DVD ボックスを買ってしまった。「未来少年コナン」の 30 周年特別版。西暦 2008 年 7 月、核兵器を遙かに越える超磁力兵器により世界の半分が一瞬にして消滅してしまった。と言うアレですね。

2008 年 7 月と言うのはもう過ぎてしまいましたが、それでも「ルパン三世・カリオストロの城」よりは古いのだけど、いやぁ。懐かしいのと面白いのとで、あっと言う間に全 26 話を見てしまった。土曜日の午前中に DVD が届いて日曜日の夜には全部見た。

今まで、全 26 話を九時間で見た。と言う記録は「新世紀エヴァンゲリオン」があったけど、それと同等だねぇ;-)。いやはや。懐かしかったです。

と、言うことで本題に戻るのだけど、この DVD をちょっとだけ mplayer と doragonplayer で見てみた。一番悲しい点はどちらもデジタルドルビー 5.1 チャンネルに対応していないのは FreeBSD のドライバがヘボいと言うのはちょっとおいといてと。

どちらも綺麗に表示してくれます。ただ、mplayer のほうが完成度は高いですね。早送りとか巻き戻しができるしねぇ。そー考えると KDE4 と言うのはまだまだ開発中だ。と言うことが伺えます。

後、ブラウザのプラグインとしての機能。doragonplayer だけをインストールすると firefox の動画を見られないし、mplayer だけだと konqueror の動画見られない。konqueror は firefox のプラグインを参照してくれるけど、 firefox は KDE4 のプラグインを参照してくれないので、結局、メティアプレーヤーを二つインストールしなければならないのねぇ・・。と、言う感じ・・。

一応、両方の ldd の結果を付けておきましょうかね。これで対応しているメディアがある程度解ることでしょう;-)。

・ldd /usr/local/kde4/bin/dragon | sort の結果

libICE.so.6 => /usr/local/lib/libICE.so.6
libQtCore.so.4 => /usr/local/lib/qt4/libQtCore.so.4
libQtDBus.so.4 => /usr/local/lib/qt4/libQtDBus.so.4
libQtGui.so.4 => /usr/local/lib/qt4/libQtGui.so.4
libQtNetwork.so.4 => /usr/local/lib/qt4/libQtNetwork.so.4
libQtSvg.so.4 => /usr/local/lib/qt4/libQtSvg.so.4
libQtXml.so.4 => /usr/local/lib/qt4/libQtXml.so.4
libSM.so.6 => /usr/local/lib/libSM.so.6
libX11.so.6 => /usr/local/lib/libX11.so.6
libXau.so.6 => /usr/local/lib/libXau.so.6
libXcursor.so.1 => /usr/local/lib/libXcursor.so.1
libXdmcp.so.6 => /usr/local/lib/libXdmcp.so.6
libXext.so.6 => /usr/local/lib/libXext.so.6
libXfixes.so.3 => /usr/local/lib/libXfixes.so.3
libXft.so.2 => /usr/local/lib/libXft.so.2
libXi.so.6 => /usr/local/lib/libXi.so.6
libXpm.so.4 => /usr/local/lib/libXpm.so.4
libXrandr.so.2 => /usr/local/lib/libXrandr.so.2
libXrender.so.1 => /usr/local/lib/libXrender.so.1
libXtst.so.6 => /usr/local/lib/libXtst.so.6
libbz2.so.3 => /usr/lib/libbz2.so.3
libc.so.7 => /lib/libc.so.7
libexpat.so.6 => /usr/local/lib/libexpat.so.6
libfam.so.0 => /usr/local/lib/libfam.so.0
libfontconfig.so.1 => /usr/local/lib/libfontconfig.so.1
libfreetype.so.9 => /usr/local/lib/libfreetype.so.9
libgcc_s.so.1 => /lib/libgcc_s.so.1
libglib-2.0.so.0 => /usr/local/lib/libglib-2.0.so.0
libgthread-2.0.so.0 => /usr/local/lib/libgthread-2.0.so.0
libiconv.so.3 => /usr/local/lib/libiconv.so.3
libintl.so.8 => /usr/local/lib/libintl.so.8
libkdecore.so.7 => /usr/local/kde4/lib/libkdecore.so.7
libkdeui.so.7 => /usr/local/kde4/lib/libkdeui.so.7
libkio.so.7 => /usr/local/kde4/lib/libkio.so.7
libkparts.so.5 => /usr/local/kde4/lib/libkparts.so.5
libkutils.so.5 => /usr/local/kde4/lib/libkutils.so.5
libm.so.5 => /lib/libm.so.5
libpcre.so.0 => /usr/local/lib/libpcre.so.0
libphonon.so.4 => /usr/local/kde4/lib/libphonon.so.4
libpng.so.5 => /usr/local/lib/libpng.so.5
librpcsvc.so.4 => /usr/lib/librpcsvc.so.4
librt.so.1 => /usr/lib/librt.so.1
ibsolid.so.5 => /usr/local/kde4/lib/libsolid.so.5
libstdc++.so.6 => /usr/lib/libstdc++.so.6
libstreamanalyzer.so.0 => /usr/local/lib/libstreamanalyzer.so.0
libstreams.so.0 => /usr/local/lib/libstreams.so.0
libthr.so.3 => /lib/libthr.so.3
libxine.so => /usr/local/lib/libxine.so
libxml2.so.5 => /usr/local/lib/libxml2.so.5
libz.so.4 => /lib/libz.so.4

 
・ldd /usr/local/bin/mplayer | sort の結果

libGL.so.1 => /usr/local/lib/libGL.so.1
libICE.so.6 => /usr/local/lib/libICE.so.6
libSDL-1.2.so.11 => /usr/local/lib/libSDL-1.2.so.11
libSM.so.6 => /usr/local/lib/libSM.so.6
libX11.so.6 => /usr/local/lib/libX11.so.6
libXau.so.6 => /usr/local/lib/libXau.so.6
libXcomposite.so.1 => /usr/local/lib/libXcomposite.so.1
libXcursor.so.1 => /usr/local/lib/libXcursor.so.1
libXdamage.so.1 => /usr/local/lib/libXdamage.so.1
libXdmcp.so.6 => /usr/local/lib/libXdmcp.so.6
libXext.so.6 => /usr/local/lib/libXext.so.6
libXfixes.so.3 => /usr/local/lib/libXfixes.so.3
libXi.so.6 => /usr/local/lib/libXi.so.6
libXinerama.so.1 => /usr/local/lib/libXinerama.so.1
libXrandr.so.2 => /usr/local/lib/libXrandr.so.2
libXrender.so.1 => /usr/local/lib/libXrender.so.1
libXt.so.6 => /usr/local/lib/libXt.so.6
libXv.so.1 => /usr/local/lib/libXv.so.1
libXxf86dga.so.1 => /usr/local/lib/libXxf86dga.so.1
libXxf86vm.so.1 => /usr/local/lib/libXxf86vm.so.1
libaa.so.1 => /usr/local/lib/libaa.so.1
libartsc.so.0 => /usr/local/lib/libartsc.so.0
libasn1.so.9 => /usr/lib/libasn1.so.9
libatk-1.0.so.0 => /usr/local/lib/libatk-1.0.so.0
libaudio.so.2 => /usr/local/lib/libaudio.so.2
libc.so.7 => /lib/libc.so.7
libcairo.so.2 => /usr/local/lib/libcairo.so.2
libcam.so.4 => /lib/libcam.so.4
libcdda_interface.so.0 => /usr/local/lib/libcdda_interface.so.0
libcdda_paranoia.so.0 => /usr/local/lib/libcdda_paranoia.so.0
libcom_err.so.4 => /usr/lib/libcom_err.so.4
libcrypt.so.4 => /lib/libcrypt.so.4
libcrypto.so.5 => /lib/libcrypto.so.5
libdrm.so.2 => /usr/local/lib/libdrm.so.2
libdv.so.4 => /usr/local/lib/libdv.so.4
libexpat.so.6 => /usr/local/lib/libexpat.so.6
libfontconfig.so.1 => /usr/local/lib/libfontconfig.so.1
libfreetype.so.9 => /usr/local/lib/libfreetype.so.9
libfribidi.so.0 => /usr/local/lib/libfribidi.so.0
libgcc_s.so.1 => /lib/libgcc_s.so.1
libgdk-12.so.2 => /usr/local/lib/libgdk-12.so.2
libgdk-x11-2.0.so.0 => /usr/local/lib/libgdk-x11-2.0.so.0
libgdk_pixbuf-2.0.so.0 => /usr/local/lib/libgdk_pixbuf-2.0.so.0
libglib-12.so.3 => /usr/local/lib/libglib-12.so.3
libglib-2.0.so.0 => /usr/local/lib/libglib-2.0.so.0
libgmodule-12.so.3 => /usr/local/lib/libgmodule-12.so.3
libgmodule-2.0.so.0 => /usr/local/lib/libgmodule-2.0.so.0
libgobject-2.0.so.0 => /usr/local/lib/libgobject-2.0.so.0
libgpac.so.1 => /usr/local/lib/libgpac.so.1
libgssapi.so.9 => /usr/lib/libgssapi.so.9
libgthread-12.so.3 => /usr/local/lib/libgthread-12.so.3
libgthread-2.0.so.0 => /usr/local/lib/libgthread-2.0.so.0
libgtk-12.so.2 => /usr/local/lib/libgtk-12.so.2
libgtk-x11-2.0.so.0 => /usr/local/lib/libgtk-x11-2.0.so.0
libiconv.so.3 => /usr/local/lib/libiconv.so.3
libintl.so.8 => /usr/local/lib/libintl.so.8
libjack.so.0 => /usr/local/lib/libjack.so.0
libjpeg.so.9 => /usr/local/lib/libjpeg.so.9
libkrb5.so.9 => /usr/lib/libkrb5.so.9
liblber-2.4.so.3 => /usr/local/lib/liblber-2.4.so.3
libldap-2.4.so.3 => /usr/local/lib/libldap-2.4.so.3
liblirc_client.so.1 => /usr/local/lib/liblirc_client.so.1
libm.so.5 => /lib/libm.so.5
libmad.so.2 => /usr/local/lib/libmad.so.2
libmpcdec.so.5 => /usr/local/lib/libmpcdec.so.5
libncurses.so.7 => /lib/libncurses.so.7
libogg.so.5 => /usr/local/lib/libogg.so.5
libopenal.so.0 => /usr/local/lib/libopenal.so.0
libpango-1.0.so.0 => /usr/local/lib/libpango-1.0.so.0
libpangocairo-1.0.so.0 => /usr/local/lib/libpangocairo-1.0.so.0
libpangoft2-1.0.so.0 => /usr/local/lib/libpangoft2-1.0.so.0
libpcre.so.0 => /usr/local/lib/libpcre.so.0
libpixman-1.so.9 => /usr/local/lib/libpixman-1.so.9
libpng.so.5 => /usr/local/lib/libpng.so.5
libroken.so.9 => /usr/lib/libroken.so.9
librpcsvc.so.4 => /usr/lib/librpcsvc.so.4
libsbuf.so.4 => /lib/libsbuf.so.4
libsmbclient.so.0 => /usr/local/lib/libsmbclient.so.0
libspeex.so.1 => /usr/local/lib/libspeex.so.1
libssl.so.5 => /usr/lib/libssl.so.5
libstdc++.so.6 => /usr/lib/libstdc++.so.6
libtheora.so.0 => /usr/local/lib/libtheora.so.0
libthr.so.3 => /lib/libthr.so.3
libungif.so.5 => /usr/local/lib/libungif.so.5
libusbhid.so.3 => /usr/lib/libusbhid.so.3
libx264.so.50 => /usr/local/lib/libx264.so.50
libxmms.so.4 => /usr/local/lib/libxmms.so.4
libxvidcore.so.4 => /usr/local/lib/libxvidcore.so.4
libz.so.4 => /lib/libz.so.4

 
こうしてみると mplayer のほうが圧倒的に強い。と言うのが良く解るねぇ・・。doragonplayer はリンクしているライブラリが 51 個。mplayer は 90 個でした。

8月 182008
 

FreeBSD に KDE4.1 をインストールしたよ。の最終系でしょうか・・。

当初から懸案 となっていた、konqueror と konsole において UTF-8 以外の文字コードが表示できない。と言う件。何とか解決しました。

結論から言いますと ports を一個インストールし忘れていた。と言う感じです。japanese/qt4-codecs-jp は QT4 において日本語の文字コード体系をインストールする ports になります。 /usr/ports/japanese に入っていたらわかんねーよ。って感じなんですが、これを発見するまでに随分時間がかかったので是非書かせてください;-)。

まず、konsole を起動してログを調べます。[設定]→[現在のプロファイルを編集]から[詳細]の[エンコーディング]の設定で EUC-JP を選択したり、[表示]の[文字エンコーディング]で EUC-JP を選択すると以下のメッセージが出力されエラーとなる。

konsole(67786) KCodecAction::mibForName: Invalid codec name:  "EUC-JP"
konsole(67786) KCodecAction::mibForName: Invalid codec name:  "&EUC-JP"

 
これはおかしい。ってんで、kdebase-4.1.0/apps/konsole のソースをいよいよ眺めるわけです。すると KCodecAction::mibForName: は QT ライブラリを呼んでいるので、これは KDE4 側では無く明らかに QT4 側の問題だ。と言うことで、次に「どの ports をインストールしたら良いのだ?」となり /usr/ports の下を探し回った結果、 japanese/qt4-codecs-jp を発見し、インストールしたら無事に動作した。と言う感じなのでした。

さて、この ports を入れることにより konqueror と konsole においては UTF-8 以外の日本語の文字コードも表示できるようになりました。嬉しいことです。

konsole については [設定]→[プロファイルの管理]から EUC-JP や UTF-8 のプロファイルを作成して臨機応変に使い分ければ良いかと思います。ちなみに、僕は KDE4 から LANG を UTF-8 にしました。それらの設定についてはこの辺りに書いて有ります。

konsole のことについてちょっと書いておきましょう。設定で選択できる等幅フォントが少なくなったので表示が美しくなかったりするんですが、以下の要領で変更できます。

上記で EUC-JP や UTF-8 のプロファイルを作成 しましょう。って書きましたが、これらは ~/.kde4/share/apps/konsole/ の中に保存されます。例えば僕の作った EUC-JP のプロファイルは EUC-JP.profile のような感じ。ここに設定が保存されていますが、[Appearance] ディレクティブにおいてフォントの設定をします。以下は例です。

[Appearance]
ColorScheme=BlackOnLightYellow
#Font=osaka_unicode,10,-1,5,50,0,0,0,0,0
#Font=さざなみゴシック,10,-1,5,50,0,0,0,0,0
Font=美杉ゴシックL,10,-1,5,50,0,0,0,0,0
[Encoding Options] DefaultEncoding=EUC-JP
[General] Directory=$HOME Name=EUC-JP Parent=FALLBACK/ RemoteTabTitleFormat=%h : %u ShowNewAndCloseTabButtons=true TabBarMode=1 TabBarPosition=1
[Interaction Options] WordCharacters=_
[Keyboard] KeyBindings=linux

 
全文引用ですが;-)、今回は Font に「美杉ゴシックL」を指定してみました。他のフォント、例えば MS ゴシックなどは全角幅に半角英数字が表示され、とても利用できなかったのでした。多分アンチエイリアスを無効にすればちゃんと利用できると思います。

あぁ。上記のプロファイルを作成した場合、フォント名などに日本語が含まれているときにはファイルの文字コードは UTF-8 にする必要があります。ご注意下さい。

しかし、KDE4 の konsole の[表示]メニューから[すべてのセッションに入力を送る]って項目が無くなったのは痛いなぁ・・。複数のサーバに入っている時には非常に有用だったのになぁ・・。

さて、この辺りで完成品のスクリーンショットでも行きましょう;-)。僕の KDE4 はほぼ設定が完了しました;-)。



ちょっと説明しますと、

左上が openoffice.org-2.4.1 の viewdoc です。日本語が入力できています。
右上が Dplphin ですが、ネットワークを参照すると落ちるので、今の所は konqueror で smb:// するしか無いです。
左下は UTF-8 以外の日本語が表示できるようになった konsole です。
右真ん中は、同じく UTF-8 以外の日本語が表示できるようになった konqueror です。
右下ですが、 KDE4 から kdemultimedia-4.1.0 に付属するようになった dragonplayer です。まだ詳しくは追ってないのですが、mplayer とは非同期なのかな? konqueror 上ではプラグインとして動作します。今再生しているのは Windows Mediaストリーミングです。 www.flets のコンテンツでも試しましたが、DRM には対応していないようです。

後、パネルもカスタマイズしています。色は変更できないみたいなんですよねぇ・・。

と、言うことでこれでようやっと実用に耐えられる状態になって来たような気がします。 KDE2 から KDE3 に変更した時も随分と初期の設定を出すのに難儀しました。今回は KDE3 から KDE4 への変更ですが、機能が充実したりしていて中々楽しいです。

それにまだまだ知らないことが沢山ありそうですし。 dragonplayer なんかはそれ一個で十分にネタになりそうだしねぇ。

と、言うことで環境構築編はこれにてひとまず終了です。皆さんも是非 KDE4 利用してみてくださいーい。

8月 142008
 

ふぅ。KDE4 で scim-bridge を利用するんだけど、前回は動作したよ。バッチ書いたよ。って状態でした。

しかし、まぁ、それだけではなんなんで、ports にしてみました。以下の URL に置いておきます。

http://www.icmpv6.org/Prog/FreeBSD_ports/ports-scim-bridge-client-qt4-20080814.tgz

Makefile が怪しいんですけど、まぁ、一応 install して deinstall して pkg_delete できるところまでは確認しました。もしかしたら関連性の部分とか怪しいかもしれませんがその点は、修正して、僕に教えて頂ければと思います。

なんせ、僕の環境は KDE4 と qt4 がもう入っている状態なものでして・・(^^;;。

と、言うことで動作結果など、書いていただければと思います。

8月 132008
 

前回は FreeBSD で KDE4.1 をインストールしてみました。いやぁ。SKIM が無くなったので日本語入力できないよー。ってんで困っている図が前回です。

なんか回避策はないのかな?とか思って探していたら Linux 方面では scim-bridge と言うのがあるらしい。しかも qt4 で利用できる唯一のインプットメソッドらしいし、いまだテストフェーズみたい。おぉ。試してみる価値あるジャン。と言うことで FreeBSD 上で make を試みる。

やっぱまだ開発中なので configure 一発では FreeBSD 上では make 通らないねぇ。と、言うことでソース修正。今回は一個前のバージョンである、scim-bridge-0.4.14 に対してやってみました。ちなみに FreeBSD は 7.0-STABLE。ports は ports-current です。

したら、なんとか動きましたねぇー。konqueror では文字入力中は文字化けしているけど、確定したら一応日本語入力ができた。 firefox3 では特に問題無く日本語入力できています。 FreeBSD でも scim-bridge が動作したかなー。と言う感じはします。

scim-bridge-0.4.14 に対するパッチはここに置いておきます
動いているときのキャプチャはこっちに置いておきます;-)。

まだ ports にはしていないので、ソースコードを拾って来てパッチを当ててから make してください。後、今は 0.4.15 のパッチも書いている最中です。まずは確実に動作するものを・・。と、言うことで。

後、今回は scim-bridge-client-qt4 に固執しているため、gkt や qt3 のことは考えていません。なので、configure は以下のオプションのみを指定してください。他のオプションを指定した場合は make がエラーになります。

# ./configure --enable-qt4-immodule --prefix=/usr/local/kde4 --disable-qt3-immodule --disable-gtk2-immodule --disable-tests --disable-documents

 
後は make;make install で OK でしょう。 /usr/local/lib/qt4/plugins/inputmethods/* や /usr/local/kde4/bin/scim-bridge にインストールされるようにしています。

後、起動時の環境変数ですが、僕は以下のように設定して、scim -d と起動したら無事に動き出しました。後は、KDE のメニューから SCIM の設定画面を開いて色々設定してみてください。

export LANG=ja_JP.eucJP
export LC_CTYPE=ja_JP.eucJP
#export KDE_UTF8_FILENAMES=true #export KDE_LANG=ja_JP.UTF-8 export KDE_LANG=ja_JP.eucJP export QT_XFT=true
export GDK_USE_XFT=true export QT_IM_MODULE=scim-bridge export GTK_IM_MODULE=scim
export XMODIFIERS="@im=SCIM"

 
僕は例のごとく ~/.xsession で設定しています。また、LANG=ja_JP.eucJP と言うのもあまり気にしないでください(^^;;。一説によると、scim-bridge の環境変数は ~/.xim でも設定できるみたいです。その辺り、僕はまだ良くわかっていません。

それにしても、KDE4.1 をインストールして、比較的早くに SKIM のかわりが見つかってよかったと思っています。後は KDE4.1 自体が日本語を受け付けるようになってくれるのを待つのみです。konsole が日本語表示できないとか、konqueror が UTF-8 なウェブページしか表示できないのではいまいち使えないですからねぇ・・。

まぁ、今回は FreeBSD 上の QT4 で scim-bridge が動いた。良かったね。と言うことで;-)。

あー。言い忘れました。最後にですが、僕は scim-canna の利用者です。FreeBSD/i386 上で a.out な vjed-2.5 が動作し、それを esecanna 経由で FreeBSD/amd64 の scim-canna から利用しています。でもって QT4 では更にブリッジしていると言う。何とも遠い話だ・・(^^;;。

あ。更に思い出した。 FreeBSD では scim-bridge が、まだ ports になっていません。ports にしてくれる人、絶賛大募集中;-)。

8月 122008
 

cvsup で最新の ports-current を取り寄せていたら、8/8 辺りからちらほらと KDE4 の ports が降ってくるようになって、8/11 の時点では一応全て揃っていたみたいなのですかさず make を始めた。

いやぁ、FreeBSD の ports として KDE4 ができたのは今回が初めてなので嬉しくて嬉しくて。なので当分は KDE4 のネタを書き続けることになるかと思いますがご了承願います;-)。

さて、ports を cvsup したら KDE4.1 でしたね。結局 KDE4.0 はリリースされなんだわけだ。では、インストールした結果を見ていくことにしましょう。あ。今回は一切のキャプチャは無しです。テキストベースでどどんっと行きます。

ports から KDE4 を make すると KDE-4.1 がインストールされます。でもってインストール先は /usr/local/kde4 になるので KDE3 との同居は可能です。例えば KDE4 の kdm を実行するには /usr/local/kde4/bin/kdm、その設定ファイルは /usr/local/kde4/shale/config/kdm/ になり、まるっきり隔離されています。コマンド実行時の PATH に /usr/local/kde4/bin を追加する必要があります。

次にですけど、KDE3 を削除してから KDE4 をインストールする場合、随分と削除しなければならないものが増えてきます。例えば OpenOffice.org を WITH_KDE=YES で make していた場合は動作しなくなります。ports の Makefile 中に USE_KDELIBS_VER=3 と言う記述があるものは KDE4 では動作しない。と言う認識でいたほうが良いでしょう。

ぱっと、思いつくのは SKIM・OOo・krdesktop・kmplayer などですが、インストールできないので KDE4 環境では動作しません。結構ヒサンです・・。

ここにも書いていますが僕は kdm の Xsession をいじっています。~/.xsession を起動するようにしているのですが、ログイン時に LANG 環境変数をちゃんと設定していれば、ログイン後の日本語表示は比較的できています。 kde.gr.jpの翻訳チームの皆様、お疲れさまです。そしてありがとうございます。メニューが日本語化されていると言うのは嬉しいものです。

さてと。ルックアンドフィールについてですが、kdm が起動した段階でド胆を抜かれます。なんなんだっ!!これはっ!!みたいな。でもってログインするともっと驚きます。画面キャプチャはありませんが;-)。KDE3 とは全然違い、驚きます。まるで WindowsVista と MacOSX Leopard を足して 2 で割った感じです。KDE3 はどちらかと言うと CDE っぽいですかねぇ。

まずは環境設定を行います。フォントも自分の好きに設定します。アンチエイリアスにします。

KDE4 は Konqueror を捨てて Dolphin を使う。とのことだったのですが、Dolphin はファイルマネージャで Konqueror 自体はまだまだウェブブラウザとしては現役ですね。Dolphin を使いましたが、結局今まで通り Konqueror をファイルマネージャとして使っていた使い方にしてしまいました。僕はどっちでもいいや。つて感じです。

等幅フォントはやはり利用できるものが少なくなるのですが、KDE4 のフォントマネージャと Konqueror のフォントの設定で、表示方法が違うのが気になりました。Konqueror のフォント設定画面のほうがすばらしい。なぜ、これを KDE4 の default 設定にしないのだろう?と思ってしまう。

等幅フォントで利用できるものが少ないというのは konsole においては致命的です。自分の好きなフォントが指定できないのは qt3 の時からだけど、それが伝統で引き継がれてしまった。と言うことでしょぅか・・。

後、konsole でもっと致命的なのが、日本語は全て文字化けする。ってことです。emacs -nw を起動して、日本語ファイルを開いても全然ダメ状態・・。文字コードを変えてもだめ。フォントで回避できるのかなぁ?ここに書いてある技 はまだ試してないんだけど・・。

Konqueror も同様で UTF-8 のページは日本語を表示してくれるんだけど、それ以外の文字コードを利用しているサイトは、ブラウザの文字コードをコンテンツに合わせても文字化けするので読むことが出来ない・・。

と、言うことで、インストールが終わって一時間位格闘したのがこんな感じ。

SKIM が動かないのはちょっと大きいかなぁ。ブラウザに対して日本語入力できない・・。今、scim-bridge を FreeBSD で make が通るようにまではしたけど、使い方が解らないので調査中です。ports にもなってないので自力で何とかしている状態です。 scim-bridge-client-qt4 がまともに動作するようになったらこのブログでも公表しますねー。

と、言うことで、ここまでの総評ですが、 KDE4 にすると動作しないものが多くなるのでちょっと悲しい。まぁ、OOo は WITH_KDE=YES を外せば良いだけだとは思うけど。後、リリース直後、 KDE4 は速い。と書いてあったサイトも何個か見たけど、それほど速くないよ・・。Athlon X2 4000+ を持ってしても「すげー速いっ!!」は体験できなかった。

メニューの日本語化が進んでいるのはすごい嬉しいけど、日本語を表示してくれないのがあるのはちょっと痛いかなー。その辺りに課題が残っている。もっとどこか時限の違うところの設定で回避できるのかなぁ?

とまぁ、第一回目はこんな感じです。これを読んで、皆さんもインストールしてみようかな。と、思いました?ぼくは自宅の環境でインストールしてみましたが、仕事の環境ではまだまだ利用できる状態ではないと判断したので、当分は自宅の環境で遊ぶことにしています。まぁ、自宅には MacOSX もあるので、本当に「検証環境」って状態だとは思うのですけどねぇ;-)。

つづく。かな?

5月 202008
 

FreeBSD-users-jp な ML でも話題になったのだけど、ログインすると scim が core をデスクトップに毎回吐き出してくれる。と言う件。

僕は KDE3 で skim+scim+ja-scim-canna を利用しているのだけど、この環境でもきっちりと core を吐いてくれるのでいいかげんウザイと思っていた。

しょーがないのでそろそろなんとかするべか。と思い、KDE3 上の 「skimを設定」の画面から「KDE の起動時にskimを開始する」のチェックを外してみることにした。

すると今度はログインしたときに skim が起動してくれなくなるので ~/.xsession から以下のスクリプトを起動するようにしてみた。

#!/bin/sh
export LANG=ja_JP.eucJP
export LC_CTYPE=ja_JP.eucJP
export KDE_LANG=ja_JP.eucJP export QT_XFT=true
export GDK_USE_XFT=true export QT_IM_MODULE=scim export GTK_IM_MODULE=scim
export XMODIFIERS="@im=SCIM"
sleep 5; /usr/local/bin/skim -d

 
でもって .xsession では以下の記述を追加。startkde する前に skim を実行することにしてみた。

# skim daemon
Skim="$HOME/bin/skimstart.sh"
if [ -f $Skim ]; then
    exec $Skim &
fi

 
するとまぁ、なんとなー。core を吐かなくなったじゃないのさ。すんばらしー。

なぜ、こんな設定にしたのか?と言えば、もしかしたら KDE と skim の起動順序に問題があって core を吐くんじゃないのかな?と、なんの根拠もなく、ただ漠然と思い、試してみただけのことなのでした(^^;;。

ちなみに僕は kdm からログインして ~/.xsession を参照するようにしています。kdm の起動に関係するファイルは /usr/local/share/config/kdm/Xsession になるのだけど、この最後の部分を以下のように変更しています。

case $session in
    "")
        exec xmessage -center -buttons OK:0 -default OK "Sorry, $DESKTOP_SESSION is no valid session."
        ;;
    failsafe)
        exec xterm -geometry 80x24-0-0
        ;;
    custom)
        exec $HOME/.xsession "$1"
        ;;
    default)
        exec $HOME/.xsession startkde
        ;;
    *)
        eval exec $HOME/.xsession "$1"
        ;;
esac

 
これで、kdm のメニューの部分のパラメータが $1 に入るのでそれを ~/.xsession に渡すことができます。後は ~/.xsession で好きな設定をすることにより、自分の好きに起動するプログラムを変更します。

と、言うのはその昔、FreeBSD Press の 「gnome と KDE の特集」で書いたことがあるなぁ;-)。

さてと、これで scim が core を吐かなくなったわけだけど、gnome は使ってないので、gnome での動作は解りません。もしかしたら、scim-setup で設定できるかもしれないですが、僕には解りません;-)。

4月 302008
 

僕は GNOME ではなく KDE3 ユーザであり FreeBSD で利用しています。

そして ports-current を追いかけているのですが、samba3 のあるバージョンから konqueror の smb:// を利用してファイルサーバにアクセスした場合に日本語のファイルやディレクトリが文字化けして表示されるようになってずっと困っていたのですがそれはそれでほっといていました(^^;;。

しかし、いてもたってもいられずにようやっと調査してみることにしました。結局無事に日本語も表示できでばっちりな状態になりました。ふぅ。良かったよ。

今回はその設定方法についてちょっと書いてみたいと思います。それにしても「何をいまさら。」的ネタだったら申しわけ有りません・・。

基本は samba3 の動作にあることが解りました。smbd と nmbd は /usr/local/etc/smb.conf を参照して動くのだけど、クライアント側、それは ports 的には samba-libsmbclient だったりするんだけど、これはクライアント側の設定である ~/.smb/smb.conf を参照して動作するらしいです。

なので smbd や nmbd が参照する /usr/local/etc/smb.conf が適切な設定であってもクライアント側の設定と不一致であれば文字化けしてしまう。と言うのが konqueror の動作のようです。

ちなみに GNOME については知りません。昔は GNOME も KDE3 も入れていたのだけど、今は両方インストールすると ports の数が 700 を越えるので GNOME をインストールするのはやめました;-)。

さて、konqueror で日本語を正しく表示するための設定ですが、上にも書いた通り samba-libsmbclient の設定をする必要があります。以下がその設定になります。

[global]
#   display charset = EUCJP-MS
#   unix charset = EUCJP-MS
    display charset = UTF-8
    unix charset = UTF-8
    dos charset = CP932

 
ちなみに僕が管理している smbd・nmbd のサーバ側の文字コードに関する設定は以下になっています。この設定は Windows や MacOSX からは無事に日本語が表示できています。

[global]
    display charset = EUCJP-MS
    unix charset = EUCJP-MS
    dos charset = CP932

 
どうやら konqueror 側からは UTF-8 でアクセスしなければならない。ということのようですね。サーバ側は EUCJP-MS であるのに。ということがわかります。では、僕は KDE3 をどの LANG で使っているのか?と言われれば、以下のようになっています。未だ EUC-JP を利用しています。以下は starkde を実行する前の ~/.xsession で設定しています。

export LANG=ja_JP.eucJP
export LC_CTYPE=ja_JP.eucJP
#export KDE_UTF8_FILENAMES=true #export KDE_LANG=ja_JP.UTF-8 export KDE_LANG=ja_JP.eucJP export QT_XFT=true

 
さてと。これで konqueror で smb:// は日本語文字を正しく表示できるようになりました。嬉しいことです。

2月 122008
 

以前にちろっと書いたんだけど、実際に Leopard 上で KDE4 を起動してみた。

http://ranger.users.finkproject.org/kde/index.php/Home

を見てみると、バイナリがダウンロードできるみたいなのでダウンロードしてみたんだけど、どうやらバイナリじゃないみたい。ダウンロードしたファイルの拡張子は torrent と言う形式になっていた。

torrent と言う拡張子でググってみると BitTorrent と言う P2P ソフトが存在するみたいです。KDE4 の、多分 MacOSX 用のバイナリは BitTorren のクライアントソフトを利用してダウンロードする仕組みになっているみたい。

なので、次のステップとしては MacOSX 用の BitTorren のクライアントソフトを探す必要があります。Transmission と言うのがあったのでそれをダウンロードしてきます。以下の URL 辺りにあります。

http://www.transmissionbt.com/

ダウンロードしたら起動します。まぁ、設定は自分の好きにしてください。

その後、KDE4 のサイトから拾って来た .torrent と言う拡張子のファイルを DnD で Transmission に置いてあげると早速バイナリのダウンロードを開始してくれます。

ダウンロード後は KDE4 の必要なものをインストールして完成。/opt/KDE4 辺りにインストールが終ります。

その後は、上の Projects/KDE on Mac OS X のウェブページの Running_Apps の所を参照して環境変数を設定した後に konqueror などを起動すれば良いでしょう。

ちなみに起動した図はこんな感じ。どうもいまいち完成度は高くないような気がします。が、僕もまだ KDE4 は FreeBSD でも使ったことが無いので何とも言えないのてすけど・・。



一応、konsole と konqueror を起動してみました。日本語も無事に表示してくれているのがまぁ、嬉しい所でしょうか。

安定感ですが、怪しいですねぇ・・(^^;;。knotify4 はぼこぼこ落ちるし、kded4 も時々落ちることがあるし・・。

後、フォントの指定はいまいち解らないですね。コントロールセンターでするのかなぁ?なんせ、今の所、コンソールから open コマンドで起動するので他にどんなプログラムがあるのかいまいち解らないと言う感じでしょうか。

もう少し使い込んでみたい所ではあるのですが・・。