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 もあるので、本当に「検証環境」って状態だとは思うのですけどねぇ;-)。

つづく。かな?

8月 032008
 

iPod Touch で Cisco VPN やって、それだけで満足しているのもまた変な話でして。FreeBSD でもきっちりと Cisco VPN を使えるようにしましょう。

まぁ、iPod Touch で Cisco VPN の所でも書いたのだけど、Cisco ルータ側をいじる権限は僕には無いので何を利用しているのか全然解らないのです。ただ、単にアカウント情報をもらっただけ。

Windows 用のクライアントはあるみたいですが、今回は FreeBSD でやります。

それらしい ports は無いかしら?とか調べていたら /usr/ports/security/vpnc と言うのがありました。早速 make してインストールして起動してみましょう。あぁ。インストールのオプションはフルオプションつけたほうが良いかもしれません。認証のためのオプションだと思うのですけどねぇ。

/usr/local/etc/vpnc.conf に設定ファイルがあるのでこちらにアカウント情報を記述します。設定内容は書きませんが;-)。設定寺の問題点と言うか、難儀した所。 IKE Authmode hybrid と言う設定があると Cisco 側と無事に接続できないみたいです。なので、この行をコメントアウトしました。Cisco ルータとの認証にまつわる設定だと思うのだけどねぇ。この行があるとうまく接続できませんでした。

そして、VPNなんてのはずっと接続しておく必要は無いので、必要な時のみデーモンを起動するだけで十分でしょ。となるので、/usr/local/etc/rc.d/vpnc onestart とかして起動します。なんか、簡単に Cisco に接続してアドレスが降って来てしまいました(^^;;。

VPN が成功すると tun0 インターフェースが生えて来ます。ここに網内の IPv4 アドレスが付加されました。それにしても DNS が降ってこないのでやはり /etc/hosts に必要なホスト名は記述する必要はありますが、まぁ、いとも簡単に利用できてめでたしめでたし。と言う感じでしょうか;-)。

あー。一点。 /usr/local/etc/rc.d/vpnc onestop とかして vpncd を停止させるんだけど、tun0 が削除されないです。この後、もう一回 vpncd を起動すると tun1 を利用するようになってしまいます。なので、デーモンを停止した後は ifconfig tun0 destroy して、インターフェースを削除したほうが良いですねぇ。

7月 022008
 

EeePC で FreeBSD を動作させよう。の第五回目ですかね。いやはや。このネタ続いていますが・・。

NIC のドライバは出たかなぁ?とか、定期的にウェブを探しているのですが、以下の URL を発見しました。今後はここを追いかければ大丈夫かなぁ。と言う感じです。

http://wiki.freebsd.org/AsusEee

ここを見ると、オンボードの NIC のドライバがいよいよできたみたいですね。if_ae.ko と言うドライバみたいです。

ath0 のほうは相変わらずですが、せっかくなので僕の EeePC は 7-STABLE から 8-CURRENT にしてみました。最新の NotePC は STABLE じゃダメだろう。と言う感じで。

で、8-CURRENT で ae0 と ath0 の両方を試してみましたが、どちらも動作しませんでした。

ae0 のほうは RJ45 ケーブルをさして HUB に接続しても双方でリンクアップしませんでした。もうダメダメ状態・・。

ath0 のほうは相変わらずの状態でこれまた全然ダメ・・。

と、言うことで相変わらず aue0 のお世話になっております。

後、上の URL を眺めていたら suspend/resume するようになったよ。っての見つけました。 acpi_asus.ko に色々手が入ったぜぃ。みたいな感じで。

僕はサーバ用途で利用することを想定しているのでサスペントやレジュームについてはあまり気にしていなかったのだけど、試しに acpiconf -s3 としてみたら確かに寝ますねぇ。でもって電源ボタンを押すとちゃんと復活しますねぇ。これは大変にすばらしい。

ただ、僕の EeePC は USB 経由で接続している 2.5 インチの HDD に FreeBSD が入っているし、後、NIC も USB 接続なのでサスペンド後の初期化が心配なために常用はできないかな。と、言う感じはします。

8-CURRENT に上げたことが良いことかはまだ解りませんが、ちょっとずつ色々動いて来ているな。と言う感じがします。

今だと 39,800yen で買えるし、後、他のベンダからは Atom 利用の PC も出てきているので「いまさら感」と言うのはあるのだけどねぇ・・。

