![]() |
running-dog.net。しかし、自分が一番落ち着かない。かけまわっている子犬のような状態。そんな毎日をブログで綴ってみました。 FreeBSD・PC・UNIX・プログラム・MacOSX・iPhone3G ネタなど技術的・趣味的なネタについて色々書いてみたいと思います。 また、最近は Microsoft Windows ネタも増えてきたかなぁ。などとも思っておりますが、併せて宜しくお願いします。 |
|
カテゴリー:ports・packages
検索
カテゴリー
フィードを取得
Special Thanks.
Please click now!!
virtualbox-ose-3.1.2 を X11 無しで利用する。
FreeBSD の ports current を追いかけていると virtualbox が oes 3.1.2 にバージョンアップしました。でもってこれを make すると X11 有り/無し が選択できるようです。
デスクトップに FreeBSD がある場合には WITH_X11=true で make したほうが全然良いのであります。しかし、WITHOUT_X11=true で make するのはどんな時かなぁ?と、悩むのですが、おぉ。自宅のサーバは FreeBSD/amd64 で運用していて、こいつはサーバなので X11 無しだよー。
ってことは、FreeBSD で稼働しているサーバ上では WITHOUT_X11=true で make して virtualbox をバックグラウンドで起動すれば、Windows 2008 R2 が FreeBSD 上で動作するんでないかい?などと思ってしまうのであります。ハードウェアは一台なんだけど、サーバは FreeBSD と WindowsServer の両方が動作する自宅の環境ができあがるわけです;-)。
#どんな「自宅だっ!!??」って突っ込みは無し。と言うことで;-P。
と、言うことで早速トライしてみましょう。今回用意するものは以下になります。
・FreebSD/amd64 7.3-PRERELEASE X11 がインストールされているデスクトップ機
・FreeBSD/amd64 7.3-PRERELEASE もしくは FreeBSD/amd64 8.0-RELEASE がインストールされているサーバマシン。こちらは X11 が入っていません。
デスクトップ機では WITH_X11=true で emulators/virtualbox-ose を make してインストールします。サーバマシンでは WITHOUT_X11=true で emulators/virtualbox-ose をインストールします。準備は整いました;-)。
まず、デスクトップ機で VirtualBox を起動します。KDE4 の場合、[「K」メニュー] -> [システム] にあります。
過去に一回でも VirtualBox を起動していると $HOME/.VirtualBox/ と、言うディレクトリが存在しているのでこれを一旦 mv ~/.VirtualBox ~/.VirtualBox.save としてから VirtualBox を起動しましょう。
起動後は 新しいバーチャルマシンを作成します。今回はライセンスの関係で Windows7 Profesional x86 を利用しました。バーチャルマシンの「設定」はサーバマシンのハードウェアに合わせます。フロッピーとかサウンドカードが無い場合にはどんどんオフにしたり削除します。
で、Windows の CD イメージをマウントしてインストール作業。インストールができたらデスクトップ機側の作業は完了です。なお、Windows7 の設定は今のうちに色々やっておいたほうがラクチンです。僕の場合は、ネットワークの設定を行いました。ブリッジにしてネットワークは自宅 LAN 内の固定アドレスを指定しています。ネットマスクは 255.255.255.0 です。
・デスクトップ機 192.168.10.110
・サーバマシン 192.168.10.3
・Windows7(ブリッジ) 192.168.10.7
設定ができたら Windows7 をシャットダウンしましょう。あ。ちなみに僕のデスクトップ機とサーバマシンでは共に NIC が re0 なのでラクチンなのであります;-)。
続いてサーバ側で Windows7 を起動するための準備をします。まず、デスクトップ機の ~/.VirtualBox をサーバ側に持っていきます。次に、やはりデスクトップ機でインストールした Windows7 のディクスイメージもサーバ側に持っていきます。この時に、デスクトップの VirtualBox の環境とまるっきり同じにします。
準備ができたらサーバ側で早速 Windows7 を起動してみましょう;-)。起動するためにちゃんと認識しているか確認します。なお、 VirtualBox の起動は一般ユーザ権限で問題ありません。
|
認識したみたいですね。続いて以下のコマンドはどうでしょう?
|
たくさん出力されるので詳細は割愛しますが、Windows7 Profetional と VirtualBox の詳細が表示されます。他にも VBoxManage には色々なオプションがあるので -h で確認してみてください。
|
などすると オーディオデバイスがオフにできたりします。
では次に Windows7 を VirtualBox 経由で起動してみることにしましょう。
|
ふふふ。コマンドラインから起動できました。ネットワークの設定はブリッジなので 192.168.10.7 に対して ping など打ってみます。Windows7 の起動時のログは以下に出力されます。確認すると良いでしょう。
cat $HOME/.VirtualBox/Machines/Windows7 Profetional/Logs/VBox.log
ログには色々な情報が出力されますが、その中に
00:00:46.408 Guest Log: VBoxService.exe: Started. Verbose level = 0
と、表示されたら Windows7 が起動したことになります。おーーっ。ぱちぱちぱち。
後は、rdc クライアントで接続っと;-)。
で、試したのですが、ポートは開いているみたいですが、黒い画面で接続できませんでした。orz。RDC プロトコルはライセンスの問題があると言うのだけどねぇ。その影響で画面が表示されないのかしらねぇ・・。
ちなみに、デスクトップ機で VirtualBox を利用せず VBoxHeadless コマンドで Windows7 を起動した場合はちゃんと RDC プロトコルで接続できるんですけどねぇ。X11 が無いと接続できないのはちょっとおかしくね?って感じなのです・・。
しゃーないので、デスクトップ機で再度 Windows7 を起動して VNC サーバをインストールします。再起動後に VNC サーバが有効になっていることを確認したらシャットダウンで再度、サーバマシンに持っていってトライっ!!
って感じでやれば、X11 が無い環境でも Windows7 がブートするのであります。今回はデスクトップ機側で設定した VirtualBox の設定をそのままづるづると引きずるすごい簡単な方法です。環境を準備するのが大変なことがあるかと思います。その場合は VBoxManage をコマンドラインから実行することになるので、ドキュメントとか読んで頑張ることになるのでありますぁ;-)。
あ。Windows のアクティベーションの事には触れていませんが、ディスクイメージがあってあちこちでバーチャルな環境を起動した場合、僕はどうなるか知りません。ライセンスはちゃんと守るのが良いかと思われます。私の場合、これは「検証」です;-)。
更に、あぁ。っ!!。 Windows7 の止め方を書いてなかったですね。以下のコマンドで停止します。オプションは色々あるので好きなのを選んでください。
|
かしこ。
emacs-canna の ports。
ports CURRENT の editors/emacs が emacs-22.3 から emacs-23.1 になったようだけど、japanese/ の下の emacs は相変わらず emacs-22.3 ぽいので、以前このブログに掲載した emacs-canna の ports を作ってみました。
基本的には editors/emacs を japanese/ にコピーして Canna for GNU Emacs23 からパッチを取って来て make している感じです。なので、ベースは emacs-23.1 で、インストールされるものも editors/emacs とまるっきり一緒のはずです。
以下の URL に転がしておいたのでもしよろしければ使ってみてください。
http://www.icmpv6.org/Prog/FreeBSD_ports/ports-emacs-canna-20091221.tgz
この ports について、その筋の人に色々お聞きしてみたのですが、一番多い意見が send-pr すればぁ。ってヤツでしたが、正しくその通りだとは思います。が、まぁ、自分で使っている分にはどーでもよいかぁ。みたいな感じで(^^;;。
後、ports の editors/emacs に吸収してもらえばぁ。って意見も頂いて、これは確かに「なるほどー。」とか思いましたね。 options に WITH_CANNA=yes とか指定できれば、 Canna for GNU Emacs23 からパッチをダウンロードして来て適用する。ってので済むのでこれは確かにラクチンだし、emacs の ports があちこちにできなくて済むのでそれはそれで嬉しいのだけどねぇ・・。
とまぁ、そんなそんなことは思っても結局はどっかそのへんに転がしておいて終ってしまいそうな予感なんですけどね(^^;;。
cvsupd を faithd を使って IPv6 化。
以前は cvsup(net/cvsup-without-gui) を利用していたのだけど、最近は csup(1) を利用して ports とか STABLE の最新のソースを持ってくるようになった。
csup(1) は IPv6 に対応しているのだけど、 cvsupd(net/cvsup-mirror) が IPv6 に対応していないくて、IPv4 でしか応えてくれないので、csup の一発目は必ずエラーになる。
あ。僕は自宅のサーバに cvsupd を起動しているので cvsup3.jp.freebsd.org とかから定期的に持ってきているので、自宅の FreeBSD は自宅で起動している cvsupd なサーバから持ってきています。cvsup.icmpv6.org がそれになるわけですけども;-)。
で、自宅のネットワークには IPv6 があってウェブとかメールサーバは IPv6 に対応しているのに cvsupd が IPv6 に対応していないのは非常に悲しいので、今回 cvsupd を IPv6 に対応させてみたいと思います。ただ、net/cvsup-mirror のソースコードを改変して IPv6 対応するのは非常に大変なので、今回はネットワーク的に IPv6 への到達性を確保します。IPv6->IPv4 トランスレータ機能を利用します。お題目は以下です;-)。
faith0 インターフェースと faithd を利用して cvsupd を IPv6 対応にしてみましょう。
まぁ、まずは何はなくとも man faithd と叩いてみましょう。そこから始まりますが、man を読んで解った事は、アドレスプレフィックス部分の /96 と IPv4 アドレス部分の /32 に分かれていて、IPv4 部分で IPv4 サーバを特定してそこにパケットを投げますよ。みたいな感じです。
では早速設定を見ていきましょう。今回のネットワーク構成はこんな感じにしてみました。

