かけまわる子犬。
2010年02月 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

検索



Please click now!!

Please click now!!

このページのリンク

リンクアンコン






Powerd by ばん

もつ焼き・オリジナル

デフォルト設定。変更?

Please click now!!

筆者プロフィール

名前は「たかちゃん」などと呼ばれています。性別は男です。

長野県須坂市生まれで今は埼玉との県境の下町に棲んでいます。

NEC PC-98 を持っていたことにより 386BSD や Linux に走ることができず FreeBSD 2.0-RELEASE(98) を利用せざるを得なかったのが FreeBSD との付き合いの始まりでした。その後はずるずるとデスクトップ環境として使い続け現在に至っています。

UNIX 全般をこよなく愛し NEC EWS4800・Sun SS20 なども利用していた時もありました。現在、仕事ではサーバ系をメインに hoge っています。

ブログはPC・OS・UNIX・などコンピュータ全般のネタをメインとする かけまわる子犬。 の他に、もつ焼き・ホッピーなど日本の食文化をメインの題材とした もつ焼き・オリジナル の二つあります。それぞれが自分の趣味と実益を兼ねているのでネタの違うブログの二つを管理することにしました。

宜しくお願いします。

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 の起動は一般ユーザ権限で問題ありません。

$ VBoxManage list vms
VirtualBox Command Line Management Interface Version 3.1.2_OSE
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.
"Windows7 Profetional" {0ee9ff0d-8885-4e30-801d-fbc255515d6c}

認識したみたいですね。続いて以下のコマンドはどうでしょう?

$ VBoxManage showvminfo "Windows7 Profetional"
    :

たくさん出力されるので詳細は割愛しますが、Windows7 Profetional と VirtualBox の詳細が表示されます。他にも VBoxManage には色々なオプションがあるので -h で確認してみてください。

$ VBoxManage modifyvm --audio none

などすると オーディオデバイスがオフにできたりします。

では次に Windows7 を VirtualBox 経由で起動してみることにしましょう。

$ VBoxHeadless -s "Windows7 Profetional"

ふふふ。コマンドラインから起動できました。ネットワークの設定はブリッジなので 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 の止め方を書いてなかったですね。以下のコマンドで停止します。オプションは色々あるので好きなのを選んでください。

$ VBoxManage controlvm "Windows7 Profetional" poweroff

かしこ。

ASRock の N68-GE マザーボード。

うちには Athlon X2 の PC が全部で三台あります。そのうちの一台は 今まで MSI の K9VGM-V と言う、VIA K8M890CE+VT8237A を使った、ずいぶんとマニアックなマザーボードであったのでした。

このマザーボード、Windows7 Profetional x64 をインストールしたらみょーに安定しなくなったので新しいマザーボードに交換することにしました。

CPU と言うか Socket はもう既に収束しつつある AM2 なのですが、CPU を新たに買い換えるとメモリも換え買えなければならないので、もう少し AM2 を利用することにしようなどと思い、どうせ枯れ行く AM2 マザーボードならそんなにお金かけなくとも良いべ。などと考えてアキバを俳諧するわけです。

するっていと、ドスパラ で 4,850yen の SocketAM2 のマザーボードが売っていたので「これで良いかー。」などとなったのであります。

買ったのは ASRock の N68-GE と言うマザーボード。他にも 5,500yen 位の安いのがあったのだけど、パラレルポートがついているのでこっちに軍配が上がったのでありました。

ちなみに自宅にあるプリンタはブラザーの HL-2040。USB ポートは Mac に接続して、パラレルポートは windows7 側に接続できるのでマザーボードにはパラレルポートが付いていると嬉しいのでありました。

さてー。アキバで買ってきたマザーボードに K9VGM-V についていた CPU とメモリを移植してケースに止めてゴーーーっ!!

HDD はそのままで Windows7 をブートしようとしたけど、甘かったね・・。WindowsXP だとドライバが自動的にインストールされて終わりなような気が、そこはかとなくするのだけど、Windows7 の場合は「起動時に不具合を取り除く」ものが動作したのだけど結局ブートしなかったので、再インストールです。くー。二個目のライセンスかよー・・。しくしく。って感じで無事にインストールは終わり、Windows7 がブートしたのでありました。


