1月 202010
 

いやはや。前回のエントリーの後、僕の 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 も中々良いですよ;-)。

1月 172010
 

最近、僕の 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 アプリをたくさんダウンロードしている人は再度選択しなおす必要があるし。

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

1月 062010
 

この間、ちょっと前の「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 を実行するのが良いのかな?

1月 052010
 

最近、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 でもほぼ同じフォントが入っているので特には気にしなくて済んでいるし。

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

1月 042010
 

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 と置き換える。って作業を追加する必要がありそうです。

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

12月 262009
 

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 があちこちにできなくて済むのでそれはそれで嬉しいのだけどねぇ・・。

とまぁ、そんなそんなことは思っても結局はどっかそのへんに転がしておいて終ってしまいそうな予感なんですけどね(^^;;。

12月 252009
 

以前は 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 というのもまたアリかなぁ。と言う感じがあるのであります;-)。

12月 212009
 

MacOSX Snow Leopard(以降 “MacOSX SL” と記述します) の BootCamp パーティションに Windows7 Professional x86 をインストールしてみました。また、BootCamp パーティションにインストールした Windows7 はその後、VMware Fusion 2.0.6 から参照することもできました。その件についてチロっと書いてみたいと思います。

まず、今までは BootCamp パーティションには WindowsXP Home Edition が入っていたのですが、これを「Boot Camp アシスタント」でサクっと消します。その後、再度 32GB 程生成してから DVD を突っ込んでリブートします。

最初 DVD は x64 のを用意したのだけど DVD ブートしなかったので x86 用メディアで再度トライしました。すると、x86 版はサクっとブートしたので後はひたすらインストールです。この作業はフツーの PC にインストールするのと同じ雰囲気で作業終了。

あ。インストール時のパーティション選択ですが、Mac 側の「Boot Camp アシスタント」で BootCamp 用パーティションを生成すると FAT32 になります。しかし、Windows7 は NTFS にしかインストールできないので、BootCamp パーティションを削除して Windows7 をインストールするパーティションを生成してフォーマットしてあげる必要があります。ここが第一の関門。って感じでしょうか。失敗すると MacOSX 自体をつぶしてしまうので、しっかり BOOTCAMP と書いてあるパーティションを消しましょう。

何回かの再起動の後、無事に Windows7 のインストールは完了するので次に MacOSX SL の DVD を突っ込んでドライバをインストールしますが、この作業もあっけないほど、何もバタバタ慌てることも無く無事に終了。全自動でやってくれました。

簡単に MakBook で Windows7 Professional x86 が起動したのでありました;-)。

続いて MacOSX SL をブートして VMware Fusion 側から BootCamp パーティションの Windows7 を利用することにします。僕の VMware Fusion は 2.0.6 ですが、これを起動します。

しかし、以前利用していた BootCamp のディスクイメージと言うか情報が残っていて、新しくインストールした Windows7 がブートできませんでした。いったん VMware Fusion を消して再インストールしたのですが、仮想マシンの情報は削除されないみたいなので、手で消す必要がります。また、”削除” メニューからは BootCamp パーティションの情報は削除できません。

なお、「仮想マシン」がある場所は非常に解りづらいです。以下にあるので、良く選んでからサクっと消すようにしましょう;-)。

/Users/takachan/Library/Application Support/VMware Fusion/Virtual Machines/

ちなみに僕は VMware Fusion で利用していた仮想マシンは BootCamp 上の WindowsXP HomeEdition と Windows7 RC だけだったので、どっちの情報もサクっと消してしまいました;-)。

消した後、VMware Fusion を起動すると新たに BootCamp の情報を読み込んでくれるので後は「起動」すれば良いだけです。

VMware Fusion 上で Windows7 が起動したら VMware ツールをインストールします。必要なドライバをドドドとインストールしてくれるので特に苦もなく完了。と、非常に簡単に全作業の行程が終了してしまったのでありました;-)。

vmware-fusion.png

ちなみに VMware Fusion からはシリアルドライバが認識されていません。まぁ、特に必要ないかなぁ。などと思っていて深く追っていませんが;-)。

後、BootCamp 上の Windows は「スリープ」はできないのですが「休止状態」は利用できるので最悪それで良いかなぁ。と言う感じはしています。

さてと。使用感を少々書いておきます。僕の MacBook は CPU が Core2Duo 2GHz、メモリ3GB の状態で Windows7 Professional x86 に 1 個の CPU と 1GB のメモリを上げているのですが、もっさり感が非常にあるかなー。NotePC にインストールしたヤツのほうが快適に動いている気がします。