以下にちょっと箇条書きにしてみます。
さてと。これだけでほぼ準備が整いました;-)。
まず、cvsupd サーバでの設定ですが、 faith0 インターフェースに飲み込まれる IPv6 プレフィックスを route(8) で設定します。その後、faithd を起動して特定のポートを faith0 に飲み込むようにします。
起動スクリプトは以下になります。rcNG ではなくて申しわけないですが(^^;;。
|
まず最初に sysctl で必要な mib のステータスを変更します。 ifconfig faith0 up した後に route add してから route change します。この時、プレフィックスは /96 です。残りの /32 は IPv4 アドレスになります。
今回の cvsupd サーバは 192.168.1.2 が付いているので、それを IPv6 に直すと以下になります。
2001:200:161:1400:5999::c0a8:102
この IPv6 アドレスを DNS に登録します。すると、csup コマンドを叩いた時に supfile の *default host 行に FQDN を書けば IPv6 でアクセスが可能になります。
と、思いきや・・。外部の FreeBSD からだとアクセスできないですね。 IPv6 ルータは 2001:200:161:1400::/64 ではルーテイングが設定してあるのですが、2001:200:161:1400:5999::/96 のルーティングができていないので IPv6 ルータに対して route add コマンドで 2001:200:161:1400:5999::/96 を cvsupd が起動しているサーバのリンクローカルアドレスに向けて上げます。
|
これで設定は全て完了です。外部の IPv6 機器から接続できるか確認してみましょう。
トラブルシューティングですが、まず、cvsupd サーバのローカルホストから telnet cvsup.icmpv6.org 5999 などと FQDN で指定し cvsupd に接続できるか確認してみましょう。
そこで問題があれば、指定したプレフィックスが /96 になっているか、IPv4->IPv6 の変換時の IP アドレスや DNS の設定、faithd 、sysctl mib などを見直してみましょう。
外部から接続ができない場合、DNS のアドレスの設定の確認と、IPv6 ルータでの /96 のルーティングの設定を確認しょう。
今回は faith0 と faithd の設定を見てきましたが、これらは tcp しか通過できません。 udp には対応していないんですね。そもそも faithd は KAME のリファレンスコードなので「tcp は実装するけど、他のプロトコルは自分で書いてね。」的要素が強いのかな?などと、僕個人的には思っています。
tcp しか通らないので、当然 ping や traceroute も通りません。tcping は IPv4 にしか対応していないし・・。とわいえ、ume さん が tcping の IPv6 対応パッチを書いてくださったのでそれを適用した tcping を利用すると良いかと思われます。以下の URL にパッチを転がしておきます;-)。ports の net/tcping で利用してください。
http://icmpv6.org/Prog/FreeBSD_ports/tcping-ipv6.diff
さてと。これで cvsupd サーバは IPv6 Ready になりました。このサーバ上で IPv4 にしか対応していない色々なデーモンを起動すればなんでも IPv6 Ready になります。では、IPv4 にしか対応していないデーモンは一体何が?とハタと考えた場合、古いソースコード(バージョン)で運用しているデーモンとか位しか思い浮かばなかったのですが、DSS(net/DarwinStreamingServer) なんかは IPv4 にしか対応してないので、こう言ったものを IPv6 Ready にすることが可能です。その場合、必要なポートを指定して faithd を起動する必要があります。DSS であれば以下のように感じでしょうか。上記のスクリプトに加筆します。
/usr/sbin/faithd 554
/usr/sbin/faithd 5000
/usr/sbin/faithd 5100
などなど、必要そうなポートにたいして faithd を起動するとそのポートに来たパケットは faith0 に突っ込んでくれるようになります;-)。
で、ここでまた、ハタと考えた・・。Apple 謹製の QiuckTime Player は IPv6 に対応しているのかぁ? あぁ。multimedia/mplayer で試せば良いかぁ。みたいな(^^;;。
大体こんな感じで faith0 と faithd を使えば比較的楽に楽しく利用できるかなぁ。と思った次第です。本来であれば IPv6->IPv4 トランスレータとして、dns/totd と組み合わせて使う大掛かりなルータってイメージがあるんだけど、ローカルホストのために利用する faith0 と faithd というのもまたアリかなぁ。と言う感じがあるのであります;-)。
Thunderbird-3.0 を FreeBSD/amd64 で。
ちょっと前に正式にリリースされた Thunderbird-3.0 ですが、今日 ports を csup したら登場したみたいなので早速利用してみました。
Thunderbird-2.0 と微妙に違うのですが、メールボツクスの並び方が MacOSX の Mail.App みたいに、受信ボックスごととか、ゴミ箱ごとに並ぶようになったのでそれはそれで嬉しいなぁ。と思い、WindowsXP と会社の FreeBSD/i386 7.2-STABLE、後自宅の FreeBSD/i386 7.2-STABLE と FreeBSD/amd64 7.2-STABLE にインストールしました。
僕の使い方としては、Thunderbird を imap4 で利用して spam フィルタとして利用した後、emacs+mew で POP して来ると言う感じなたんだけどねぇ。けど、その横では MacOSX の Mail.App からやはり imap4 でアクセスする。と言う結構複雑な状況;-)。
さて。Thunderbird-3.0 ですが FreeBSD/i386 ではちゃんと動くんだけど FreeBSD/amd64 ではcore dump して動作しない。よくよく調べてみると Firefox35 も Flash があるとやはり core dump して動作しない。
flashplugin 周りの ports を入れたり消したり devel にたりしたけど、やはり core dump する・・。
後、驚いたのが Thunderbird-3.0 は Firefox のプラグインも参照するのね。考えてみると /usr/local/lib/npapi/linux-flashplugin なんてディレクトリはないさー。/usr/local/lib/npapi/linux-f8-flashplugin ならあるんだけどね。大丈夫なのか・・。環境をもう一度見直す必要があるのかな?
で、結局 plugin 周りをいじったのだけど、だめだった。相変わらず core dump の嵐。ゲームセンター嵐。なんのこっちゃ;-P。
Thunderbird とか Firefox には -g と言うgdb 経由の起動オプシンがあるのですが、それで確認してみると以下のメッセージが・・。
|
ふむー。pango 辺りで起きているのね・・。インストールされているバージョンは pango-1.26.1 。これを再インストールしたけど、治らない・・。
で、google で探してみたら以下の URL を発見・・。orz
http://forums.freebsd.org/showthread.php?t=8859
よくよく読んでみると pango を 1.24.5 にすれば動作するらしい。かなしぃなぁ・・。
僕は gnome ではなく KDE4 を利用しているので pango を入れ替えた時のダメージが大きいのでどうしようか悩み中。あ、どんなダメージがあるのか想像ついてないです。もしかしたら全然大丈夫なのかもしれませんけど。
FreeBSD/amd64 は自宅で利用しているデスクトップ機でメモリ 8GByte 積んだマシンなのよ。最近は Mac でメール見たりするので無理して Thunderbird と Firefox 使わなくても良いかなぁ・・。KDE4 には konqueror があるしなぁ・・。
それにしてもまいった。pango のバージョン落とすか、もう少し待って Thunderbird と Firefox が対応してくれるのを待つかですね。
emulators/virtualbox。
FreeBSD の ports に emulators/virtualbox と言うがあるのを発見。すかさず make してインストールしてみた感想を。
最近 SUN から 3.0 がリリースされた のだけど ports でインストールされるのは virtualbox-2.2.51.r20457_3 と言うバージョン。
VirtualBox は X11 ツールキットに QT4 を使っているので、KDE4 を使っている僕にとっては非常に嬉しい。起動後の見栄えが KDE4 と一緒なので、それはもうまるて KDE-4.2.4 のアプリケーションの一部ではないのか? みたいな雰囲気になります;-)。
デスクトップのキャプチャはこんな感じです。クリックすると大きくなります。
KDE4 がインストールされている環境では ports から VirtualBox をインストールする分にはそんなに時間がかかりません。firefox を makeしてインストールするのと同じ位な感じかなぁ;-)。
インストールが終わったら /boot/modules/ にインストールされた vboxdrv.ko を kldload するだけ。KDE4 を利用している人は「K メニュー」から「アプリケーション」を表示させて「システム」を選択するとその中に存在しているのでクリックすれば起動します。
コンソールから起動する場合は /usr/local/lib/virtualbox/VirtualBox を起動します。珍しく /bin/ の下にないんだよねぇー。
起動後は他のバーチャル PC と特に変わりません。メモリや HDD を選択するなどしてバーチャル PC を作成して、起動(START)ボタンを押すだけ。非常に簡単です。
手元に WindowsXP の CD-ROM があったのでメディアを DVD ドライブに突っ込んで CD ブートしようとしたけど、なぜか VirtualBox は /dev/acd0 を見つけてくれなかった。ln -s /dev/acd0 /dev/cdrom としてもダメだったので FreeBSD の CD デバイスはダメなのかもしれない。
しょーがないので dd で iso イメージを作成して、それを VirtualBox に認識させたら無事に起動は完了。後は OS のインストールを待つのみとなったのでありました。
デバイス的に問題かもしれないのは CD-ROM デバイスだけで、後は特に問題もなく、NIC(bge0) も使えているし、Windows の起動音も出る(hdac0.pcm0) ので全然問題なく使える。と言う感じでしょうか。中々グーです。
まぁ、欲を言えば VMware Fusion(MacOSX 版だけど) みたいに、デスクトップ上に Windows のアプリが起動できるようになってくれたらなぁ。などと思うのですが、それはつまり X11 上に Windows アプリを表示する。と言うことになるのでちょっと無理かなぁ。と言う気はしないでもないです;-)。
しかし、それにしても FreeBSD の中で Windows が起動すると言うのもまたヘンな感じです。WindowsXP の VMware Workstation で FreeBSD は動かしたとこはあるんだけど、それよりも違和感があります。
なんだろなー。アンチエイリアスの利いたデスクトップ上でアンチエイリアスが利いていないアプリケーションを動かしているからかなぁ。
と、言うことであまりにサクサク動作しているのでちょつと驚いている状態なのであります;-)。
二つの自家製 ports を更新しました。
FreeBSD 用の ports は作った(改造した)けど、(めんどくさそうなので) send-pr してないものや、「ま。自分で使う分にはそれでいーや。」とか思っているヤツのたまり場が この辺り にあったりします;-)。
あ。唯一、作者と言うか FreeBSD.org なアドレスに連絡したのが scim-bridge-client-qt4 だ。これは必要だったので kde@freebsd.org にメール書いた;-)。後、irrd もコミッターの方にお願いして登録してもらったなぁ。
今回は自分が必要な二つの自家製の ports をアップデートしました。
一個は mew と SSL と stunnel と /etc/hosts.allow。 の記事で書いたやつ。4.26 から 4.27 にバージョンアップしたのに追随しました。また、この ports では Makefile を編集してメニューを表示するようにして --disable-libwrap を選択できるようにしています。ほんまモンのよりいたせりつくせりだと思うのだけどもねぇ;-)。
もう一個は /usr/ports/www/photo_gallery 日本語版。 の記事で書いたやつ。これは、ports が 1.5 から 1.5_1 に更新されたのでそれを追随した形です。後、apache13 をインストールしないようにしています。photo_gallery 自体は apache22 でも動作するのであえて apache はインストールしないようにしました。
とまぁ、こんな感じで send-pr はしてないけど、コツコツと更新しているのであります。きっと自分しか使わないだろうなぁ。とか思っているので;-)。
一応、それぞれの ports は以下にあります。もしよければ利用して見てください;-)。
http://www.icmpv6.org/Prog/FreeBSD_ports/ports-stunnel-disable-libwrap-20090623.tgz
http://www.icmpv6.org/Prog/FreeBSD_ports/ports-ja-photo_gallery-1.5_1-20090623.tgz
あ。コミットしてくれる方、絶賛募集中です;-)。
net-snmpd+mrtg の IPv6 化とその他もろもろ。(2)
前回は、mrtg が実質的に IPv6 に対応していないねぇ。って所で話が終わったのですが、そこから進展がちょっとあったので書いてみたいと思います。
net-snmp に対して IPv6 で接続したい人は前の記事を先に読んで 、その後でこの記事を読んでください。
さてと。物語りは前回からの続きなのですが、mrtg の config ファイルを記述した時、 Target に IPv6 を記述した場合 ifIndex でしかトラフィック情報が取得できない。と言う所で終わりました。
確かに、何度試してもダメだったので、debug オプションを有効にしてログを見つつソースコードなどを眺めていたら問題点を発見しました。最近の ports-current から mrtg をインストールするとmrtg-2.16.2,1 がインストールされるのですが、その時に /usr/local/lib/perl5/site_perl/5.8.9/Net_SNMP_util.pm も併せてインストールされます。こいつの中で Net::SNMP を呼んでいる時に -domain で udp/IPv4 しかセットしていないみたいなので udp/IPv6 をセットするようにしたら IPv6 でも一応動くようになりました。
修正分のパッチはこの辺りに置いておきます。
このパッチを適用することにより、FQDN で問い合わせした時は ifDescr でも値が取れる事を確認できました。以下におさらいしてみることにしましょう。
・IPv6 で SNMP が取得できるもの
|
taro6.running-dog.net は DNS に IPv6 のみのアドレスが登録されています。
この設定では IPv6 では ifIndex と ifDescr でトラフィック量を取得することができました。
・取得できないもの
MAC アドレス指定(FQDN・IPv6 共に)
ifDescr 指定での IPv6 アドレスを記述した場合
とまぁ、こんな感じで ifDescr で取得できるようになったのでヨシとしておきましょう。それにしても DNS は必須になってしまうのですが・・。
後、net-snmp って --enable-ipv6 で make しても snmpwalk は IPv6 に対応していないのねぇ。DNS に IPv6 のみ登録してある FQDN を指定しても「そんなアドレス知らん。」とか言われます。/etc/hosts に書いてもダメ。snmpd が IPv6 に対応しているだけにもったいないことです・・。
さてと。ここまでは net-snmp と mrtg のお話で、前回の続きの完結編。と言う感じになります。
続きまして rrdtool に行ってみましょうか。ports 的には ports/databases/rrdtool になりますが、これをインストールすると RRDs と言う perl のモジュールをインストールしてくれて RRDs::graph と言うモジュールを使うと MRTG グラフを表示してくれます。グラフを作成する際のオプションとして IPv6 アドレスが存在した場合にどうなるのか?
正解ですが、":" は区切り文字に使われているので DEF: の設定に IPv6 アドレスがあるとまともに動作してくれません。
ports 的な rrdtool-1.3.5 のソースを見てみると rrdtool-1.3.5/src/rrd_graph_helper.c に以下のような記述が所々にあり、"[]" で囲むとか "\:" などしても全然対処できないと言うことが解ります。
|
と、言うことで RRDs を使う場合には IPv6 を意識しないようにしないとまずいです。では、どんな時に IPv6 を使う必然性が出てくるのかとなるのですが、僕の場合、rrdfile と PNG ファイルの保存場所に IP アドレスを利用してる感じですね。
/data/mrtg/192.168.1.1/re1.rrd
/data/mrtg/2001:200:161:14cc::1:1/re1.rrd
でもって RRDs::graph では以下のようなコーテイングをしていたらこらアカンですわなー。
|
なので、結局 $rrdfile =~ s/:/_/g; など言う弱いことをして問題回避したのでありました。
これで、net-snmp・mrtg・rrdtools の IPv6 対応が一応終わった感じかなぁ。10Gbps 問題も回避できたし、今の所は多分これで IPv6 な世界が来ても大丈夫なような気がします。が・・。mrtg には IPv6 対応をもう少し頑張ってもらい所ではあります。
http://oss.oetiker.ch/mrtg/doc/mrtg-ipv6.en.html
こんな所読んだって Target の所がハショッて書いてありすぎで全然ダメなんだもの・・。トホホ。
くーーっ。MacOSX Leopard の /usr/sbin/snmpd は 5.4.1 使っているのに IPv6 に対応してないじゃん。 udp6:161 のオプション、そんなのねーー。とか言いやがる・・orz。これはヒサンだ・・。
つまり、どういうことかと言うと、例えば MacOSX を leopard.running-dog.net と言う FQDN で 192.168.1.30 と 2001:200:161:14cc::1:10 の二つ RR レコードを記述していた場合、mrtg.cfg の Tagrt に FQDN を記述すれば mrtg は IPv6 で問い合わせに行くことになります。
けど、MacOSX の snmpd は IPv4 にしか答えないので mrtg はエラーとなります。そして、mrtg は「IPv6 から IPv4 にフェイルオーバーしないよ。」と言う仕様なので、MacOSX への mrtg.cfg の設定における Target は FQDN ではなく、IPv4 アドレスを記述しないと正しく情報が取得できないことになります。
いやぁ・・。奥が深い・・。まず最初に監視対象機器が DNS に A と AAAA があるか確認した後、当該機器の snmpd が IPv6 に対応しているか確認してからでないと mrtg.cfg の記述が完成しないんだー・・。
と。言うこで、このネタ。ここまでにしておきましょう・・。
NotePC で xorg-7.4。そのに。
前回のつづきです。いろいろ試してみました。
hald を起動した時の問題点ですが、まず、NotePC のタッチパッドの左ボタンでダブルクリック及びトリプルクリックができない件ですが、これはパナソニックの CF-W5 のみの問題であることが分かりました。 DELL の X1 では無事にタッチパットの左ボタンが特に問題なく利用できました。
続いて、キーボードの 「む」のキーにおいて、「}」や「]」が入力できなくて、「\」キーと同じバインドになってしまう。と言う件ですが、これは xmodmap で対応可能です。以下の設定を ~/.xmodmaprc とかに保存して xmpdmap で実行してあげればキーバインドは刻印通りに動作します。
|
! }] key setting |
と、言うことで hald 経由でも特に問題無く動作することの確認が取れました。前にも書いた通り、PS2 のマウスとキーボードを利用している場合には hald を起動する必要はなく、 xorg.conf に AutoAddDevices を false にしてキーボードとマウスの設定を利用したほうが楽かもしれません。
PS2 (タッチパッドなど) は標準で使うけと、時々 USB マウスやキーボードを使いたい。と、言う場合には hald を起動したほうが良いと言うことでしょうなぁ。
ちなみに、hald 経由の場合だと、USB のマウスやキーボードを抜き差ししても全然問題なく動作します。ただ、PS/2 キーボードがある環境で USB キーボードを付けた場合、USB キーボードで文字入力はできますが、PS/2 キーボードでは入力を受け付けなくなります。まぁ、当然と言えば当然か。
けど、マウスは PS/2 と USB の両方のマウスが動作します。さすがは /dev/sysmouse って感じでしょうか。この時、ps で確認したら USB マウスを付けた段階で moused が起動しますねー。けど、マウスや X の動作には全然問題は無いので敢えてデーモンを kill することも無いでしょう;-)。
さてと。僕の環境では xorg-7.4 の設定はこれにて全てしゅーりょー。いやぁ。良かった良かった;-)。
NotePC で xorg-7.4。
FreeBSD の ports の最新をおっかけていると xorg が 7.3 から 7.4 になり、X が起動しねー。とか、マウスが動かねー。キーボードが 101 だぁー。などとあちこちで大騒ぎのようです。まぁ、僕もそーだったのですけどね。
けど、、なんとか動くようにしたのでありました。僕は会社のもひっくるめて、デスクトップ二台、NotePC で二台の計四台の PC で X11 が動作しています。
デスクトップの場合、PS/2 のマウスとキーボードを利用しているぶんには非常にラクチンで、Section "Files" から RgbPath を取り去った後に以下の設定を記述すれば大丈夫です。まぁ、Xorg -configure した後にできた xorg.conf.new を利用したほうが楽ですけどね。
|
Section "ServerFlags" |
この設定を入れると xorg.conf に記述したキーボードとマウスの設定が有効になります。その時、 moused は起動してはダメになります。なので、マウスの設定の所は Device において /dev/sysmouse ではなく /dev/psm0 を指定することになります。これでマウスがちゃんと動くようになりました。めでたしめでたし。
後、キーボードのほうですが、ServerFlags の所で二つのオプションを追加しているので xorg.conf の内容をそのまま引きずってくれるので jp106 とか ctrl:swapcaps の設定は有効になったままとなるでしょう。
とまぁ、PS/2 のマウスとキーボードのみを利用した環境であれば特に問題はないのですが、NotePC のように普段はタッチパッド(こっちはたいていの場合 PS/2 として認識される)を利用するけど、時々は USB マウスを接続して利用したい。と言う場合もあるわけです。
その場合、Section "InputDevice" の mouse の設定をいちいち /dev/psm0 から /dev/ums0 に書き換えて、X を再起動してからでないと利用できません。後、タッチパッドと USB マウスの同時利用と言うのもできなくなります。あれまー。不便ですねぇ・・。困りましたねぇ。
このような場合はやはり、hald を起動して PS/2 と USB のマウスを認識させるしか手は無いのであります。同時に利用したい人はまずはともあれ hald を起動して、moused を停止しましょう。なお、/etc/rc.conf において moused_enable="NO" と記述していても USB マウスを接続したとたんに moused が起動してしまう場合がありますが、とりあえずは無視して起動状態としておいても大丈夫でしょう。
続いて xorg.conf の設定ですが、マウスとキーボードの認識を hald で行うようにしたので上に書かれている ServerFlags セレクションの設定二行を削除します。
そして、/usr/local/etc/hal/fdi/policy/10-keyboard-jp106.fdi と言うファイルを用意し、以下の記述をします。
|
<?xml version="1.0" encoding="UTF-8"?> |
まあ、書いている内容は xorg.conf に書いた内容を XML 形式にしただけ。と言う感じでしょぅか。
準備ができたら hald が動作していることを確認しつつ、しかし新規にファイルを設置したのでいったん停止して再起動しつつ、 X を再起動してみましょう。
これで無事に起動したでしょうか? そしたら、PS/2 マウスと USB マウスが、両方動くことを確認します。続いてログインし、キーボードが 106 になっていることを確認して、CAPS キーと Ctrl キーもちゃんと入れ替わっていることを確認します。
しかし、hald 経由でキーボードとマウスを認識させたら、問題点が二つあるみたいです。
一個は僕の NotePC 固有の問題かもしれませんが、タッチパッドに付いているマウスの左ボタンでトリプルクリックができなくなりました。一行まるまるコピーの場合にトリプルクリックを利用するのでけすけど、それができない。ついでにダブルクリックもできない・・。トホホ。ちなみに USB マウスでは正常に動作しています。
二個目の問題ですが、キーボード入力で "け" の右横のキーの入力が出来なくなりました。"かっことじ" と "mu" のキーが "へ" の右横の "\" のキーと一緒になってしまいました。これは xmodmap で直せるかなぁ・・。
ちなみにこの記事を書いているキーボードが、既に打てない状態となっていますf(^^;;。
もし、正常に動作しない場合は /var/log/Xorg.0.log を確認してみましょう。どう言う風に確認するのかと言えば・・。動かない。とコメントに書いてください(^^;;。
なお、今回の設定ではコンソールのとこは考慮していません。僕はコンソール画面においてはマウスを利用しない人なので、コンソールでのマウスの挙動は良く分からないのです。
けど、せっかくなので、PS/2 版の xorg.conf と hald 版の xorg.conf を以下に置いておきますね。
・PS/2 マウス版 xorg.conf
・hald 版 xorg.conf
なお、上のほうは moused が起動している必要があります。下のほうは moused は起動していなくとも良いが hald が起動している必要があります。hald が起動している場合はポリシーファイルが必要です。
つづく。
mew と SSL と stunnel と /etc/hosts.allow。
さてと。話せば長いのであります。mew では IMAP4 や POP3 に対して SSL で接続できます。 ~/.mew の設定や ~/.certs/ に必要なファイルをほーりこむ設定については他のウェブページに譲りたいと思います;-)。
ここでは、他のウェブページを見て設定しても接続できない人がきっと参照してくれることでしょう。と、言う感じでまとめます。特に FreeBSD の ports から stunnel をインストールした人向けです。
最初に答えを言いましょうっ!!。 /etc/hosts.allow で localhost の stunnel のポートを許可しないと接続できませんっ!! /etc/hosts.allow に以下の設定をしている人は mew での SSL 接続がきっとできないことでしょうっ!!
| #ALL : ALL : allow |
さてと。それでは順番に見ていくことにしましょう。 FreeBSD を利用している人は大体 ports から必要なものをインストールするかと思います。emacs+mew で SSL な POP3 もしくは IMAP4 なサーバに接続しようとした時は /usr/ports/security/stunnel が必要なので、サクッと make install しておしまい。で、早速テスト。って感じかと思います。
mew が SSL するときは stunnel 用の設定ファイルを /tmp/takachan88831JOY/mew88831rod みたいな感じで作成します。このファイルが stunnel のオプションになるわけですが、中身は以下のようになっています。
|
client=yes |
mail.running-dog.net のポート 993 番に接続するための SSL トンネルは localhost の ポート 10841 に telnet して確認できます。まぁ、mew が IMAP4 を叩くポートが 10841 と言うことですね。これは解りやすい。
で、実際に telnet 127.0.0.1 10841 しても SSL トンネルをまるで抜けていきません。おかしいなぁ。と思って色々調べてみると、原因は stunnel が libwrap をリンクしていると言うことなんですね。これが解るまでに四時間位かかりました。orz。
mew 側の設定で localhost のポート番号を設定できるのか?もし設定できるのであれば、そのポートだけを /etc/hosts.allow で設定すれば良いと思いソースを見て調べてみましたが、どうやらできないみたいです。mew-6.2.50 の mew-ssl.el では 130 行目辺りで localport を mew-random を利用して生成しているみたいです。と、言うことで、mew 側ではどうやら設定不能みたいです。
続いて、/etc/hosts.allow に stunnel: ALL : allow とか stunnel4: ALL : allow など色々試しに設定してみたのですが、inetd 経由や デーモンモードで動作する stunnel では有効になるのですが、コマンドベースで利用した場合の /etc/hosts.allow の記述方法が解りませんでした・・。トホホ。
それならば、と言うことで stunnel の Changelog やらソースを眺めますが、おぉっっ!! configure オプションに --disable-libwrap と言うのがあるではないですかっ!! すんばらしい。とは言いつつ、FreeBSD の ports では --disable-libwrap を選択できるオプションが無いのでありました。無条件で libwrap はリンクされてしまう。トホホ。
と、言うことで --disable-libwrap を選択できる ports を作成しました。使いたい方は利用してください。
ports-stunnel-disable-libwrap-20090123.tgz
まぁ、Makefile をチロッと直しただけなんですけどね。
これで安心して mew で SSL が利用できることでしょう。まずは良かった。良かった。
けど、解決策はそんなんで良いのかなぁ? mew 側で吸収すべきか stunnel 側で吸収すべきか。どっちが良いのかなぁ・・。kazu さん 的にはきっと、libwrap を off にしましょう。って言うような気が、しないでもないこともないと、僕は思うのですけどねぇ・・。
FreeBSD で flash9。
FreeBSD、僕は7.1-STABLE を利用しているのだけど、ちょっと前に Users-ML で話題になった。
FreeBSD-users-jp 91899 からのスレッド ですねぇ。
このスレッドの中で ume さん が、その対処法を書かれているのです。
作業内容は以下みたいな感じですかねぇ。
元々 linux_base-fc4 が入っていたので /etc/make.conf に
| OVERRIDE_LINUX_BASE_PORT=f8 |
と設定します。続いて、
| sysctl compat.linux.osrelease=2.6.16 |
してからいよいよバージョンアップです。
|
# portupgrade -o emulators/linux_base-f8 linux_base-fc4 # cd /usr/ports/emulators/linux_base-f8 # make install # portupgrade -f linux-\* # cd /usr/ports/www/linux-flashplugin9 # make install |
最後にプラグインのコマンドを実行します。
| $ nspluginwrapper -v -a -i |
これで良いはずなんですけど、これで確かに flash9 が動作するのですが、遅い・・。yahoo.co.jp とか watch.impress.co.jp は最近、flash の CM があるのだけど、これを表示する時にむちゃくちゃ遅いっ!! 記事を真ん中クリックして別のタブに表示させるんだけどそこに flash があると平気で 10 秒以上凍りつき、応答がなくなる firefox3。
もうウンザリ・・。flash7 に戻すべや。とか思っていたら、回避策を教えていただきました。ありがとうございます。 ume さん;-)。
原因は linux-glib2 です。linux_base-fc4 で利用していたこれを削除して、再度インストールしなおせば劇的に速く動作するようになります。
その手順は以下のような感じ。
|
# pkg_deinstall -f linux-glib2 # portupgrede -f linux_base-f8 # pkgdb -F |
これをやることにより劇的に速く表示してくれるようになります。いやぁ。良かった。flash7 と同じ位の動作で、ストレスも感じません。
ちにみに /usr/ports/devel/linux-glib2 はインストールする必要は無いみたいです。linux-glib2 は fc4 用で、fc5 以降は自前で glib2 を持っているので必要無いみたいです。
#だけど、インストールできちゃうんだよなぁ・・。
良かったです。ありがとうございました。
DSS のカン違い。
僕はストリーミング用に自分で DSS を立ち上げているのだけど、なんか、今まで思いっきりカン違いしていることを発見した・・。
録画した動画を QuickTimePro でストリーミング用に書き出した mov ファイルは DSS 上で必ず「プレーリスト」を作成してからストリーミングしていたのだけど、その必要って全くなかったのね。素直に URL に mov ファイルを指定するだけで再生できたんだ・・。
どおりで .sdp ファイルが各種ブラウザで対応していないわけだ・・。ちなみにプレーリストを作成すると、rtsp://qtss.icmpv6.org/test.sdp とかなってプロトコルも拡張子も対応されていなかったのでした。
で、これらは HTML で吸収できるのか?とか思ったけど goolge で探し回ってもその例がほぼ存在しない・・。これは mov ファイルを http:// でアクセスするんだな。と言うことになるわけです。「プレーリスト」は必要なし。
と、言うことで過去のストリーミングはこれでは全然ダメと言うのが良くわかった。新しいのはこんな感じ。今度はちゃんとブラウザも認識してくれる書き方だよー。
電車からの風景
http://motsuyaki.org/Movies/20080616.qtl
http:// でアクセスして .qtl と言う拡張子のファイルを作成するわけです。ブラウザからのアクセスでプロトコルは問題なし、拡張子は QuickTime がインストールされていれば問題無く起動できることを確認しました。ふぅ。これにて一件落着。
さて、qtl ファイルの書き方ですが、大体以下のような感じ。XML なファイルとなります。再生時のオプションも指定できます。
|
<?xml version="1.0"?> <?quicktime type="application/x-quicktime-media-link"?> <embed src="rtsp://qtss.icmpv6.org/train.mov" autoplay="true" type="video/quicktime" controller="true" quitwhendone="false" loop="true" name="MOSS (Motsuyaki ORG Streaming Service)" > </embed> |
さて、このファイルをウェブサーバ上に置くのだけど、今度は httpd の mime.types で認識してくれないので、このファイルが直接ブラウザに展開されてしまいます。なので AddType してあげる必要があります。conf/mime.types や httpd.conf に書いても良いのだけど、僕は .qtl ファイルを置いたディレクトリに .htaccess を置いてその中に記述してみました。以下のような感じ。
|
AddType application/x-sdp .sdp AddType application/sdp .sdp AddType application/x-quicktimeplayer .sdp AddType application/x-quicktimeplayer .qtl |
まぁ、ダメもとで .sdp の設定も書いたのだけど、やっぱりダメで(^^;;。.qtl のほうは正しく機能するようです。
と、言うことで、これでほぼ正しい設定が完了したと言う感じでしょう。ちなみに .qtl ファイルは QuickTimePlayer からでも出力できます。メニューの [ファイル] → [書き出す] → [ムービーから QuickTime Media Link] を選択すると一発です。色々なオプションも指定してくれるので簡単にできます。是非お試しあれ。
ふぅ。良かった。これでちゃんと DSS が機能しそうだぁ。
scim-bridge-client-qt4 の ports。
ふぅ。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 がもう入っている状態なものでして・・(^^;;。
と、言うことで動作結果など、書いていただければと思います。
FreeBSD の KDE4.1 でも SCIM も大丈夫だよー。
前回は 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 にしてくれる人、絶賛大募集中;-)。
FreeBSD に KDE4.1 がやってきた。
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 もあるので、本当に「検証環境」って状態だとは思うのですけどねぇ;-)。
つづく。かな?
FreeBSD で Csico VPN。
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 して、インターフェースを削除したほうが良いですねぇ。
DSS-6.0.3 サーバは FreeBSD で動いています。(2)
前回の続き です。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 に変更して保存します。
これで再生できるようになるかと思います。ふう。ちかれた・・。
totd の Makefile のパッチ。
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 に以下のパラメータを指定できるようにすること。
nochangedomain=example.jp
nochangeipv4=192.168.1.
上記の設定にマッチしたものはIPv4->IPv6変換しないでそのままIPv4アドレスを返してくれるようにすること。問い合わせた全てがIPv4->IPv6変換されてしまうと言うのもちょっとつらいかなー。と言うのでこのオプションを作る予定。
誰か、既に作った方いますかー?;-)。
esecanna にリモートから接続。
自宅の FreeBSD は amd64 アーキテクチャが随分と多くなってきた。その場合、日本語入力や日本語変換に苦労するわけである。
NEC の EWS-4800 を利用し始めた僕にとって、カナ漢字変換システムは Canna しか考えられないのだけど、 FreeBSD/amd64 を利用した場合バイナリ的には Canna を使うしか手が無い。以前 FreeBSD/i386 を利用していた時は vje-2.5 のデーモンを利用していたのだけど、FreeBSD/amd64 では aout.ko が無いので vjed が起動できなくなってしまった。
で、どうしたかと言うと、うちで動作している唯一の FreeBSD/i386 はサーバなのだが、ここに vjed を起動して esecanna 経由で利用する手があることに気がついた;-)。
emacs や環境変数で canna サーバを指定できる点を思い出した。で、早速試してみたのだが、あれま・・。esecanna ってローカルホストからの接続しか許可していないのね・・。ガビーーン。
と、言うことで開発の終わった eseccana は自分でソースを修正するしかないのである。と、言うことでパッチを書いてみた;-)。
patch-zz-esecanna-all-ip-connect.patch
このパッチを /usr/ports/japanese/esecanna/files/ 辺りに入れて make するとリモートホストから接続できる esecanna ができます。めでたしめでたし。
しかし、どのホストからも接続を許してしまうので ipfw などでフィルタを掛けることはお忘れなく;-)。
ja-acroread7-7.0.9_1,1。何かエラーを出力するよ。
FreeBSD 6.2-STABLE 使っている。でもって ports も同じ辺りの ports-CURRENT を cvsup して使っているんだけど、acroread は ja-acroread7-7.0.9_1,1 を使っている。
こいつ、起動時に shell のエラーメッセージを以下のように出力するねぇ。ふん。
| /usr/local/Adobe/Acrobat7.0/JPN/bin/acroread: line 665: [: -ge: unary operator expected |
で、よくよく見てみると直前の行と比べて if で指定している変数が変。以下のように直したらメッセージがでなくなったけど・・。
--- /usr/local/Adobe/Acrobat7.0/JPN/bin/acroread.orig Sat Jan 6 05:49:51 2007
+++ /usr/local/Adobe/Acrobat7.0/JPN/bin/acroread Mon Aug 6 16:05:40 2007
@@ -662,7 +662,7 @@
base_version="${base_version}0"
done
|
ちなみに改行がおかしいのはブログのシステムのせいです。<PRE>タグ使っているんだけどねえ・・。
acroread って勝手に直したらライセンス違反だっけかなぁ・・。それにしても 今だに /usr/X11R6 とか参照している acroread はちょっち時代遅れか・・。
ふむぅ・・。
konqueror と nspluginwrapper。
/usr/ports/www/nspluginwrapper はすごいらしい。flash7 で音が出るらしいと風の噂で耳にした。と、言うことで試してみた。
この ports をインストールした後に nspluginwrapper -v -a -i とコマンドを実行すれば ~/.mozilla/plugins に プラグインが格納される。
firefox の場合は www/linuxpluginwrapper を利用すれば www/linux-flashplugin7 は動いていたんだけど、konqueror では flash6 のプラグインしか動かなかったのよねぇ。
なので、僕は古い ports から www/linux-flashplugin の 6 のバージョンを持ってきて firefox の場合は linux-flashplugin7 を利用するけど、konqueror の場合は linux-flashplugin6 を参照するように設定してた。
けど、www/nspluginwrapper を利用すると konqueror でも linux-flashplugin7 が使えるようになってちょっと感激;-)。
ちなみに www/nspluginwrapper を FreeBSD/amd64 上でインストールすると、 /usr/local/lib/nspluginwrapper/amd64/freebsd と言うディレクトリができるので、ん? 64bit 環境で動くのかぁ? と期待を寄せてしまう;-)。こっちはまだ試していないんだけどねぇ。
今日の夜にでも試してみよう;-)。
xorg-7.2。
5/19 の cvsup からかな。X11 と言うか xorg が大きく変更された・・。僕は今日、cvsup したんだけどねぇ。ports は xorg-6.9 から xorg-7.2 にバージョンアップしたんだけど、/usr/X11R6 を使わなくなっているやないのっ!!
まじかよっ!! って感じなんだけど、まぁ、考えてみると、僕の UNIX 生活は X11R4 から始まっているわけで、/usr/X11R4 が最初だった気がする。そのあとバージョンがあがって長い間 /usr/X11R6 だったな。
でもって、xorg-7.2 からは /usr/local/ になりました。これも UNIX の歴史の一部なのかなぁ。
ports からインストールする人は /usr/ports/UPDATING に従ってバージョンを上げましょう;-)。
/usr/X11R6/bin や /usr/X11R6/lib の中がちょっとづつ無くなって行くサマはそれなりに悲しいものですが・・。
qt-3.3.8 世代の konsole のフォントの指定方法。
前回、ブログで qt-3.3.8 では QT のフォントの扱いが随分変わりました。と書きました。 QT のフォントパッチが適用できなくなったのでどうしようか悩んでいたのですが、この際、パッチを更新する作業は止めようかと思っています。
FreeBSD を使っている方は、/etc/make.conf で KDE_PATCHES="yes" と指定してください。そうすると、xxxx-qt-font-default-subst.patch が適用され、フォント名は日本語で表示されるようになるはずです。
で、ここまではいいんだけど、konsole では自分の好きな等幅フォントが使えなくなり非常に困ってしまいます。
以上が前回に書いた内容でした。では、konsole で任意の等幅フォントを使えるようにするにはどうしたらよいか?実は一個だけ方法が残っていたんですねぇ;-)。
~/.kde/share/config/konsolerc の以下の行を任意のフォント名にしてしまえばいいんですねぇ;-)。
|
: defaultfont=MS ゴシック,12,-1,5,50,0,0,0,0,0 : |
フォント名である「MS ゴシック」はどこから持ってくるかと言うと、konqueror の設定ウィンドの「フォント」に表示されている日本語のフォント名をそのまま記述すれば大丈夫でしょう。「フォント」の等幅フォントの一覧に表示されているフォントであれば konsole で利用できるので使えるフォントの数は格段に多くなります;-)。
ちなみに、KDE-3.5.6 をインストール直後の状態で default の konsolerc がどこにあるのかという点についてですが、探してみましたが見当たりませんでした(^^;;。なので、システム標準として「さざなみゴシック」を利用するとか言う設定を埋め込むのは難しそうです。
Vine Linux の皆さん。どうも済みません・・。
と、言うことでこれにて完全に qt のフォントパッチの更新については終了と言うことになりそうです。今まで利用してくださった皆さん。有り難うございました。
DSS-5.5.4 の使い方。
前回の日記で、ストリーミングに DSS 使ってます。って書いたけど、ちょっとだけまとめておきますね。
DSS は ports からインストールすると非常に簡単なのだけど、/usr/local/etc/streaming/ の下に qtgroupsと qtusers の二つのファイルを用意しないと動かないのでこの二つは必ず生成しましょう。
僕は MacOSX も持っているので QuickTimeBroadcaster で「中継」することもできるのです。安い USB カメラでも最近は MacOSX 用のドライバがあったりするので比較的容易に「中継」することが可能です。
あ、僕の持っている MacBook には default でカメラ付いているんだった。けど、あのカメラは向きが変えられないので「中継」にはちょっと使えないです・・。
録画した動画を配信するためには QuickTimePlayerPRO が必要になります。動画を QuickTimePlayerPRO でストリーミング形式に書き出してから、その書き出されたファイルを /usr/local/share/DarwinStreamingServer/movies/ に保存します。ストリーミング形式に変換していない動画を配信することはできないので注意してください。
後は、http://localhost:1220/ にアクセスして、「プレイリスト」などで設定すれば中継できるようになります。
しかし、DSS-5.5.4 は表示が英語なのでちょっとしきいが高いですねぇ。そんな時に見つけた技が、まだフリーで配布していた頃の QTSS-4.2 を Apple のサイトからダウンロードしてきて、AdminHtml と言うディレクトリの下に html_ja と言うディレクトリがあるので、それを抽出することです。html_ja には日本語テキストが入っているのでそれを持ってきます。後は FreeBSD にインストールした DSS に対して以下のコマンドを実行するだけ。
|
# cd /usr/local/share/DarwinStreamingServer/AdminHtml # mv html_en html_en.org # hogehoge # ln -s html_ja html_en |
QTSS みたいに言語は自動判別してくれないので html_en に symlink してあげれば良いでしょう。表中の hogehoge はおまじないです;-)。
実は DSS-5.5.4に対応した日本語テキストを既に持っています。QTSS-4.2 から増えたメッセージテキストの差分を追加したものがあります。なので僕が利用している DSS は既に日本語化されています;-)。Apple のライセンスがどうなっているのかあんまり深く考えないようにしているのですが、ここ いらへんにあったりします;-)。(hogehoge の部分で利用してください)
と、言うことで、DSS について書いてみましたが、DSS は MacOSX がないと「中継」できないし、QuickTimePROがないと「ストリーミング」できないし、本当にやっかいです。けど、MacOSX を持っている人にとってはいろいろ楽しめます。皆さんもちょっと遊んでみてください;-)。
あ、ちなみに DSS-5.5.4 の ports ですが、FreeBSD/amd64 で make は通るのですが、実際に動作させようと思っても動きません。DarwinStreamingServer 自体は起動するんだけど、http://localhost:1220/ にアクセスしても応答が無くログイン画面が表示されないため、実質利用できない。と言う感じです。
ちょっと格闘してみたのですが、MacOSX は gcc-4.0.1 を使っているのに対して、FreeBSD は gcc-3.4.6 なのでその影響があるのかな?とも思えます。port:1220 にログインした時の「メイン」の画面では サーバ上の現在時刻 が 1900年 とか表示されているし、なんか、64bit 周りでおかしいのかなぁ。とは想像がつきます。
試しに gcc-4 で make したことがあるのですが、make が通りませんでした(^^;;。
files/patch-CommonUtilitiesLib::OSHeaders.h 辺りに修正を入れれば make は通るとは思うのですが、僕は最近の C を知らないので 64bit に対応するにはどう書いたら良いのかよくわからないのでした・・(^^;;。
と、言うことで、gcc-4 で make が通るパッチをどなたか書いてください。nork さぁ〜ん;-)。
OpenOffice.org-2
FreeBSD-users-jp の 90404 番において、FreeBSD/amd64 で OOo-2.1 をインストールしている。みたいな記事があったので、あれ?とか思って /usr/ports/editors/openoffice.org-2/Makefile 見たら、あれま。ONLY_FOR_ARCHS= i386 amd64 になっていて、いつのまにか FreeBSD/amd64 で make が通るようになったのねぇ。2.0RC 辺りの頃は i386 だったのにさ・・。
と、言うことで早速 make してみたんだけど、いろいろなファイルはあっちゃこっちゃから取ってくるのは i386 版と一緒なんだけど、どうやら make の途中でカーネルを道連れに落ちてしまうことが発覚。ひどいねぇ・・。
OOo の make には SWAP も含めて 2GB 以上のメモリが必要だと言うんだけど、今まで FreeBSD/i386 では swapon して make していたのだけど、SWAP が無い時は gcc のみがぶっこけるだけで済んでいたのよねぇ・・。
しかし、カーネルパニックになってしまうのでちょっと手が出せない状態かな。あ、ちなみに FreeBSD/amd64 は 先週辺りの 6.2-STABLE ですが、この辺りも悪さしているのかなぁ・・。
/usr/ports/www/photo_gallery 日本語版。
FreeBSD の ports に photo_gallery と言うのがあるんだけど、それの日本語版を作ってみました。
最近、Canon PowerShotG7 と言うデジカメを買ったのだけど、撮った写真を公開する場が無いので、なんかいい ports 無いかなぁ?と探していたら /usr/ports/www/photo_gallery を見つけました。ただ、不便な所とか日本語が使えないので、
「えぇい。改造してしまえっ!!」
って感じです。で、できたのはこんな感じ。サンプルは以下の URL にあります。
撮った写真をディレクトリ単位で一覧表示してくれます。その後、サムネイルとかスライドショーなどがお楽しみいただけます。
基本的に /usr/ports/www/photo_gallery を改造しています。ほぼ原型は保っています。
僕の作った ports は以下の URL からダウンロード可能です。使ってみて感想などいただければうれしいです。あーうー。commit してないです;-)。
ports-ja-photo_gallery-1.5-日付.tgz
自分が「こんな機能が必要だ。」と思うとボコボコ追加していく予定;-)。後、僕が改造した部分についてはインストール後の README-ja.txt を参照してください。
qt-3.3.7 用フォントパッチリリース。
もう長いこと KDE 使っているけど、qt の新しいバージョンが出るたびに毎回パッチを作っている。詳細については以下の URL を参照してください。
http://www.kde.gr.jp/~takachan/aa/
このパッチ当てると一番嬉しいのが konsole かな。さざなみゴシックとか使えるようになります。