さてと。ここからがようやっと本題なのでありますf(^^;;。

今回のマザーは ASRock と言うメーカなんだけど、ここって中国のメーカなのかな? ASRock の機能として、Cool'n'Quiet Technology よりも更に省電力な機能として IES(Intelligent Energy Saver) と言う機能が実装されているそうです。

でもって BIOS レベルではコテコテのオーバークロック設定が可能で、なおかつ、その設定は Windows 上のアプリケーションから動的に変更できると言う、ある意味すごいマザーボードなのですが・・。

僕の買った N68-GE は IES が Windows7 Profetional x64 ではちゃんと動作しないみたいね。BIOS の設定を色々いじったけど、ダメ。orz。

ASRock のマザーボードを利用している方で Windows7 x64 で IES がちゃんと動作している人いますでしょうか?

ASRock のサイトからユーティリティーをダウンロードできるので IES ver:2.0.9・OC Tuner ver:2.2.84 辺りを再度ダウンロードして色々試したのだけど、 CPU 速度とファンの速度が動的に変化しない。

IES ユーティリティーを起動して IES 機能を Enable にしようとすると「BIOS で Cool'n'Quiet Tech を有効にしろ。」っていわれるんだけど、そんなんとっくにやっているんだよっ!!って感じで・・。

それにしても困った・・。で、しょぅがないので OC Tuner ユーティリティーのほうで CPU クロックを固定して使うことにした・・。2400MHz の CPU を 1000MHz 固定で利用すると言う、ちょっと理不尽な使い方なのです。

ただし、OC Tuner で設定した値はリブート後に BIOS の設定に引きずられるので BIOS 自体の値を低くします。 BIOS のオーバークロックの設定の画面で 200MHz x 5 の設定でブン回すようにします。ダウンクロック設定だぁ・・。orz。

後、CPU ファンもフル回転(LEVEL9) で回っているので音が比較的小さい LEVEL3 位にして、後は CPU 温度との兼ね合いでレベルを上げたり下げたりする感じです。

BIOS で設定して Windows7 を起動すると BIOS の設定で動作するようになります。 OS が起動したら OC Tuner を起動します。例えば CPU 負荷の高い処理を行うときは OC Tuner で手動で CPU クロックとファン速度を変更するんですな。まぁ、FreeBSD で sysctl 叩く感じでしょうか・・。orz。

中々たいそうな Cool'n'Quiet Technology でございます。このマザーボードのは・・。トホホ。

この、IES 設定を行う IES ユーティリティーは SocketAM3 対応のものとか色々なバージョンがあるようです。僕か ASRock で見つけたのは IES ver:2.0.34 だったかな。一番番号が大きめだったので試してみたのだけどやっぱりダメでしたねぇ・・。

まいったっス。

ASRock の SockectAM2 マザーボードで Windows7 x64 で IES が動くよー。っいて方いましたら情報頂けませんでしょうか。

宜しくお願いします。

MacOSX のキーボードと文字の入力。

MacOSX で文字の入力を行う時のネタをちょっと書いてみたいと思います。非常に「何を今更。」感がぬぐえないのもまた事実ですが、それはそれでしょーがない。

google 日本語入力。」の下のほうに ATOK のことについてちょっと書いていますが、ATOK は試用期間が過ぎたので一ヶ月300yenの月額利用版を購入しました。

以前に「MacOSX Snow Leopard をクリーンインストール。と epkg について。」で書いたようにクリーンインストールしたので実質的に50日位試用期間があった状態でしょうか・・(^^;;。

ATOK の製品版を使うようになったのは、サポートにちょっと連絡したかった。と言うのもあるのですが、カナ入力での日本語入力時に「たtkw@r>」などと、突然日本語入力がオフになってしまう点について問い合わせてみたかったのでありました。

で、実際に問い合わせてみるとサポートの対応が良いので関心しました。後、お金を払い出したら上記のような問題が出なくなったのにもまた驚きなのです(^^;;。

実は僕が利用している MacOSX の環境では、以下のような問題が発生していました。

・iTunes の検索に日本語が使えない。コマンドキーや Shitf・Ctrl キーを押すと日本語入力がオフになってしまう。
・Finder で「ファイル」と言う日本語のディレクトリを作成した場合 "ぁ"(つまり Shift+3 ですね)を入力した時点で日本語入力が終了してしまう。

これは ATOK の問題かと思いサポートに問い合わせてみました。きっとじっくりと検証して頂けたのでしょうね。3,4 日後に回答が来ました(その間に 2,3 のメールのやりとりはありました)。ジャストシステムでは再現しませんでした。とのことでした。

これはこれで、僕としては嬉しい情報です。一人で悩んでいるばかりで、他に情報が入らない状態だったので「あぁ。ちゃんと動く人(と言うか環境)がいるんだー。」と納得し、自分の環境において切り分け作業が行えるようになるのです。

で、僕の利用している環境をよーく、見直すことにします。僕は MacBook に HHK Lite2 を利用しているのですが、この環境をまず疑うわけです。 MacOSX SL 対応のドライバがリリースされているか確認します。リリースされているようなのでインストールして再度トライ。しかし、状況は変わらず。

それならばと言うことで Apple Keybord (JIS) MB869J/A を購入して HHK Lite2 の Mac 用ドライバを削除して試してみるわけです。しかし、状況は変わらず。

ふむ。PFU のドライバは特に悪くは無いみたいですね。まぁ、多分、当然と言えば当然だと思いますがf(^^;;。

あ。二つのキーボードを並べてみるとこんな感じ。

IMG_1159_keybord.jpg

キー配列や大きさはほとんど一緒。ストロークが違うくらいかなー。って感じなのでありました。ちなみに Apple Keybord を PC で Windows7 と FreeBSD/amd64 7.3-PRERELEASE で利用感想ですが、

・BS キーが無いので BIOS 画面が表示できません。
・Windows7 の場合、日本語入力のオン/オフは Caps キーで行います。

それくらいかなー。あ。もう一点。Apple Keybord MB869J/A は USB のバスパワーいっぱい一杯で動作しているのでしょうな。機械式の USB 切り替え機を間にはさむと PC では認識してくれませんでした。 PC の USB ポートに直接接続すると利用できます。MacBook からは USB 切り替え機経由でも利用できるのですけどねぇ・・。

BS キーが無いことによる一文字削除は C-d でできるので全然苦になりません。Windows7 上では xkeymacs を利用しているので C-d が利用できるし。これは emacs キーバインドに慣れている人の特権ですかね;-)。


さてと。話を本題に戻してと。上に書いた二つの現象を回避するために色々調査します。なんせキーボードを交換しても直らないし・・。などと思って google で検索したりしていたのですが、そもそも MacOSX の日本語入力のオン/オフって 英数キーとカナかなキーを交互に押すだけでできたのね。知らなかったよ。僕。ずっとコマンドキー+スペースキーでやっていた。などなど(^^;;。

で、おかしいおかしいと思って色々設定を再度見直すわけです。どうしたらこの状態から脱出できるのだろう・・。ふと思い出した。僕は MacOSX で Focus Follows Mouse を有効にするために Mondomouse を利用しているのですが、こいつをちょっと Disable にしてみよう。と・・。果たして、こいつが全ての諸悪の根源でした・・。orz。

Mondomouse を Enable にしていると Shift・Ctrl・Option・コマンドキーを押した時に日本語入力がそこで止まってしまう(日本語入力がオフになってしまう)。ということが解りました。この現象の影響を受けるのは iTunes の右上にある「検索」と Finder でファイル名を書くところの二ヶ所。

なので iTunes では日本語での検索ができないし、Finder では "ファイル" って名前を作成することができなかったのでありました。

ふむー。Focus Follows Mouse を取るか、正しい日本語入力のしかたを取るか悩ましいところではあるのですが、しかし、取るとしたら明らかに後者だろうなぁ。と言う感じはします。なので Focus Follows Mouse はちょっとあきらめですね。

Mondomouse 以外で Focus Follows Mouse を実現するソリューションがあったら教えて頂けませんでしょうか。宜しくお願いします。

それにしても原因が Mondomouse にあったとは・・。トホホ・・。ATOK を疑ったり HHK Lite2 のドライバを疑ったり、はたまたキーボードまで買っちゃったよ・・。orz。やられたなぁ・・。

ジャストシステムのサポートには原因が解りましたー。と、今からメールを書かないと(^^;;。


iPhone3G を iPhone3Gs にするアプリケーション。

いやはや。前回のエントリーの後、僕の iPhone3G はむちゃくちゃ速く動作するようになったのですっかりルンルンな気分なのであります。

今日は iPhone3G を iPhone3Gs にするアプリケーション二つについてちょっと書いてみたいと思います。

iPhone3Gs にあって iPhone3G に無いもの。僕はあまり良く知らない(上を見たらキリが無いので調査してない;-)のですが、ざっとこの二つかな?

・動画撮影
・電子コンパス

ちなみに iPhone3Gs のカメラはオートフォーカスだと聞いたのですが、ほんとなのかしら・・。iPhone3G で撮った写真は綺麗じゃないのよねぇ・・。

と、言うことで、iPhone3G 用の動画撮影アプリが出ました。

20100120_1.PNG

iVideoCamera と言うヤツですね。有料で 115yen しますが、iPhone3G で動画が撮れると言うので買ってしまいました。

iTunes カードはファミマで 3,000yen 分を 2,600yen で買えるセールをしていたので、その時に買ったのを利用すれば、まぁ、115yen だしぃ。って気分になれるのでありました;-)。

で、実際に動画を撮ってみた感想ですが、確かに撮れます。仕掛けは写真を一杯撮ってそれをつなげて動画に見せる。って原理らしいですが。それにしてもピントがずいぶんと甘いのがちょっと悲しい。もう少しシャープに撮れてくれればなぁ。とは思います。

撮った動画はカメラロールに保存できたり、動画サイトにアップロードできたりします。

ちなみにカメラロールに保存した動画は iPhone3G 側からは消すことができません。 iTunes とシンクロして削除する感じです。

続いてコンパスですが、僕は基本的に GPS が欲しくて iPod Touch から iPhone3G に乗り換えたクチなので、 AppStore を定期的に "GPS" で検索して色々な無料版をダウンロードしています。

その中で僕個人的にすごーい感動したものがこれです。

20100120_2.PNG

Free GPS。iPhone3G 用にコンパスアプリはたくさんあるんだけど、方角を決定するために GPS ポイントを二ヶ所で取得する必要があるので最低でも10〜100m位移動しなければならないのです。

しかし、この Free GPS は一個のポイントが多分アメリカの Apple 本社を指していて、そこから自分のいる GPS ポイントで計算しているので、今いる自分の GPS ポイントさえ取得できれば、動き回らなくとも勝手にその場でグルンとコンパスが回ってくれます。おーー。すばらしい。

20100120_3.PNG

東西南北がグルンと回って、赤い矢印は Apple を指しています。目視で確認すると方位はそこはかとなく合っているような気はします。でもって東京からアメリカの Apple はほぼ西にあるのねぇ。と言うのがわかります。これは中々のヒットアプリだと僕は思っているのですが、いまいち人気が無いみたいですねぇ。

とまぁ、この二つをインストールすることにより iPhone3G が iPhone3Gs になれるような気がします。iVideoCamera は有料版の上位に来ているので知っている人も多いかと思いますが Free GPS も中々良いですよ;-)。

動作が遅くなった iPhone3G を速くする。

最近、僕の iPhone3G の動作がむちゃくちゃ遅くなった。例えば以下のような感じ。

・電話がかかってきたので「ロック解除」するためにフリックしたら 10 秒後にようやっと動作した。
・Softbank の 3G 電波の届きの悪い所で「ロック解除」するとやはり遅い。
・「機内モード」オフ状態で地下鉄の中で音楽を聞いているときに一曲飛ばしすると、次の曲に行かずにかかっている曲が早送りされる。
・そもそも各アプリケーションの起動に異様に時間がかかる。
・結局何をするにもフリーズし、10-30秒位待たされることが多々有る。

こんな調子だったので、3GS はこんなこと無いんだろうなぁ。などと思っていた。

僕は iPhone3GS が発売される、つまり、六月に新製品が出ると解っていて、それでもガマンできずに 三月に iPhone3G を購入したのだけど、最近は本当に動作が遅いので「失敗したなぁ。」などと思っていたのでありました。

で、あまりにもフリーズっぽい動作が頻発するので Apple Store に持っていこうかと悩んだのだけど、その前に「リセット」と言うものを試してみることにした。

[設定]->[一般]->[リセット] があるのだけど、この中のメニューでまず「すべての設定をリセット」をしてからその後でもう一回「すべてのコンテンツと設定を消去」の二回連続でリセットしてみました。

リセット自体には約10分位かかりますが、じっとガマンの子。リセットが終わると iTunes に接続しろ。と出てくるので接続してから iPhone の名前を決めるところからスタートです。

ちなみにリセットすると WiFi の情報やメールの情報、後、例えば「セカイカメラ」のログイン情報など、全てが消えます。

メールとか WiFi の情報はきっと覚えているので良いとは思うし、MacOSX を使っている人はほとんどの情報が iTunes 経由で再度投入できるので問題はないんだけど、アプリの情報までいちいち覚えてないよー。みたいな・・(^^;;。


で、完全なるリセットの結果ですが、これがまた、あーた。速くなったのよ。ふっふっふっ。上に書いたようなフリーズの状態はほとんど無くなりました。全てが非常にサクサク動くようになったのであります;-)。うれしーーっ!!


考えてみると僕の iPhone3G は買ったときが確か Ver.2.2 で、その後、2.2.1 にアップデートして待ちに待った Ver.3.0 にアップデートして。って感じで進んできました。

一番問題のあるバージョンは 3.1.2 だと思っています。Ver.3.1.2 には

「携帯電話ネットワークサービスがときどき中断されて再起動が必要になる問題を解決」

というのがあるのですが、このバージョンになってから、3G 電波の届かない所でよくフリーズするようになったと、僕個人的には思っています。一個前のバージョンに戻そうとさえ思っていた所。


しかし、基本的には古いバージョンからのアップデートがいけなかったのねぇ。と言うのが、今回よく解りました。作業的には多分、バージョンアップする前に iPhone3G を一旦全てリセットのまっさらに状態にしてからバージョンアップ作業を行うとか、古い情報をどこかで全部消す必要があるみたいです。

今回の件は iPhone3GS に当てはまらないかもしれません。iPhone3G が 10 秒位凍りつく。もしくはフリーズが頻発する。はたまた、3G 電波の弱い所でフリーズする傾向にある。などの症状がある方は Apple Store に行く前に一旦、全てリセットしてみることをおすすめします。

リセット後に色々データを打ち込むのは大変ですけどねぇ・・。iPhone アプリをたくさんダウンロードしている人は再度選択しなおす必要があるし。

けど「一旦全てリセット」は偉大です;-)。

libpango が core dump するフォント。

この間、ちょっと前の「Thunderbird-3.0 を FreeBSD/amd64 で。」のエントリーのところで FreeBSD/amd64 上の Thunderbird も Firefox もすぐに core dump して使い物にならない。でもって -g したら libpango がどうもおかしい。と言うのを書きました。

このエントリーに添付してある URL にその結末が載っていましたね。要は pango にとあるフォントを食わせると core dump するものがあるので、そのフォントを fontpath から削除すると良いよ。とのことらしいです。

リンク先のスレッドの内容では xlsfonts コマンドで core dump するフォントを特定すると良いよ。と書かれているのですが、日本語フォントの場合、あんまり役に立たないですね。でもって GNOME や KDE を使っている人は特にフォント名が日本語で表示されるのですから。なので、日本語環境の場合は fc-list(1) を使うことにします。

fc-list コマンドで表示されたフォント名を pango-view と言うコマンドに食わせてあげます。その時に pango-view が core dump するとそのフォントは pango で扱えないフォントになるので /usr/local/lib/X11/fonts/ から削除する必要があります。

僕の環境では fc-list | sort -u | wc -l したら 434 個のフォントが利用可能な状態になっていました。うひひ。/usr/local/lib/X11/fonts/ で du -sk したら 1274754 と表示されたのでフォントだけで 1.2GByte のようです;-)。

さてと。fc-list の結果を pango-view に食わせるコマンドは以下でどうでしょう。

$ fc-list | sort -u | awk -F, '{print "echo \"" $1 "\"; ¥
pango-view --font=\"" $1 "\" -t 'TEST,test,テスト' -q"}' > fontcheck.sh
$ /bin/sh ./fontcheck.sh

