バイナリパッケージでFirefoxを導入する

pkgsrcからFirefoxをインストールする際、make packageで/usr/pkgsrc/packages/Allにバイナリパッケージを作っておいたので、インストールしたてのNetBSD/i386 4.0にこのバイナリパッケージを使ってFirefoxをインストールしてみる。
バイナリパッケージは予め、/usr/pkgsrc/packages/Allディレクトリを作っておき、そこに置いた。

# pkg_add /usr/pkgsrc/packages/All/firefox-2.0.0.14.tgz
(中略)
#

インストール後に「pkg_info」でインストールされたパッケージを見てみると、jpeg-6bnb4、perl-5.8.8nb7、pcre-7.7nb1、fam-2.7.0nb9、glib2-2.16.3nb2、libIDL-0.8.10、xdg-dirs-1.4、Xfixes-2.0.1nb4、Xrender-0.9.0nb2、xcursor-1.1.2nb2、Xrandr-1.0.2nb3、atk-1.22.0、freetype2-2.3.5、expat-2.0.1、fontconfig-2.5.0、Xft2-2.1.7nb3、MesaLib-7.0.3.3、glitz-0.5.6nb2、png-1.2.29、pixman-0.10.0nb2、cairo-1.6.4nb2、pango-1.20.2nb2、tiff-3.8.2nb3、gtk2+-2.12.9、firefox-2.0.0.14と結構な数がインストールされていた。
せっかくなので、まだ一度も起動していないX Window Systemを設定するべく「xf86cfg」を起動。

# xf86cfg

うまくビデオチップ等を認識してXが立ち上がれば、キーボードぐらいしか設定変更の必要が無いので、キーボードのアイコンをクリックしてConfigure keyboard(s)を選択、Keyboard modelをGeneric 101-key PCからJapanese 106-keyに変更し、Keyboard layoutをU.S.EnglishからJapaneseに変更して、Okをクリック、Quitをクリックすると、この設定を/etc/X11/XF86Configに書き出して良いか聞かれるのでYesをクリック、続いてXKBの設定を/usr/X11R6/lib/X11/xkb/X0-config.keyboardに書き出して良いか聞かれるのでYesをクリックすると、自動的にXが終了して元の画面に戻ってくる。
あらためて一般ユーザに戻ってからxinitでX Window Systemを起動。xtermのみが起動する。

$ xinit &

このままではウィンドウの操作も出来ないのでウィンドウマネージャのtwmを起動。

$ twm &

そしておもむろにFirefoxを起動。初回のみhttp://www.mozilla.org/projects/firefox/2.0.0.14/firstrun/が1つ目のタブとして開くも404: File Not Foundになり、2つ目のタブにホームページとして設定されているhttp://www.mozilla.org/projects/bonecho/を開こうとした結果、Firefox公式ページ(英語)のhttp://www.mozilla.com/en-US/firefox/が開く。
このままではメニューが英語のままなので、

  1. http://www.mozilla-japan.org/jp/l10n/を開く
  2. Firefox LocalizationのFTPサーバをクリック
  3. developmentをクリック
  4. 2.0をクリック
  5. firefox-2.0.ja.langpack-2.0.0.4.xpiをクリック
  6. 何故かダウンロードするか開くか聞かれるので一旦Cancel
  7. アドレスをhttp://からftp://に書き換えてみる。
  8. firefox-2.0.ja.langpack-2.0.0.4.xpiをクリック
  9. 画面上部にBon Echo prevented this site (ftp.mozilla-japan.org) from asking you to install software on your computer.と表示されるので左隣のEdit Optionsをクリック
  10. ウィンドウが開くのでAddress of web siteに入っているftp.mozilla-japan.orgを許可するためにAllowをクリックし、Closeをクリック
  11. 再びfirefox-2.0.ja.langpack-2.0.0.4.xpiをクリック
  12. Install Nowをクリックしてインストールを開始
  13. Restart Bon EchoをクリックしてFirefoxを再起動
  14. 「http://…」と表示されているアドレスの欄に「about:config」と入力して、表示されるページのgeneral.useragent.localeをダブルクリックして「en-US」から「ja-JP」に変更し、メニューのFileからQuitをクリックしてFirefoxを一旦終了させる
  15. firefox &」で再度Firefoxを起動。

