普段はデスクトップに FreeBSD や MacOSX を使ったりしているのだけど、会社で MS Office を使うときだけは WindowsXP を利用している。メールの読み書きやサーバ・ルータの設定・検証などは FreeBSD を使っているのだけどね。
で、ワードを利用してた時に、MS IME が一発変換してくれない場合に単語登録したいときが多々有るんだけど、「単語登録」の画面がちぃともでない・・。色々調査した結果、明らかに MS IME のバグである現象を発見した。
MS IME で単語登録のウィンドがでないので単語登録ができないのです・・。
で、どんな時に単語登録のウィンドが表示されないのかと言うと、MS IME のツールバーを Windows のタスクバーの中に入れてしまっている場合に発生します。
なので、単語登録を行いたい場合は、MS IME のツールバーをタスクバーの外に出してから「単語登録」すると単語登録のウィンドが表示されるようになります。
ねぇー。明らかに MS IME のバグでしょー。これはどう考えても仕様では無いと思うのだけどねぇ。
前回の続き です。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変換されてしまうと言うのもちょっとつらいかなー。と言うのでこのオプションを作る予定。
誰か、既に作った方いますかー?;-)。
つい最近、Leopard の 10.5.3 アップデートが出たので適用してみたが・・。
USB 回りぼろぼろね・・。iPod 以外の何かしらの USB デバイスを差すとすぐにカーネルパニックで「電源ボタンを押せ。」ってメッセージが出力されるX-(。
特に携帯電話ではその事象が激しく現れる。全然ダメじゃん・・。
後、気がついた点としては VMWare Fosion を起動して携帯電話をマスストレージモードで接続しても自動認識して自動マウントしてくれなくなったし。そもそも、MacOSX 側で携帯電話のマスストレージモードを認識しなくなったのがいけないんだけど・・。以前は(と、言っても 10.4.8 の話だけど) iPhoto がサクッと起動していたのになぁ・・。
と、言うことで、MacOSX で USB デバイスは使いたく無くなりつつあるなぁ。ぶつぶつX-|。
なお、今回のカーネルパニックの原因は IOUSBFamily が起因している。USB デバイスを接続するとこいつがパニックしている。kextstat(FreeBSD で言うことろの kldstat) で見るとコイツがロードされているのだけど、これ kldunload してやろうか。まったく。
でもって、携帯電話のマスストレージモードを認識するのが IOUSBMassStorageClass なんだけど、こっちについては version1.4.5 辺りからおかしくなったぁー。って話があちこちで聞かれるのでまぁそれはそれでよしとして・・。本当は全然良くないんだけどね・・。ぶつぶつ。
と、言うとこで USB デバイスが全然使えなくなった MacOSX なのでした。
あ、そーそー。ことえりのカナ入力の問題点 も相変わらず直ってないねぇ・・。もう、ことえりも使いたくなくなったよ・・。
ちょうど ATOK2008 for Mac が出るみたいなので、そっちに乗り換えようかねぇ。今は ATOK2007 の試用版を使っているのだけど、キーバインドを「ことえり風」にすると、それなりに使えるのでまぁ、良いかなぁ。と言う感じ。
唯一違うキーが C-i C-o なんだけど、これは ATOK2007 は Shift-←・→ で使えるのでまぁ、良いか。と言う感じかなぁ。
それにしても頼むよー。> Apple。
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 で設定できるかもしれないですが、僕には解りません;-)。
ちょっと前の記事で ASUS M2A-VM HDMI で PC を組み立てて FreeBSD を動かした。と言うのを書いた。
この時はまだ xorg で AMD690G が vesa しか動かないので GeForce 7300LE を利用したと書いたけど、FreeBSD 7-STABLE になって ports-current を利用していると xorg も随分とバージョンが上がったのでイヨイヨ AMD690G のグラフィックスチップが動くようになった。
ぱちぱちぱち。X1250 互換なんだけど radeonhd ドライバで動きます。ちなみに今利用しているバージョンは以下の通り。
・xorg-7.3_1
・xorg-drivers-7.3_1
・xf86-video-radeonhd-1.2.1
この環境だと xorg が動きます。xorg.conf は Section “Device” で以下のようにするだけ。
|
非常に簡単にあっけなく動いてくれました。
さて、使ってみた感想ですが、ふつーの 2D は特に遅いとは感じないです。僕は FreeBSD で 3D は体験しないのでそれについては良くわかりませんが、drm が利用できないので mplayer は動画の再生をフル画面で表示することができません。その辺りはちょっと悲しいかな。
後、前の記事で書いていて気がついたのだけど、今回も FF ベンチを試してみたけど AMD690G の X1250 互換チップでは LOW で 3800 しか行かなかった・・。前の記事では GeForce 7300LE で 6000 を超えた。と書いているので、その差たるや歴然か・・。ふむー。
まぁ、消費電力などのことを考えるとオンボードチップを使った方が良いと思われるのでこの際我慢して使うことにしようかねぇ;-)。
付録で以下の二つを付けておきます;-)。
・Xorg.0.log
・xdpyinfo
僕は 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 の設定をする必要があります。以下がその設定になります。
|
ちなみに僕が管理している smbd・nmbd のサーバ側の文字コードに関する設定は以下になっています。この設定は Windows や MacOSX からは無事に日本語が表示できています。
|
どうやら konqueror 側からは UTF-8 でアクセスしなければならない。ということのようですね。サーバ側は EUCJP-MS であるのに。ということがわかります。では、僕は KDE3 をどの LANG で使っているのか?と言われれば、以下のようになっています。未だ EUC-JP を利用しています。以下は starkde を実行する前の ~/.xsession で設定しています。
|
さてと。これで konqueror で smb:// は日本語文字を正しく表示できるようになりました。嬉しいことです。