一行目は長いので改行していますが、一行で実行して fontcheck.sh と言うファイルを作成してください。その後、fontcheck.sh を実行すれば pango-view が動作します。 core dump するファイルがあった場合には以下のように出力されます。

ヒラギノ丸ゴ Pro
Segmentation fault (core dumped)
ヒラギノ丸ゴ ProN
Segmentation fault (core dumped)
ヒラギノ明朝 Pro
Segmentation fault (core dumped)

表示されたフォント名を持つファイルを /usr/local/lib/X11/fonts/ の中から削除して fc-cache -fv を実行すると core dump するフォントが無くなると思います。

ちなみに僕の環境では MacoSX から持ってきたヒラギノの丸ゴ・角ゴ・明朝の各フォントと平成の明朝・角ゴシックの計 16 個のフォントで core dump が発生したので、これらのフォントを削除しました。

削除した後に Thunderbird3 や Firefox35 を起動すると、おおぉぉっ!! 無事に起動できたのでありました。パチパチパチ。

と、言うことで Thunderbird3 や Firefox35 が libpango で core dump するなんてのはその人の環境によって全然変わる。と言うことですね。僕みたいに(と言い切って良いのか?)たくさんのフォントをインストールしている人はその確率が高くなるわけですが、google で検索しても日本国内でこの現象を書いているのは僕だけみたいなので、もしかして、僕だけが陥った現象なのから?