IP Messengerを導入する

普段、Windows上で簡易メッセンジャーソフトとしてIP Messenger(ipmsg)を使っているので、X Window System版のXIP Messenger(xipmsg)を入れてみる。
残念ながらNetBSDのpkgsrcには無いようなので、ソースファイル「xipmsg-8088.tar.gz」をダウンロードして解凍、xmkmfでMakefile作って、makeでコンパイル、make installでインストール(要root権限)、X Window Systemが動いていれば「xipmsg &」で起動する。

$ wget http://www.bsddiary.net/xipmsg/xipmsg-8088.tar.gz
$ tar zxvf xipmsg-8088.tar.gz
$ cd xipmsg-8088
$ xmkmf -a
$ make
$ su
Password:
# make install
# exit
$ xipmsg &

xipmsgが起動するとLAN内に見えている人の一覧(ユーザ名@ホスト名で表示される自分自身も含む)が表示されている。updateボタンを押すと一覧が最新状態に更新される。
送りたい人を選択して、sendボタンを押すとメッセージを入力する為のウィンドウが開く。ここにメッセージを入力してsendボタンを押すと相手に送信される。
quitボタンを押すと終了する。

Webブラウザの導入

NetBSDのインストールが終わって、rootでログインして、xinitでX Window Systemが起動することが判って、pkgsrcでパッケージが追加できるようになったので、まずは標準では入っていないWebブラウザが欲しいってことで、今んところInternet Explorerと同列に使えるブラウザであろうFirefoxをインストールしてみる。
(最初、Dilloをpkgsrcでインストールしたら、日本語が表示できなかった。どうやら国際化されたパッケージでは無かった模様。)

# cd /usr/pkgsrc/www/firefox
# make package
(中略)
# make clean clean-depends
(中略)
#

かなり時間がかかるので1日放置しといた。終わっていたら、「xinit」でX Window Systemを起動した後、念の為に「twm &」でウィンドウマネージャを起動してから、「firefox &」でFirefoxを立ち上げることが出来る。起動時に特にエラー等は出ない。
Firefoxが起動すると「http://www.mozilla.org/projects/firefox/2.0.0.14/firstrun/」とFirefox公式ページが開かれる。前者は「404: File Not Found」で開けない。後者は英語の公式ページだが、メニューのEdit→PreferencesでAdvancedのGeneralタブにあるLanguagesでjapanese [ja]を追加し、優先順位を一番上にしておけば、以後は日本語ページが表示されるようになる。
メニュー等は英語のままだが、言語パックのアドオン「Firefox Development jLP」をFirefox LocalizationのFTPサーバからdevelopment→2.0と辿って追加した後、「http://…」と表示されているアドレス欄に「about:config」と入力して、表示されるページ内の「general.useragent.locale」をダブルクリックして「en-US」から「ja-JP」に変更して、Firefoxを再起動するとメニューも日本語化される。
http://www.mozilla-japan.org/jp/l10n/faq/help.html#jlp_not_enabled
尚、初期状態でも「http://www.google.co.jp/」等、日本語のページを表示することは出来る。

QEMU for Windowsを使ってNetBSD/i386をインストール

近場のNetBSDミラーサイトからNetBSDのインストール用フロッピーディスクのイメージファイル(1枚目がboot1.fs、2枚目がboot2.fs)またはCD-ROMのイメージファイル(boot.iso)をダウンロードする。
QEMU for WindowsからQEMU on Windowsをダウンロード。2011/06/22現在の最新版はVer 0.13.0 (10/16/2010)だった。高速に動作させたい場合はアクセラレータのKQEMUをインストールしておくと、それが使われる模様。これはQEMU on Windowsから「Kqemu-1.3.0pre11インストーラ」をダウンロードしてインストールしておけば良いらしい。
あと、GUIQEMUの起動や仮想PCの設定変更などが出来るQEmu Launcherってのもある。「QEMU on Windows 0.9.0は・・・」の説明が詳しい。
QEMUを解凍すると中に含まれているqemu-win.batでLinuxが起動できるので、これをqemu-bsd.batの名前でコピーして、メモ帳などで「qemu.exe」で始まる1行を以下の2行に書き換える。CD-ROMのイメージファイルを使う場合は「-boot a -fda boot1.fs」の代わりに「-boot d -cdrom boot.iso」と記述する。