まぁ、BootCamp 上のは Windows7 Professional でも良いかもしれないんだけど、ちょっとサクっと使う時(「ちょっとサクっと検証する時」か;-)用に必要なものとして、ホンモノの仮想マシンとしては Windows7 Starter のほうが良いかなぁ。などと思ってしまいました。なのでそちらもインストールして試してみたいと思っています。

そもそも、EeePC を持っているのですが、ここには Windows7 Starter を入れる予定なんだけどねぇ;-)。

12月 202009
 

遅まきながら、我が家にも Windows7 がやってきました。PC で地デジが見たいよー。と思っても WindowsXP x64 では不可能なので、Windows7 の x64 にしてみた。と言うのが実情ですが。でもって、今回は、まず NotePC にインストールしてみました。 DELL の X1 と言うもうずいぶんと古い PC です。

CPU は PentiumM の 900MHz なので、Starter にしようか Professional にしようか悩んだのですが、ちょっと Professional で様子を見てみようと言うことにしました。なのでアクティベーションはなし。重かったら Starter に変更かなぁ。と言う感じです。あぁ。PentiumM は x86 Only です;-)。

で、インストールですが、今まで WindowsXP が入っていたパーティション(FAT32)をぶっつぶして NTFS で Windows7 をインストールしますが、いとも簡単に終わり、その段階では画面のドライバ(i915だと思うんだけどねぇ)が見あたらなかったのだけど、 update したら画面のドライバがインストールされた。後はサウンドチップ(FreeBSD 的に言うと SigmaTel STAC9752/53 AC97 Codec)のドライバだけど、これは DELL のサイトから Windows Vista 32bit ドライバを持ってきたら動作したので全然問題はありませんでした。

まぁ、Windows はどうせ検証のためだけ(の予定)でインストールしたのでここまで。この後 FreeBSD をブートしようとするんだけど、これがまた大変だったのでありました・・。

google などで検索すると、色々なサイトで bcdedit で情報書き込んでブートしようねぇ。と書かれているのですが Windows Vista 版のがほとんどなのねぇ。僕の Windows7 では以下のように打たないと FreeBSD は起動しませんでした。

c:¥ bcdedit /create /d "FreeBSD/i386" /application  bootsector
c:¥ bcdedit /set {ID} device partition=c:
c:¥ bcdedit /set {ID} path ¥freebsd.pbr
c:¥ bcdedit /displayorder {ID} /addfirst

 
{ID} ってのは /create したときに表示されるやつを指定します。

後、Windows Vista の bcdedit の場合って device boot って指定しようね。って、検索すると色々なサイトで書かれているのだけど Windows7 の場合、これではダメで、ブートセレクトで FreeBSD を選択した後に 0xc000000f なエラーコードで FreeBSD が起動してくれなかったりする。Windows7 の bcdedit では device partition=c: と指定するのが正しいみたいです。

bcdedit をオプションなしで実行すると起動設定が見えるので、Windows のブート情報と一緒にしてあげれば良いかなー。

ちなみに freebsd.pbr は /boot/boot1 を持ってくるんだけど、これまた当たり前で FreeBSD/i386 や FreeBSD/amd64 のどっちから持ってきても大丈夫です。md5 のチェックサムはどっちも一緒でした。手元に FreeBSD/i386 しかなくて、起動したいのは FreeBSD/amd64 ってときでも FreeBSD/i368 から /boot/boot1 を持ってきて c:¥freebsd.pbr にリネームして置けば大丈夫です。

で、FreeBSD はブートするんだけど、考えてみると Windows7 てパーティション二つ利用するのでブートメニューから FreeBSD が起動すると /etc/fstab の情報が一個ずれてしまうので Windows7 をインストールする前に FreeBSD の /etc/fstab は編集しておいたほうがラクチンかも;-)。まぁ、ufs:ad0s3a とかしてブートしてから /etc/fstab を直しても良いとは思うけど;-)。

今までは /dev/ad0s1 が Windows で /dev/ad0s2a が FreeBSD だった場合、 Windows7 をインストールした後は /dev/ad0s3a が FreeBSD の root になります。

とまぁ、今回は一番はまったのが bcdedit かなぁ。 これが一番時間がかかった・・。ふぅ。

と、言うことで NotePC での検証環境ができたので明日はメインで利用しているデスクトップに Windows7 の検証環境でも作るかなぁ。

12月 152009
 

ちょっと前に正式にリリースされた 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 経由の起動オプシンがあるのですが、それで確認してみると以下のメッセージが・・。

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x806b020b0 (LWP 100220)]
0x000000080358df8b in pango_ot_tag_from_script () from /usr/local/lib/libpangoft2-1.0.so.0
(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 が対応してくれるのを待つかですね。