この問題はオイオイ pango 側で吸収されていくのかなぁ?今回は pango のバージョンは 1.26.2 で特にダウングレードもしていないです。

それにしても復活して良かったです;-)。

そー言えば、MacOSX にフォントをインストールするときに「このフォントは危険です」みたいにアラートが上がってインストールしないこともあるのですが、FreeBSD の場合 fc-cache を実行した時点では何もアラートは上がらないのでインストール前(それはつまり fc-cache コマンドを叩く前と言うことかな)には pango-view を実行するのが良いのかな?

Thunderbird-3.0 を Windows7 で。

最近、Windows7 をインストールしていて、正月は色々遊んでいたりしたんだけど、Thunderbird-3.0 もインストールしてみました。

別にフツーに使えるので特に書くことも無いのだけど、一点だけ。

フォントの設定を色々変えたいよー。

って所でしょうか。メール本文のフォントの変更は「オプション」の「表示」タブでできるのですが、その上の受信したメールの一覧表示の所で等幅フォントが使いたいのに設定できない。とか、あるわけです。

あぁ。FreeBSD で Thunderbird-3.0 を使う記事については以前に書いています。

で、Windows 版の Thunderbird でもフォントを色々変更したいよー。と思って調べてみると・・。なぁんだ。FreeBSD とやっていることは一緒じゃん。みたいな。

