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 もあるので、本当に「検証環境」って状態だとは思うのですけどねぇ;-)。
つづく。かな?
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 して、インターフェースを削除したほうが良いですねぇ。
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 も出てきているので「いまさら感」と言うのはあるのだけどねぇ・・。
まぁ、買ってしまったものはしかたがない。有効利用したいものです・・。トホホ。
ちょっとワケ有って二台の 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. の結果から。
|
クロスケーブルで接続した場合 1.2Gbps の速度が出ているとこが伺えます。 NIC がすごいのか、はたまた if_bge のデバイスドライバがすごいのか。驚きの速度です。まぁ、うのみにはしていないのですけどね(^^;;。
続いて 2. の試験結果です。
|
Cisco1812J は 100Mbps のポートなので 1G はでないとしても半分の 50Mbps も出ていないと言う結果になりました・・。
サーバ側でのクロスケーブル接続って重要なんだなぁ。と解った瞬間なのでした・・。まぁ、pchar の値が的確な数値ではないとしても 1812J、もう少しがんばれー。と、声援を送りたくなるのも事実ですが;-P。
次回は 3750 を投入した値が掲載できれば良いな。と思ったりもしていますが;-)。
前回の続き です。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 に変更して保存します。
これで再生できるようになるかと思います。ふう。ちかれた・・。
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 をお使いの方はコマンドラインから以下を実行してみてください。
|
“-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 でどうして再生できないのかを深く追うことはしないと思います。あしからずご了承ください。
一時は FreeBSD での利用を断念したんだけど、結局 WindowsXP で使うのもまた大変なので FreeBSD で自宅のサーバ兼ルータとして活躍してもらうことにした。
WindowsXP で「キッチンの PC」にしたのだけど、やはり 4GB の c:¥ では無理がありすぎる。SDHC に 16GB 用意してもどーもなぁ。と言う感じで・・。
しかし、FreeBSD で利用するにしても最新の 7-STABLE でも オンボードの NIC および無線 LAN は動作しないので aue0 な BUFFALO LUA2-TX の NIC を二個接続して aue0,aue1 として認識させてルータとして稼働している・・。絶対に負けだよなぁ・・。とか思いつつ・・。orz。
それにしても if_aue は man を見ると「12Mbps しか出ないよん。」などと書いてあるしぃぃ。悩ましいものです。とほほ。
さて、僕の EeePC を FreeBSD で利用する場合の形態ですが、20GB の 2.5 インチ HDD を USB 接続にしてそこに FreeBSD をインストールしています。 /dev/da0s1 が / になります。これが遅い遅い・・。まぁ、サーバなので・・。
後は、上にも書いたように if_aue な NIC を二つ。ルータなので NIC 二つは default です。これで 7-STABLE をインストールしています。しかし、オンボード NIC は早く NetBSD から移植されないかなぁ。
あ。前の記事で書いた ath0 ですが、これは PCIe に接続されているのでそもそも動作しません。でもって ath_hal を変えてやってみるもやはり使えなかった。
けど、動いた時もあったのよねぇ。どんな時かと言うと、ath0 と aue0 を同時に利用した時。リモートのマシンから ath0 に振られた IPv6 アドレスにログインできるんだけど、戻りパケットはなんと aue0 からしか出て行かない。と言うすんごいことになっていた・・。これはすんごい簡単にはしょって書いているんだけど、実際は色々試しました。
と、言うことで USB ポートを全て利用して運用しているサーバ。と言うことでしょうか・・。情けない・・。
僕的に思うに、EeePC 買って失敗しました。既に一台持っている DELL X1 の中古が 49,800yen で売っているのを見た時、「あぁ・・。こっち買っておけば良かった。」などと素直に思ったのでした・・。はぁ・・。
FreeBSD の ports に dns/totd と言うのがある。
ちょっと試しに使ってみたのだけど、中々面白いなぁ。と言う感じ。IPv4 しか付加されていないドメインを問い合わせると IPv6 に変換して返してくれる。と言うもの。まぁふつーに言うと DNS Proxy って感じかな。
FreeBSD の場合は if_faith+faihd と組み合わせて利用するのが一般的な動作でしょうか。まぁ、これらの使い方の詳細は他のウェブページに任せるとしてと。
さて、totd ですが、totd.conf には prefix がたくさん設定できるので、たとえば大規模なトランスレータサーバ群を用意した場合、一台のトランスレータに一個の prefix を設定できる。
でもって一台のトランスレータがダウンした場合は totd.conf から prefix を削除すると、そのトランスレータは利用されなくなる。と、言うこともできる。WIDE の人々は偉大だなぁ。そー言うことをちゃんと考えている。実は、僕は prefix が一個しか書けないと思いこんでいて totd を改造しようかと思ったのだけど、ソースを読んで既に複数の prefix に対応していることに驚いた。
でもって更に驚いたが、僕は トランスレータを ping 監視してダウンしていたら totd.conf から prefix を削除してデーモンを再起動する仕掛けを作ろうと思っていたのだけど、なんと、デーモンの再起動さえ必要ない。http:// で port:6464 を叩けば prefix の一覧の取得と、登録と削除が行える機能が既に組み込まれていたのである。いやはや。いたせりつくせりな totd には驚きっぱなし。
で、ここでようやっと話は FreeBSD の ports へたどり着きますが、totd の configure 時に –enable-http-server と言うオプションを付けると http:// で port:6464 を叩けるようになるんだけど、ports の Makefile のオプションにはそれが存在しないことが発覚したのね。せっかくある機能なのにもったいないことだ。
と、言うことで、dns/totd/Makefile のパッチを書いてみました。make WITH_HTTPD=yes と指定すると –enable-http-server オプションが付加されるようになるバッチです。
totd の ports の作者にはメールを送ったのだけど、返事がないのであきらめて、ここに公開することにしました。以下の URL からダウンロードできます。FreeBSD の ports の commit 権限をお持ちの方がいましたら、是非 commit をお願いしたいところですが・・。
http://www.icmpv6.org/Prog/FreeBSD_ports/totd.patch-Makefile
ちなみに totd ですが、作りが簡単なのでいろいろ改造できそうです。今欲しい機能ですが、以下を想定しています。totd.conf に以下のパラメータを指定できるようにすること。
|
上記の設定にマッチしたものはIPv4->IPv6変換しないでそのままIPv4アドレスを返してくれるようにすること。問い合わせた全てがIPv4->IPv6変換されてしまうと言うのもちょっとつらいかなー。と言うのでこのオプションを作る予定。
誰か、既に作った方いますかー?;-)。
Athlon64 X2 で動作する PC と Core2Duo で動作する二台の PC を持っている。今回はこの二台で FreeBSD の make によるベンチマークを行ってみました。
まず対戦する相手の説明をば。
・FreeBSD/amd64 7-STABLE Athlon64 X2 4000+ 2.20GHz memory 4GB (dmesg)
・FreeBSD/i386 7-STABLE Core2Duo E4400 2.00GHz memory 2GB (dmesg)
ベンチマークは以下のコマンドを実行。SMP カーネルなのでどちらも -j2 しています。
1. /usr/bin/time make -j2 buildworld
2. /usr/bin/time make -j2 buildkernel KERNCONF=YOUR_KERNEL_HERE
さて、結果ですが・・。
1. の結果
・Athlon64 X2 4000+
3030.97 real 4522.13 user 614.92 sys
・Core2Duo E4400
2183.98 real 3144.26 user 354.30 sys
圧倒的な速さで Core2Duo が勝利を納めたように見受けられます。が・・。Athlon64 X2 のほうは FreeBSD/amd64 で WITH_LIB32=yes としているので、実質的に 64bit と 32bit のライブラリの両方を作成するため、まぁ、ある程度はしかたがないか。と言う感じでしょうか。
そうなると、64bit OS を使わずに 32bit OS 使えば良いじゃん。と言うことになるのですけど;-)。
2. の結果
Athlon64 X2 4000+
590.23 real 682.11 user 75.44 sys
Core2Duo E4400
707.93 real 729.90 user 74.88 sys
今度はカーネルの make であるため、特に足を引っ張る要素が無い Athlon64 X2 の勝ちです。これはどうしてだろう?カーネルコンフィグファイルもそんなに違いがないのだけど・・。純粋に CPU パワーの差が出た。と言うことかな?
後、dmesg を見てもらえば解ると思うけど、S-ATA コントローラが SATA300 に対応しているのが Core2Duo なマシン、Athlon64 X2 なマシンは SATA150 でしか無いので、ディスク I/O はフツーに考えるなら Core2Duo のほうが速いのだけど。
そもそも OS が違うのでこんなことやってもまるで意味が無いのか?f(^^;;。
まぁ、ちょうど両方のマシンで cvsup したのでタマタマ情報を採ってみただけなんですけど、結論を出せ。と言われると「一勝一敗だね。」って感じでしょうか・・。
ちなみに、最後に make installkernel の結果も採ってみたけど・・。
Athlon64 X2 4000+
9.73 real 6.24 user 1.34 sys
Core2Duo E4400
12.56 real 7.76 user 2.35 sys
これまた Athlon64 X2 の勝ちだ。SATA300 って速くない? ICH8 Serial ATA Storage Controller っW遅いの?
なんか、シメがいまいちで申しわけ有りませんでした・・。
FreeBSD-users-jp な ML でも話題になったのだけど、ログインすると scim が core をデスクトップに毎回吐き出してくれる。と言う件。
僕は KDE3 で skim+scim+ja-scim-canna を利用しているのだけど、この環境でもきっちりと core を吐いてくれるのでいいかげんウザイと思っていた。
しょーがないのでそろそろなんとかするべか。と思い、KDE3 上の 「skimを設定」の画面から「KDE の起動時にskimを開始する」のチェックを外してみることにした。
すると今度はログインしたときに skim が起動してくれなくなるので ~/.xsession から以下のスクリプトを起動するようにしてみた。
|
でもって .xsession では以下の記述を追加。startkde する前に skim を実行することにしてみた。
|
するとまぁ、なんとなー。core を吐かなくなったじゃないのさ。すんばらしー。
なぜ、こんな設定にしたのか?と言えば、もしかしたら KDE と skim の起動順序に問題があって core を吐くんじゃないのかな?と、なんの根拠もなく、ただ漠然と思い、試してみただけのことなのでした(^^;;。
ちなみに僕は kdm からログインして ~/.xsession を参照するようにしています。kdm の起動に関係するファイルは /usr/local/share/config/kdm/Xsession になるのだけど、この最後の部分を以下のように変更しています。
|
これで、kdm のメニューの部分のパラメータが $1 に入るのでそれを ~/.xsession に渡すことができます。後は ~/.xsession で好きな設定をすることにより、自分の好きに起動するプログラムを変更します。
と、言うのはその昔、FreeBSD Press の 「gnome と KDE の特集」で書いたことがあるなぁ;-)。
さてと、これで scim が core を吐かなくなったわけだけど、gnome は使ってないので、gnome での動作は解りません。もしかしたら、scim-setup で設定できるかもしれないですが、僕には解りません;-)。