まぁ、買ってしまったものはしかたがない。有効利用したいものです・・。トホホ。

6月 242008
 

ちょっとワケ有って二台の PC の間の速度計測などをしてみた。投入した PC は HP DL320G5p。OS は FreeBSD/amd64 7.0-RELEASE と FreeBSD/amd64 6.3-RELEASE。

DL320G5p は Broadcom の BCM5715C 10/100/100 PCIe Ethernet Controller が付いている。 if_bge ドライバで認識します。

この二台のサーバ間のトラフィックを計測する。と言うのが今回の検証。検証ツールとしては ports/net/pchar を使用。 pathchar もあるのだけど、こいつは amd64 では make できないのである。

と、言うことで行った検証は以下の通り。

1. 二台のサーバをクロスケーブルで接続し、その間を pchar で調べる。
2. 二台のサーバの間に Cisco1812J を設置し、サーバ間を pchar で調べる。

と、言うことで早速 pchar の結果を見ることにしてみましょう。

まずは 1. の結果から。

# pchar 192.168.1.2
pchar to 192.168.1.2 (192.168.1.2) using UDP/IPv4
Using raw socket input
Packet size increments from 32 to 1500 by 32
46 test(s) per repetition
32 repetition(s) per hop
0: 192.168.1.1 (192.168.1.1)
Partial loss:      0 / 1472 (0%)
Partial char:      rtt = 0.183149 ms, (b = 0.000007 ms/B), r2 = 0.031532
stddev rtt = 0.004488, stddev b = 0.000006
Partial queueing:  avg = 0.000099 ms (14933 bytes)
Hop char:          rtt = 0.183149 ms, bw = 1203200.000000 Kbps
Hop queueing:      avg = 0.000099 ms (14933 bytes)
1: 192.168.1.2 (192.168.1.2)
Path length:       1 hops
Path char:         rtt = 0.183149 ms r2 = 0.031532
Path bottleneck:   1203200.000000 Kbps
Path pipe:         27545 bytes
Path queueing:     average = 0.000099 ms (14933 bytes)
Start time:        Tue Jun 24 12:29:09 2008
End time:          Tue Jun 24 12:35:18 2008

 
クロスケーブルで接続した場合 1.2Gbps の速度が出ているとこが伺えます。 NIC がすごいのか、はたまた if_bge のデバイスドライバがすごいのか。驚きの速度です。まぁ、うのみにはしていないのですけどね(^^;;。

続いて 2. の試験結果です。

# pchar 10.0.0.2
pchar to 10.0.0.2 (10.0.0.2) using UDP/IPv4
Using raw socket input
Packet size increments from 32 to 1500 by 32
46 test(s) per repetition
32 repetition(s) per hop
0: 10.0.0.1 (10.0.0.1)
Partial loss:      0 / 1472 (0%)
Partial char:      rtt = 0.178801 ms, (b = 0.000176 ms/B), r2 = 0.691920
stddev rtt = 0.014302, stddev b = 0.000018
Partial queueing:  avg = 0.000092 ms (524 bytes)
Hop char:          rtt = 0.178801 ms, bw = 45464.442570 Kbps
Hop queueing:      avg = 0.000092 ms (524 bytes)
1: 10.0.0.2 (10.0.0.2)
Path length:       1 hops
Path char:         rtt = 0.178801 ms r2 = 0.691920
Path bottleneck:   45464.442570 Kbps
Path pipe:         1016 bytes
Path queueing:     average = 0.000092 ms (524 bytes)
Start time:        Tue Jun 24 12:38:55 2008
End time:          Tue Jun 24 12:45:04 2008

 
Cisco1812J は 100Mbps のポートなので 1G はでないとしても半分の 50Mbps も出ていないと言う結果になりました・・。

サーバ側でのクロスケーブル接続って重要なんだなぁ。と解った瞬間なのでした・・。まぁ、pchar の値が的確な数値ではないとしても 1812J、もう少しがんばれー。と、声援を送りたくなるのも事実ですが;-P。

次回は 3750 を投入した値が掲載できれば良いな。と思ったりもしていますが;-)。

6月 172008
 

前回の続き です。DSS が 6.0.3 になったらストリーミングが tcp を利用するようになっていました。RTP over RTSP と言うみたいです。以下の URL にその詳細が載っています。