FreeBSD の場合
$HOME/.thunderbird/乱数.default/

Windows の場合
C:\Documents and Settings\ユーザ名\Application Data\Thunderbird\Profiles\乱数.default\

があって、その下に chrome と言うディレクトリが、FreeBSD の場合は default であるけど、Windows の場合は新規に作成して userChrome.css と userContent.css の二つのファイルを置くだけ。

僕の場合は以前に「Thunderbird と mew でメールを読む。」のエントリーで書いた通り、FreeBSD 上では設定が終わっているので、その時に FreeBSD 用に作成したファイルを Windows7 の Profiles\乱数.default\chrome\ ディレクトリにコピーしてあげておしまい。

唯一変更するのはフォントサイズ位かなぁ。フォント名については FreeBSD でも MacOSX でも Windows でもほぼ同じフォントが入っているので特には気にしなくて済んでいるし。

これで、受信メール一覧も等幅フォントで表示できるようになってめでたしめでたし;-)。

FreeBSD の firefox の検索バーを日本語化。

FreeBSD で firefox を ports/packages からインストールすると中々日本語化ってできないですよね。

例えば ports から最新の firefox-3.5.6 をインストールして、続いて firefox35-i18n-3.5.6 をインストールすると日本語化されるんだけど、csup して portupgrade -arR すると firefox35-i18n-3.5.6 がインストールされているんだけど、英語表示されてしまう。

