クライアントPCにもFreeBSDを。

一度は退役し, 1年半以上も放置していた自作PCFreuden」に,先月末あたりからいろんなOSを突っ込んで遊んだり。

Windows 2000 Professional
現役時代のメインOS。いまとなっては時代遅れなスペックのPCでも,このOSならけっこー快適に使える。SP4適用済みのCDからインスコすると,休止状態 (S4) からの復帰もすんなり (SPなしをインスコ→あとからSPを適用したものは,必ず休止状態からの復帰に失敗する)。
Windows XP Professional
現役時代には使わなかったが, OEM版が1ライセンス余っているので,試しにインスコ。予想に反して,あまり重くなることなく,ふつーに使えそうだった…が!バイス マネージャでは「標準 PC」と認識された。Windows.FAQ: Windows 2000/XP で、標準 PC(APM) と ACPI PC を切りかえるには? の方法でHALをすり替えると,起動のわりと早い段階で真っ青に落ちてくれる。ただし電源オプションではAPM対応と扱われ,シャットダウン時の電源断や休止状態は普通にできたので,電源の管理に関しては問題なさげだった。困ったのは, IRQがうまく割り振り・共有されず, DAEMON Toolsの仮想DVD-ROMドライブが他のデバイスとぶつかって使えなかったり, Xwave 5000 (YMF724) のヤマハ純正リファレンス ドライバが使えなかったりしたことである。
Windows Vista Ultimate RC1
ちょ,テラオモス! 何かやる度に,数秒程度待たされる感じだ。1 GHz以上のCPUと1 GB以上のRAMを推奨しているOSぢゃ,仕方ない罠。こちらはインスコ直後からACPI PCと認識され,ほとんどのデバイスが生かされていた…が,なぜかXwave 5000だけは認識されなかった。
FreeBSD 6.1-RELEASE
Windows Vistaはさすがに無理と判ったので,同じ領域へこいつを上書き。Portsからでかいものをインスコするときは氏ぬほど時間かかるが,ウインドウマネージャはTWMのままで, kterm, Emacs [emcws], Mozilla Firefoxあたりを使うぶんにはさほどストレスを感じない。
以下,ちまちまいぢっていて気付いたこと。

デフォルトのホーム ディレクトリ。

ふつーに /home 内にできるものと思っていたが,こいつはシンボリック リンクで,実体は /usr/home である。Konkonでは /home に別のパーティションをマウントしているので,シンプルに / とswapだけにした今回,はぢめて気付いた。

X.Org

夜の入浴前あたりに make install clean と打ち,そのままモニタの電源を切って入浴→就寝→翌朝起きた頃に完了,と云う具合である w。xorgcfgVGAを選ぶとき, Matrox Millennium G400 (というかMatrox全般) は一覧に現れなかった。Xorg -configure が書き出した xorg.conf.new には, Section "Device" 内に “Driver "mga"” の行があり,これでふつーに表示でき,アクセラレータも有効になった模様。
Xの起動時, mga_hal がないとか云われるので, portsMatroxのサイトを漁ってみたものの…x11-servers/mga_hal は “marked as BROKEN” と云われてインスコできず,最新のLinux用ドライバに含まれる mga_drv.*, mga_hal_drv.*/usr/X11R6/lib/modules/drivers へもってきたら,マウス ポインタが表示されなかったりした。X.Orgについてくる mga_drv.so だけでも問題なさげなので,とりあえず放置。

J2SE 1.5 (java/jdk15)。

こいつの依存するパッケージがことごとくインスコされていない状態から始めると,一夜明けてもまだ続くくらいだ w。
本体のmake途中にコケたので,探してみると…linprocfs がマウントされていないのがあかんらすぃ。/etc/fstab に次の行を足し, /usr/compat/linux/etc/fstab を置いたら通った。

  • /etc/fstab 末尾の1行
    linprocfs   /usr/compat/linux/proc  linprocfs   rw  0   0
  • /usr/compat/linux/etc/fstab
    proc    /proc   proc    rw  0   0

Flash プラグイン (www/linux-flashplugin7)。

ライセンスの問題で一時期portsから姿を消していたが, “FreeBSDでの動作は保証していないが,使用を禁止するわけではない” と云う回答AdobeのCustomer Serviceから得られたさうで,いつのまにか復活していた。
喜んですぐにFirefoxを起動しても,プラグインは読み込まれない。FreeBSD Notes: Flash7のプラグインにアップグレードによると,数々の儀式が要るさうだ。

  1. www/linuxpluginwrapperインスコ。あとでインスコするAdobe Readerのために, OptionのACROREADをチェック。
  2. インスコの終わりのほうに出てくるメッセージに従い, /etc/libmap.conf を配置。
    # cp -p /usr/local/share/examples/linuxpluginwrapper/libmap.conf-FreeBSD6 /etc/libmap.conf
  3. 同メッセージ内のdlsym(3) hook patchを適用。
    # cd /usr/src
    # curl -OR http://people.FreeBSD.org/~nork/rtld_dlsym_hack.diff
    # patch < rtld_dlsym_hack.diff
    # cd libexec/rtld-elf
    # make depend && make obj && make && make install
  4. プラグインFirefoxから見えるやう,シンボリック リンクを張る。
    # cd /usr/local/lib/browser_plugins
    # ln -s ../npapi/linux-flashplugin/*.* .
  5. /usr/X11R6/lib/X11/fs/configcatalogue へ, TrueTypeフォントの在処を追加。
    catalogue = /usr/X11R6/lib/X11/fonts/misc/,/usr/X11R6/lib/X11/fonts/TTF/,
    /usr/X11R6/lib/X11/fonts/Type1/,/usr/X11R6/lib/X11/fonts/CID/,
    /usr/X11R6/lib/X11/fonts/75dpi/,/usr/X11R6/lib/X11/fonts/100dpi/,
    /usr/X11R6/lib/X11/fonts/local/,/usr/X11R6/lib/X11/fonts/TrueType/
    実際は1行。もしかして,行末に \ をつけたら,複数行に分けられるのかな?

Adobe Reader 7.0.8 日本語版 (japanese/acroread)。

linuxpluginwrapperは英語版をインスコしてまうので,そいつを強制削除→日本語版をインスコ。WWWブラウザ用プラグインを使うには,次の手続きが要る。

  1. プラグインがブラウザから見えるやう,シンボリック リンクを張る。
    # cd /usr/local/lib/browser_plugins
    # ln -s /usr/X11R6/Adobe/Acrobat7.0/JPN/Browser/intellinux/nppdf.so .
  2. /etc/libmap.conf に書かれている日本語版 Adobe Reader プラグインのパスが現状と合っていないので,書き換え。

FlashBlock (www/xpi-flashblock)。

FreeBSD Notes: 意図しないFlashの再生をブロック経由。www/linux-flashplugin7 は何かと不安定で, Flashオブジェクトの埋め込まれた頁を頻繁に読み込むと, Firefoxが落ちやすくなる。この拡張機能を使うと, FlashShockwaveオブジェクトを勝手に読み込まないやうにしたり,実行の可否をサイトごとに設定したりできる。もちろん,他のプラットフォームのFirefoxでも使える。