qemu-img.exe create -f qcow2 netbsd.img 1G
qemu.exe -L . -m 128 -boot a -fda boot1.fs -hda netbsd.img -soundhw all -localtime -M pc

これで先ほどダウンロードしたboot1.fsとboot2.fs(またはboot.iso)をqemu-bsd.batと同じフォルダに置いて、qemu-bsd.batを実行すると、netbsd.imgという1GBのハードディスクイメージがqemu-img.exeによって作られ、boot1.fsをAドライブ(またはboot.isoをDドライブ)、netbsd.imgをCドライブとして割り当て、Aドライブ(またはDドライブ)から仮想PCを起動してくれる。

フロッピーディスクを入れ替えるには左のCtrlキーとAltキーを押しながら2キーを押すとQEMUのモニター画面になるので「change floppy0 boot2.fs」と入力する。「info block」と入力すると、現在割り当てられているドライブの対応一覧を表示させることが出来る。

左のCtrlキーとAltキーを押しながら1キーを押すと元の仮想PCの画面に戻る。
インストールが終わったら、左のCtrlキーとAltキーを押しながら2キーを押し、QEMUのモニター画面を出して「quit」と入力してQEMUを終了させる。
以後はqemu-bsd.batのqemu-img.exeから始まる1行を削除して、qemu.exeから始まる1行を以下のように書き換えると、qemu-bsd.batを起動することでNetBSD/i386が立ち上がる。

qemu.exe -L . -m 128 -hda netbsd.img -soundhw all -localtime -M pc

日本語対応ターミナルのktermをpkgsrcから導入

とりあえず、日本語が表示できるktermをパッケージソースから導入。

# cd /usr/pkgsrc/x11/kterm
# make install
(中略)
=> Automatic manual page handing
=> Running POST-INSTALL script actions
kterm-6.2.0nb10: setting permissions on /usr/pkg/bin/kterm (o=root, g=wheel, m=4
511)
=> Registering installation for kterm-6.2.0nb10
# make clean clean-depends

ktermはそのまま動かすと

# kterm &
# kterm:  unable to open font "", trying "fixed"....

と出てしまい、日本語表示が出来ない。

# kterm -fn a14 -fk k14 &

# kterm -fn a14 -fk k14 -fr r14 &

# kterm -fn 8x16 -fk kanji16 -fr r16 &

# kterm -fn 12x24 -fk kanji24 -fr r24 &

のように-fnで半角英数文字、-fkで全角文字、-frで半角カナのフォントを指定すると、ちゃんと日本語表示が出来る。要はデフォルトのフォント指定だと、フォントが見つからないってことになってるような・・・。
フォントはxlsfontsで確認できる。上記で指定したフォントはちゃんと出てくるハズ。
Xのアプリケーションのデフォルト設定は、通常なら/usr/X11R6/lib/X11/app-defaults/にあるが、パッケージソースから導入した場合は/usr/pkg/lib/X11/app-defaults/ディレクトリの下に置かれる。
何はともあれ、ちゃんと日本語が表示されるようになった。起動する時のオプションで変えられるのかも知れないが、デフォルトはJISでの表示にしか対応していない模様。EUCシフトJISのテキストはcatで表示しても文字化けする。
てな訳でオプションを調べてみると、-km eucEUCに、-km sjisシフトJISに切り替わる模様。/usr/pkg/lib/X11/app-defaults/KTermの*VT100*kanjiMode:でもjisとかeucといった具合に設定できる模様。