firefox-3.5.6 が最新になってから firefox35-i18n-3.5.6 をインストールしないと日本語表示してくれないんですな。ports で是非関連性を持たせていただきたい所ではあります。

さて。そんな FreeBSD の firefox ですが、URL バーの横に検索バーがあるのですが、ここに表示されているのは en なサイトがほとんどで日本語のサイトが一個も無い。ヤッテらんねーぜ。ケっ。て感じがするのですが・・。

kensaku-bar.png

日本語のサイトを表示することも可能です。と、言うか http://mozilla.jp/ からダウンロードできる Linux 版の firefox は検索バーのメニューは日本語サイトが登録されているのであります。

なので Linux 版 firefox から 各サイト用の XML ファイルを引っこ抜いて持ってくればそれでおしまい。って感じなのです。

あ。ちなみに上のキャプチャの bing と @nifty は拾ってきたのをインストールしています。


簡単に作業内容を書いておきます。

1. http://mozilla.jp/firefox/download/all/ から Linux 向け firefox の日本語版をダウンロードしてきます。

2. ダウンロードしたアーカイブを展開して firefox/searchplugins の中を覗きます。ここに日本語サイトの XML ファイルが入っています。

3. $HOME/.mozilla/firefox/乱数.default/searchplugins/ に XML ファイルをコピーしてあげます。