http://lists.apple.com/archives/Streaming-server-dev/2007/Feb/msg00030.html

サーバ側ではストリーミングデータを RTP の UDP ではなく、 TCP で流して再生するぜい。みたいな感じです。

僕は DSS は二台のサーバで起動しているのだけど、一台は BB ルータの DMZ 内に設置されたサーバ、つまり NAT 環境下で運用しているのがあるのだけど、上記の説明文を読むと、なるほど。とか思う。

ならば。と言うことでグローバルアドレスが付いているサーバで試したけど、やはり TCP で送信していた。NAT が有っても無くても UDP で送信するみたいです。ふむー。

と、言うことであればしょーがない。TCP でガマンするか。とか思ったのだけど、UDP で送信する方法が無いのかちょっと調べてみた。/usr/local/etc/streaming/ にある streamingserver.xml や、ストリーミング用の SDP ファイルを見たけど、UDP でストリーミングするオプションが無いのねぇ。と、言うことであきらめるか・・。

クライアントについてですが、MacOSX の QuickTime Player は TCP と UDP に対応しているのでサクっと動きます。

mplayer は -rtsp-stream-over-tcp と言うオプションを付加すれば見ることができるのは前回書いた通りです。

そして、Windows 版の QuickTime Player ですが、こいつは default では再生できないのであります。ちょっと調べたところ以下の設定を施せば見ることができるようになることを確認しました。

[編集]->[設定]->[QuickTime 設定] と来て [詳細]->[ストリーミング] の中の [トランスポート設定] を [カスタム] に。[自動] にしていたら再生してくれません・・X-(。

すると [トランスポートプロトコル] が UDP になっているのでそれを HTTP に。

でもってポートを 80 番ではなく、 554 に変更して保存します。

これで再生できるようになるかと思います。ふう。ちかれた・・。

6月 162008
 

ports-current を追いかけていたら DSS が 6.0.3 になっていた。

過去のこのブログでも「動画配信。」と「DSS-5.5.4 の使い方。」と、二回ほど取り上げてきた。今回はその三回目で最新版についてお届けして参りましょう。

まずは、実際にストリーミングをご覧ください。既に YS-11 のストリーミングは無いので新しいのを用意しました。どこの線路が解るかしら?コメントに路線名を書いていただいても結構です;-)。

-> 電車からの風景 -> rtsp://qtss.icmpv6.org/train.sdp

この動画は大体二ヶ月位は配信できるように頑張ってみます。

さてと。ここに用意したサンプルのストリーミングですが、現在、MacOSX の QuickTime7 でしか、素直に再生できません。 WindowsXP 上の QuickTime でも再生できません。

コンテンツ自体は デジタルカメラで撮ったものを QuickTime7.5 の Pro でストリーミング用に変換したものです。Video Codec は H264。 Audio Codec は AAC と言う、標準的なもので、それぞれ ffmpeg と faad で再生はできるはずです。

FreeBSD 上の mplayer で再生を試みましたが、とあるオプションを指定しなければ見ることができませんでした。mplayer をお使いの方はコマンドラインから以下を実行してみてください。

$ mplayer -fps 15 -rtsp-stream-over-tcp rtsp://qtss.icmpv6.org/train.sdp

 
“-fps” と言うオプションと -rtsp-stream-over-tcp と、言うオプションを付加しなければ再生できない。と、言うことが解りました。このオプションをつけると無事に再生できるようになります。

そもそも、RTP って UDP だったかなぁ?オプション的には TCP で流すぜぃ。って雰囲気っぽいんだけど・・。

DSS-5.4 ではこれらのオプションが無くとも再生できていたので DSS が 6.0.3 になってから色々と変わったのだろうとは思うのですが、まだ調査していません。暇をみつけて色々確認してみたいと思います。

ちなみに、コンテンツのほうは特に指定はありません。けど、DSS サーバの設定にもこれといったものは無いのです・・。余計な設定が無い(できない)というのはいかにも Apple らしいのですけど;-)。

最後にですが、DSS-6.0.3 の日本語メッセージを「ここ」に置いておきます。

最新版の DSS-6.0.3 ですが、もう少し調査が必要なことだけは確かです。

後、僕は Windows ユーザではないので Windows 上の QuickTime でどうして再生できないのかを深く追うことはしないと思います。あしからずご了承ください。