# kterm -fn a14 -fk k14 -km euc &
# kterm -fn a14 -fk k14 -km sjis &

他にもktermのウィンドウ内でCtrlキーを押したまま、マウスの左右ボタン同時押しクリックか(3ボタンなら中ボタンのクリック)で出るメニューで、文字コードの変更やスクロールバーのON/OFFが出来る模様。

NetBSDのパッケージ追加

pkgsrcのダウンロード

cvsで最初から全部取得する場合は、これを行わずにpkgsrcを最新版に更新するステップに進む。
近場のNetBSDミラーサイトからpkgsrc.tar.gzを/tmpにダウンロード。(NetBSD公式ドキュメントThe pkgsrc guideには/pub/pkgsrc/からダウンロードと書いてあるが、ミラーサイトによっては無い模様。)

# cd /tmp
# ftp ftp://ftp4.jp.NetBSD.org/pub/NetBSD/packages/pkgsrc.tar.gz

/usr以下に展開する。かなり時間がかかる。展開するファイル名の表示だけでも結構な時間を食うので、これを避けるなら「tar zxvf」を「tar zxf」に置き換えて実行する。

# tar zxvf pkgsrc.tar.gz -C /usr/
(中略)
pkgsrc/filesystem/fuse-djmount/patches/patch-aa
pkgsrc/filesystem/fuse-djmount/README.html
tar: ustar vol 1, 116119 files, 284313600 bytes read, 0 bytes written in 1011 se
cs (281220 bytes/sec)
#

pkgsrcを最新版に更新

念の為に、近場のNetBSDミラーサイトのAnonymous CVSサーバを使ってpkgsrcを最新の状態にアップデートする。CVS passwordはAnonymous CVSサーバのリンク先に書いてある。大抵は「anoncvs」の模様。尚、pkgsrc.tar.gz をダウンロードせず、最初から CVS で pkgsrc を取得する場合は「cvs update -dP」の代わりに「cvs checkout -P pkgsrc」と入力する。

# cd /usr/pkgsrc
# cvs -d :pserver:anoncvs@anoncvs.jp.NetBSD.org:/cvs/cvsroot login
Logging in to :pserver:anoncvs@ftp.jp.netbsd.org:2401/cvs/cvsroot
CVS password:
cvs login: warning: failed to open /root/.cvspass for reading: No such file or d
irectory
# cvs update -dP
Warning: Permanently added the RSA host key for IP address '204.152.190.16' to the list of known hosts.
(中略)
cvs update: Updating x11/zenity
cvs update: Updating x11/zenity/patches
#

pkgsrcの初期設定

念の為に、/etc/mk.confで国内の取得サイトを指定するように書き換えておく。/etc/mk.confは最初無いので/usr/pkgsrc/mk/defaults/mk.confからコピーして、「Japan」の文字列で検索すると出てくるMASTER_SITEの記述の先頭の「#」を全て削除しておけば良い。

# cp /usr/pkgsrc/mk/defaults/mk.conf /etc/
# vi /etc/mk.conf

pkgsrcでパッケージをインストール

以後は/usr/pkgsrcディレクトリ以下にある各アプリケーションのディレクトリに入って、「make install」すればインストールされる。
「make package」とするとバイナリパッケージを/usr/pkgsrc/packages/Allディレクトリに作成してくれるので、これを行ってからインストールするのが吉かも。
「make clean clean-depends」とするとパッケージインストールに使ったファイル群を削除して綺麗にしてくれる。clean-dependsを付けることで関連パッケージで使ったファイル群も削除してくれる。
他に「make show-options」とやると、ビルド時に指定できるオプションの一覧が表示される。
あと昔はpkg_installが古いとパッケージソースからのインストールが出来ないと怒られたのに、今はそれも自動的に新しいものがインストールされる模様。

pkgsrcで追加したパッケージの一覧表示とパッケージの削除

ちなみにインストールされたパッケージの一覧は「pkg_info」で、パッケージの削除は「pkg_delete」で、バイナリパッケージのインストールは「pkg_add」コマンドで行える。