4. firefox を起動して検索バーに表示されているアイコンをクリックし「検索バーの管理」で編集します。

作業はこれだけですが、firefox のバージョンが上がるたんびにやる必要があるかもしれません。

ports/packages の firefox35-i18n-3.5.6 で吸収してくれれば良いのだけどねぇ。/usr/local/lib/firefox3/searchplugins がベースとなるディレクトリなんだけどこのディレクトリをまるまる置き換えてくれるようにしてくれれば・・。

するっていと、firefox35-i18n-3.5.6 は各国語の言語パックの他に Linux 版 firefox をダウンロードして来て、展開した後 firefox/searchplugins だけ抜き取って /usr/local/lib/firefox3/searchplugins と置き換える。って作業を追加する必要がありそうです。

できるのか?(アムロ風;-)

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 サーバを特定してそこにパケットを投げますよ。みたいな感じです。

では早速設定を見ていきましょう。今回のネットワーク構成はこんな感じにしてみました。

ipv6_faith.png

以下にちょっと箇条書きにしてみます。

  • 今回ターゲットとなる cvsupd は IPv4/IPv6 のデュアルスタックなサーバ上で動作します。

  • IPv4 ルータは PPPoE などでグローバルあドレスが付きますがサーバは NAT されています。ポート 5999 は cvsupd サーバにポートフォワードされています。

  • IPv6 ルータは外部のグローバル IPv6 ネットワークに接続しています。

  • cvsupd へは rtadvd により IPv6 のグローバルアドレスを払い出しています。

  • IPv4 は 192.168.0/24 です。

  • IPv6 は 2001:200:161:1400::/64 です。

  • トランスレータ用のプレフィックスは 2001:200:161:1400:5999::/96 です。

さてと。これだけでほぼ準備が整いました;-)。

まず、cvsupd サーバでの設定ですが、 faith0 インターフェースに飲み込まれる IPv6 プレフィックスを route(8) で設定します。その後、faithd を起動して特定のポートを faith0 に飲み込むようにします。

起動スクリプトは以下になります。rcNG ではなくて申しわけないですが(^^;;。

#!/bin/sh                                                                              
#                                                                                      
# faithd start                                                                         
#                                                                                      
HOME=/                                                                                 
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin/:/usr/local/bin
export HOME PATH
faith_ipv6='2001:200:161:1400:5999::' faith_ipv6_prefix='96'
case $1 in 'start' ) if [ -f /usr/sbin/faithd ]; then sysctl -w net.inet6.ip6.accept_rtadv=0 sysctl -w net.inet6.ip6.forwarding=1 sysctl -w net.inet6.ip6.keepfaith=1 ifconfig faith0 create ifconfig faith0 up route add -inet6 $faith_ipv6 -prefixlen $faith_ipv6_prefix ::1 route change -inet6 $faith_ipv6 -prefixlen $faith_ipv6_prefix -ifp faith0
/usr/sbin/faithd 5999 fi echo 'faithd 5999 Start.' ;; 'stop' ) killall faithd
route delete -inet6 $faith_ipv6 -prefixlen $faith_ipv6_prefix sysctl -w net.inet6.ip6.accept_rtadv=0 sysctl -w net.inet6.ip6.forwarding=0 sysctl -w net.inet6.ip6.keepfaith=0
ifconfig faith0 down ifconfig faith0 destroy
echo 'faithd Stop.' ;; 'restart' ) /usr/local/etc/rc.d/faithd stop /usr/local/etc/rc.d/faithd start ;; * ) echo "usage : faithd {start|stop|restart}" ;; esac

まず最初に 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 が起動しているサーバのリンクローカルアドレスに向けて上げます。

route add -net -inet6 2001:200:161:1400:5999:: -prefixlen 96 fe80::2ae:90ff:fe11:a85%bge0

これで設定は全て完了です。外部の 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 というのもまたアリかなぁ。と言う感じがあるのであります;-)。

 
Copyright (c) 1997-2010 takachan@running-dog.net All Rights Reserved.