MS-DOSはそれほどでもなかったんだけど、windowsは嫌い。windows使うくらいなら最初からMac使う方がいい。Macったって今のMacは嫌い。Macは1種類しかなくて、何本かのコードをつないで電気を入れるだけで使えたのがいいのであって、いろいろ種類があったりコードを何本もつないだり、つながなくてもいいかわりに図体がやたらでかかったり、いろいろ設定しなきゃならないのであれば、別にMacでなくてもいい。AppleIIcはいいけど動かないから修理に出さないといけない。Tronは1Bのころのかな漢字変換が馬鹿で使い物にならなかったし、B-right/VになってVJE採用したってんで試してみたけど、カスタマイズできないから(あたしはスペースバーで変換したいんだよ。あの小さい変換キーで変換したくないんだよ。)使い勝手は悪いまま。結局楽しかったのはApple
DOSとminixとNews-OSだったね。NEWS-OSは出てきたけど、あれはNEWS-1250が好きだったからって要因の方が大きい。UNIXだってけっして好きではないのよ。特に最近のUNIXはインストールは簡単かもしれないけど、やたらたんすの肥やしが多くて結局図体がでかくて好きになれない。(あとでわかるけど……なんでemacs動かすのにXのライブラリが必要なんだ?)
プログラムを書きたいんだよ。あたしは。別に窓はいらないから。emacsをコマンドラインで動かしてな〜にが悪いんだ〜?
で、この欲求を満たすためには、今は大きく分けて2つの方法論があるわけさ。
1つはwindowsにそういうプログラミング環境を載せてしまうやり方。私は最初これでやっているし、一番パワフルな機械には今もその環境が残っています。具体的に何をのせればいいかといえば、例えばcygwinをのせてしまえば、今では「このUNIX特有の機能を使った部分はどうしてもwindowsでは再現できない」っていくつかの部分をのぞけば全てのUNIXのプログラムが動いてしまいます。今は商売にならないんで入手が困難だと思うけどアスキーから出ていたBSD
on Windowsもねらいは一緒。専用のwindowを作っちゃったあたりはいわゆるdos窓で作業するcygwinよりもすごいかもしれません。またGNU
Software for MS-Windows and MS-DOSは、専用のdllを用意したcygwin式ではなく、直裁にいろんなコマンドをwindows用に移植しています。この違いはどこに出るかというとcygwinだとbashなどのシェルを動かした上でないとそのほかのコマンドが実行できないんだけど、GNU式だとMS-DOSプロンプトからいきなり動いてしまう。command.comでおっけーってことなんだね、どっちがいいかってえのはあると思うけど、両方インストールして違いを楽しめばいいやん。当然UNIXを再現しようってことでなくても可。MIT-Scheme、Active
Perl、ruby、JDKみたいな無料の処理系をインストールしてもいいし、Borland
C++、Delphiのような有料の処理系をインストールしてもいい。特にC++やDelphiは、exe形式の実行ファイルを作成してくれるから、ほかのwindows機でもその実行ファイルだけ持っていけばいいというメリットもあったわけさ。(cygwinとかGNU
SoftwareでもCで書いてコンパイルすれば実は同じなんだけどね。ただ油断しているとcygwinの場合、うっかりdllを必要とするプログラムを書いちゃうと、使えないことになっちゃう。)emacsもwindows用がございます。
だけどね……。例えばCのプログラムならlintかけてからmakeで作りたいわけさ。emacsでM-x
shellでシェルを呼び出してさ。専用エディタってえか統合開発環境とやらでマウスで一発というのではなく……。それにwindowsでのプログラムの場合いわゆるdos窓を使わないとなると、window1つ開くにもwindowsAPI関数をおさえなきゃならないんだけど……。これがまた私には難解。どうにも見通しが立たないのねん。
というのでもう1つのやり方。freeなUNIXをインストールしてしまうやり方に行こうというのが今回の試み。おそらく他のサイトの方法論と違うところは「X-window」を動かすつもりが毛頭ないってところとカーネルの再構築をしないって点。コマンドラインでコマンドをたたきこんで動くプログラムを作れればいいと割り切っちゃっているから、emacsとそういう言語処理系が入って、できれば日本語の入力と表示ができればいいという方針。あとはいらないのさ。ゆえにLINUXかBSDかってえのもどっちでもよかったわけで、なんとなくBSDに親近感を持ったから今回はBSDというだけのこと……。
それではさっそく行ってみようか。
1
当然のことながら機械がないとはじまりません。というので機械を調達します。
ここで多いのは普段windowsを使っている機械にFreeBSDもインストールしようってことなんですが……。そういうのに挑戦される方は書籍とか別のサイトを参照していただいて……。
あたしは3万円程度出して中古のノート機を1台買っちゃう策をお勧めしたりする。(かたよっているなあ……。)1台しかなくてそれをそれなりに使っている状態で、もしインストールに失敗したらどうするつもり?……まあ模範解答としては「バックアップをとっておく」で、それはそれで正解なんだけど……。バックアップの手間、時間をお金に換算したら……。別個1台用意してしまうというのはありなしで言ったらありだと思うなあ……。
というので、ここでは中古ノート機を1台用意してしまうという前提で進みます。そしてwindowsと同居なんて考えないで、硬派にFreeBSDだけ入れよう……という形で進むけど、実際の私の機械にはwindowsが同居していることはみんなには内緒だ……。
……実はFreeBSDしか入れてない状況でかな漢字変換をSKKに頼っていたら……。どうもSKKに慣れなくて、書いた文章もしっくりこないので、慣れるまでの間、文章を書くためだけにwindows入れてメモ帳にvjeで書いているのでありました。
2
次に何がなんでもFreeBSDのファイルを調達しなければなりません。で、一番お手軽なのはCD-ROMを入手することでしょう。(他にもやり方はありますが、それは省略。)
で、そのCD-ROMを入手するにもいろいろやり方はありまして、FreeBSDの解説書の多くに付録としてついてきますし、UNIX系の雑誌にも付録としてついてくることがあります。またレーザーファイブ株式会社では4.5だと12枚のCDをつけて本体定価9800円で販売しております。今回私はこの市販の12枚セットを買いましたが、別にこれである必然性はないでしょう。というのはFreeBSD本体のインストールに使われるのは12枚のうちの1枚だけで、残り11枚は、後で追加することができるパッケージ群だからです。もしかしたら言語処理系のいくつかは、雑誌付録だとか解説書付録にはついてないかもしれませんが、それは別途調達することが可能です。……実はそういう付録のものでインストールを試みたんだけど、コンソールベースで漢字が使えなかったりemacsが使えなかったりしたので、それに嫌気がさして12枚セットを買ったのでした……。結果としては大正解。
というのでFreeBSDのファイルを調達しましょう。
3
次はインストール用フロッピーディスクの作成……。でもいまやほとんどの人はその必要がないかもしれません。昔はCDからブートすることができなかったので起動用、インストール用のフロッピーディスクを作ることが当たり前だったのですが……。いまやCDから起動することができまして……。そういう機械を使っている方はこの項を飛ばしてください。
さて、そうでない方。新品のフロッピーディスクを2枚用意してください。そしてwindowsの動いている機械でFreeBSDの1枚目のCDから所定のプログラムを動かすというもの。仮にCDの入っているドライブをD:、フロッピーディスクの入っているドライブをA:としたら、windowsのコマンドプロンプトを出して、
d:\tools\rawrite.exe d:\floppies\kern_ja.flp
を、
終わったら2枚目に入れ換えて
d:\tools\rawrite.exe d:\floppies\mfsroot_ja.flp
を実行しますと2枚のインストール用フロッピーディスクが完成。
間違えないように1枚目には「FreeBSDインストールディスク1枚目(カーネル)」2枚目には「FreeBSDインストールディスク2枚目(root)」とでも書いておきましょう。
4
さてインストールディスクができたところで、1枚目を入れてリセットしましょう。(CDブートが可能ならCDの1枚目を入れてリセットね。)そうするとインストールプログラムが動き始めます。画面に英語で2枚目を入れろっぽい表示が出たら入れ換えて……。
あとは基本的に選択していくだけで終わってしまうのだ……。選択肢が多いってことを除けばwindowsのインストールとあまり変わらないかもしれない……。
というので具体的な選択肢を選んでいきましょう。
(注意)
この選択はきわめて個人的でしかも偏っています。
でも偏っていることがわかるなら、このサイトを読む必要はないわな(笑)
あとで振り返ってみて「なるほど偏っているな」と理解してくださいませ。
(2003年6月15日の追加)
sj3を使えるようにしました。
だけどスペース変換ができない……。(泣)
7
ソフトのインストールは私はもっぱらパッケージを使っています。……これはwindowsより格段に便利。
基本定石は……
さてこれだけじゃ動かないソフトもあるのでいろいろいじって動かしましょう。
1 emacs
実は上のようにインストールするとemacsはcanna、wnn、sj3対応のemcwsと対応してないemacsの両方がインストールされます。で、非対応emacsはskkを選択すると自動的にインストールされちゃうところ、emcwsでskkも使えるので、emcwsだけ使うことにします。
/usr/local/bin に移動してそこにある emacs を emacs.old に、emcws
を emacs に変えます。
具体的には、
cd /usr/local/bin
mv emacs emacs.old
cp emcws emacs
これで emacs でemcwsが起動され、sj3も使えるはずだし(まだ試してない)skkも使える(こっちは確認した)。
2 .emacs
emacsに詳しい人に聞くなり本を読むなりして調整しましょう。
ちなみに私の調整は今のところ次のとおり。
(1) おれはemacsのバックアップファイルはいらないんだ〜!
(setq make-backup-files nil)
……もっともこれやらない方がいいと思うよ。
たくさん発生する~なファイルを定期的に削ればいいだけだもん。
(2) BackSpaceキーで1字削除したいんだ〜!
(define-key global-map "\C-h" 'backward-delete-char)
(global-set-key "\C-h" 'backward-delete-char)
……BSでBackSpaceできないのは精神衛生上よくない……。
(3) 私はSjisが好きだ〜だってsony NEWSで育ったんだから〜!
(set-default-coding-systems 'sjis)
(set-terminal-coding-system 'sjis)
(set-keyboard-coding-system 'sjis)
(set-buffer-file-coding-system 'sjis)
(4) skkを使うぞ〜!
(require 'skk-autoloads)
(global-set-key "\C-x\C-j" 'skk-mode)
(global-set-key "\C-xj" 'skk-auto-fill-mode)
(global-set-key "\C-xt" 'skk-tutorial)
(setq skk-large-jisyo "/usr/local/share/skk/SKK-JISYO.L")
(skk-mode)
3 kon
/usr/local/etc に移動して kon.cfg をエディタで開いてください。
まず大画面にする方ですが冒頭の方に # Display definition というところがあるので、その中で
Stealth: とありますから、その後に Normal と書き込んで「Stealth: Normal」とし、たぶんVGAの後にあるだろう
Normal を消しちゃってください。
次にsjisの表示ですがこれは最後の方に # Coding というところがあるので、その中で
ja_JP.sjis: とあるので、その後に Coding と書き込んで「ja_JP.sjis: Coding」とし、たぶんja_JP.ujisの後にあるだろう
Coding を消しちゃってください。
4 .cshrc
エディターで開いて適当な場所に
setenv LANG ja_JP.SJIS
という行を書き足してください。
5 perl5.6
perl5.005が標準で動いていますし、パッケージで5.6をインストールしただけでは、状況が変わりません。これは先に
/usr/bin/perlが先に動くからで、これをひっかからないようにすればいいという……。そこで
/usr/bin/perl を /usr/bin/perl.old に変えればおっけー。
cd /usr/bin
mv perl perl.old
6 java
javaとかjavacのある /usr/local/jdk1.1.8/bin にパスを通してください。
.cshrcをエディターで開いて set path = ではじまる行の適当なところ(/usr/local/bin
の後なんてどう?)に /usr/local/jdk1.1.8/bin を加えてください。空白区切りだから前後にスペースを入れるのを忘れないように。