X Window Systemの設定

デフォルトではVGA(640×480)の画面しか表示できない上、日本語キーボードにも対応していないので、「xf86cfg」でXの設定を行う。

# xf86cfg

xf86cfgを起動すると自動的にビデオカードやモニター等を検出して対応する最大の解像度でXを起動し、xf86cfgのGUI設定ウィンドウが現れる。

誤検出した場合はX自体が起動しないので、その場合は以下の手順でxf86configコマンドを使ってXの設定を行う。(以下はThinkPad X20での設定例。)

# xf86config
(中略)
Press enter to continue, or ctrl-c to abort.

上記メッセージが出て止まるので「Enter」キーを押す

  1. マウスの種類を聞かれる。現状認識しているのは wsmouse で、PS/2 互換マウスもサポートしていると出ているので、「1. wsmouse」を選択するために「1」を入力する。
  2. 3ボタンマウスエミュレーションを使うか否かを聞かれる。現状認識しているのは2ボタンで、3ボタンマウスエミュレーションが有効だと出ているので、3ボタンマウスエミュレーションを有効にするかに対して「y」を入力する。(ThinkPadトラックポイントの場合はセンターボタンが3ボタン目として認識されるので「n」を答えてもかまわないが、何故か3ボタンエミュレーションも有効になる模様。)
  3. マウスのデバイス名を聞かれる。現状認識しているのは /dev/wsmouse だと出ているので「/dev/wsmouse」を入力する。
  4. キーボードの種類を聞かれる。日本語キーボードが「11 Japanese 106-key」にあるので「11」を入力する。
  5. 国を聞かれる。1ページ目に日本は無いので「Enter」キーを押す。2ページ目にも日本は無いので「Enter」キーを押す。3ページ目に日本が「44 Japanese」としてあるので「44」を入力する。
  6. バリアントを聞かれる。適当に「JapanComputer」と入力。(空でも良いっぽい。)
  7. キーボードの一部入れ替えなどを行うか聞かれる。別にいらないので「n」を入力。
  8. モニター関連のパラメータをこれから設定するけど大丈夫?とか出てるっぽいので「Enter」キーを押して進める。
  9. 垂直周波数について聞かれる。「6 31.5 - 48.5; Non-Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz」を選択するために「6」を入力。
  10. 水平周波数について聞かれる。適当に「1 50-70」を選択するために「1」を入力。
  11. モニター名を入力しろと言われる。適当に「ThinkPad LCD」と入力。
  12. ビデオカードについて聞かれる。一覧が見たいか聞かれるので「y」を入力。
  13. ThinkPad X20はRage Mobility M(AGP接続、4MB)なのでRAGE 128ベースではなく、3D RAGE II ベースなので「 5 ** ATI (generic) [ati] -」を選択するために「5」を入力。
  14. 選択したビデオカードが表示されているので、このまま続行するために「Enter」キーを押す。
  15. 搭載メモリ容量を聞かれる。「5 4096K」を選択するために「5」を入力。
  16. ビデオカード名を入力しろと言われる。「Rage Mobility M (AGP,4MB)」と入力。
  17. モードを変更する必要があるなら入れろと言われる。特に必要ないので「4 The modes are OK, continue.」を選択するために「4」を入力。
  18. デフォルトの色数を聞かれる。「5 24 bits (16 million colors)」を選択するために「5」を入力。
  19. /etc/X11/XF86Config を書き出して良いか聞かれるので「y」を入力。(root権限が無い場合はカレントディレクトリにXF86Configファイルが出力されるので、後で /etc/X11 にコピーすれば良い。)

以上で終了。
xinit しても X が起動しない場合は /etc/X11/XF86Config を削除すれば、再び640×480で起動するようになる。
以後はxinitした時に1024×768の24ビットフルカラーで表示され、日本語キーボードで入力が可能となる。ちなみにThinkPad X20の場合、トラックポイントのセンターボタンは3ボタン目に割り当てられている。