FreeBSD で FDclone なページ


FreeBSD で FDclone を使いこなそうというページです。 FreeBSD 用の便利な設定例を載せていますので、参考にして下さい。

端末設定
MS-DOS 領域の利用
ランチャの登録


端末設定

FreeBSD では /etc/termcap の記述が甘いため、 FDclone がその内容を素直に信用してしまうと、 一部効かないキーが出てきてしまいます。
もちろん、根本的には /etc/termcap を書換えるという対処が正しいのですが、 ここでは FDclone 側で対処する方法を紹介します。

FDclone 1.0x では端末名毎に別々に設定ファイルを用意することができましたが、 2.0x ではこの機能は実装されていないので、 .fd2rc の中で環境変数 TERM を見て端末名に応じた振分けを行なうことになります。
端末名というのは、その端末タイプに割り当てられて名称のことで、 例えば boot 直後の console 端末ですと cons25 という名前が割り当てられています。
ここでは、 FreeBSD で使われる代表的な端末ということで、 この cons25 の他に、 kterm 端末用の kterm、 kon2 端末用の vt100 という 3 種類の端末名に対応した設定ファイルの記述を紹介します。

設定方法は簡単で、 home directory の .fd2rc に以下の記述を追加するだけです。

~/.fd2rc (注意: これは kon2 以外の VT100 端末には対応していません)
if [ " $TERM" = " cons25" ]; then
	LANGUAGE=C

	keymap F1	"\033[M"
	keymap F2	"\033[N"
	keymap F3	"\033[O"
	keymap F4	"\033[P"
	keymap F5	"\033[Q"
	keymap F6	"\033[R"
	keymap F7	"\033[S"
	keymap F8	"\033[T"
	keymap F9	"\033[U"
	keymap F10	"\033[V"
	keymap F11	"\033[W"
	keymap F12	"\033[X"
elif [ " $TERM" = " vt100" ]; then
	keymap UP	"\033[A"
	keymap DOWN	"\033[B"
	keymap RIGHT	"\033[C"
	keymap LEFT	"\033[D"
	keymap BS	"\010"
	keymap INS	"\033[L"
	keymap HOME	"\033[H"
	keymap END	"\033[F"
	keymap PPAGE	"\033[I"
	keymap NPAGE	"\033[G"
	keymap F1	"\033[M"
	keymap F2	"\033[N"
	keymap F3	"\033[O"
	keymap F4	"\033[P"
	keymap F5	"\033[Q"
	keymap F6	"\033[R"
	keymap F7	"\033[S"
	keymap F8	"\033[T"
	keymap F9	"\033[U"
	keymap F10	"\033[V"
	keymap F11	"\033[W"
	keymap F12	"\033[X"
elif [ " $TERM" = " kterm" ]; then
	keymap HOME	"\033O\000"
	keymap END	"\033OU"
	keymap F1	"\033[11~"
	keymap F2	"\033[12~"
	keymap F3	"\033[13~"
	keymap F4	"\033[14~"
	keymap F10	"\033[21~"
fi

MS-DOS 領域の利用

FDclone 1.03i から、 PC-UNIX 用に HDD 上の MS-DOS 領域をアクセスする機能が正式サポートされています。 ここでは、 FreeBSD でその機能を使うための設定を紹介します。

~/.fd2rc に以下の記述を書いて下さい。

DOSDRIVE=1
setdrv B	/dev/rad0	HDD
setdrv C	/dev/rad1	HDD
これで、B ドライブに 1 台目の HDD の MS-DOS 領域が、 C ドライブに 2 台目の HDD の MS-DOS 領域がそれぞれ割当てられます。

1 台の HDD の中に複数の MS-DOS 領域がある場合は、 続くドライブ名に順次展開して割当てられていくので、 そういう環境では 3 行目の C はもっと大きなドライブ名にしておいて下さい。
1 台しか HDD がない場合でも、 存在しないドライブ設定は無視してくれるので、この設定のままで大丈夫です。 removable media を登録する場合は大きなドライブ名の方を removable に割当てておくと良いでしょう。 HDD 以外に FLASH ATA PCcard なども登録できます。

上記は IDE ドライブの場合の設定例ですが、 SCSI ドライブの場合は上の rad の部分をそれぞれ rda に書換えれば大丈夫です。 FreeBSD 4.0-RELEASE 以前では rad, rda の代わりにそれぞれ rwd, rsd を用います。
また、MS-DOS 領域が PC-9801 シリーズ用のものの場合は、 HDD の代わりに HDD98 と記述して下さい。

3.0-RELEASE 以前の kernel は、 FAT32 で作られた大容量の MS-DOS 領域 (FAT32X と呼ぶようです) を認識できませんが、 FDclone は kernel を介さずに直接 disklabel 割当てを行いますので、 そのような MS-DOS 領域にも access することができます。
但し、2.2.6-RELEASE 以前の kernel は 8.4GB 以上の HDD を扱えませんので、 その場合は 8.4GB 超の位置にある MS-DOS 領域は access できません。


ランチャの登録

FreeBSD ならではのランチャ登録を幾つか紹介しておきます。
  1. RELEASE CD-ROM から install される各種ファイルを直接覗く。

    install 用 CD-ROM に含まれるファイル群を全部 install するのは大変ですが、 install しなかったファイルでもたまに参照したいことがあります。
    そういう場合、 ~/.fd2rc に以下の記述をしておくと、 FDclone のアーカイブブラウザ機能を使って CD-ROM から直接ファイルを参照できます。

    launch ".aa"	"cat %X.??|tar tvfz -"	"%a %u/%g %s %m %d %t %y %f"
    arch ".aa"	"echo ERROR"		"cat %X.??|tar xfz - %TA"
    
    例えば /usr/src/sys の場合、 /cdrom/src/ssys.aa (CD-ROM が /cdrom に予め mount されているとします) の位置で Enter を押すと、 ちょっと時間はかかりますが、 /usr/src/sys に install されるはずだったファイル群を browsing することができます。

    他の install ファイルも、これと似たような形式で CD-ROM に収められていますので、 hoge.aa, hoge.ab, hoge.ac, ... のような名前のファイルがたくさんある場所を探してみて下さい。

  2. man page の roff ファイルを直接覗く。

    /usr/share/man/man?/usr/local/man/man? の下には man コマンドで参照するための source が置かれています。
    しかし、これらは圧縮されている上に roff 形式という形で記述されているので、 FDclone で browsing しながら覗こうとしても、 中身を理解することが困難です。

    ~/.fd2rc に以下の記述をしておくと、 man page の source を plain text に format することで、 直接参照することができます。

    launch ".[0-9].gz"	"gzip -cd %C|tbl|/usr/local/bin/groff -Tnippon -man|less"
    
    日本語 man page が install されていない環境では、 /usr/local/bin/groff -Tnippon -man の部分は単に nroff -man で構いません。
  3. 各種マルチメディアを閲覧する。

    ~/.fd2rc に以下の記述をしておくと、 各種マルチメディアファイルを見聞きすることができます。

    launch "/.jpg"	"xv %C"
    launch "/.mid"	"timidity %C"
    launch "/.mp3"	"mpg123 %C"
    
    ランチャに使われる各種ツールは別途 install しておいて下さい。

    また、 これらの素材は MS-DOS 領域にある場合も多いでしょう。 ところが、 msdosfs mount をしてもフロッピードライブ機能を用いても、 これらのファイル名が大文字でしか見えないこともあります。
    そういう場合を考えて、 上の登録例では拡張子の記述を「/」で始めてあります。 このように登録しておけば、 拡張子が大文字でも小文字でもランチャが有効に機能します。


戻る