以下では、C-Kermit ver 5A(190) を利用した場合の設定方法を述べる。
FreeBSD 2.2.1Rにportsが用意されている C-Kermit 6.0.192 の場合は設定方法が若干異なる。
kermitをportsからコンパイルした場合は4.から、自分でコンパイルしてインストールした場合は1.からの操作を行う。
dialer:*:117:root,george(FreeBSD 2.1.5Rの場合)
dialer:*:68:root,george
-r-xr-sr-x 1 bin dialer 446464 Sep 20 08:15 /usr/local/bin/kermit*続いて ls -laF /dev/cuaa0 した結果を以下に示す。
crw-rw---- 1 uucp dialer 28, 128 Jul 24 10:02 /dev/cuaa0lsの結果からもわかるように、/dev/cuaa0は、uucpという名前の人か、dialerグループに属している人か、スーパーユーザー(root)の人しかアクセスできないので、このようなエラーが出るのである。 setuidビットを立てた(chmod 2755の2の部分がsetuidビット)実行ファイルは、実行時にファイルのグループの人が実行していることになる。 (余談だが、chmod 4755とされた実行ファイルは、実行時にファイルのオーナーの人が実行していることになる。) 上のように設定したkermitは、誰が実行しても(例えばgeorgeというユーザーが実行しても)実行される時にdialerグループの人が実行したことになるのだ。 (もちろん、georgeというユーザーはdialerグループに属している必要があるので、/etc/groupを編集したのだ。) このように設定することで、/dev/cuaa0にアクセスできるのである。 /etc/groupを編集した場合は、一度リブートしてgroupの変更をシステムに反映させる必要がある。
kermitとコマンドラインから入力すると起動する。 うまくインストールされていると、以下のようなメッセージを出力してkermitのコマンドモードになる。
Executing /home/george/.kermrc for UNIX... Dial directory is /home/george/.kdd Services directory is /home/george/.ksd Executing /home/george/.mykermrc... Removing stale lock /var/spool/lock/LCK..cuaa0 (pid 2433 terminated) Good Morning! C-Kermit 5A(190), 4 Oct 94, for FreeBSD Copyright (C) 1985, 1994, Trustees of Columbia University in the City of New York. Type ? or HELP for help. [/home/george] C-Kermit>kermitのコマンドモードは、?を入力すると、ヘルプを表示してくれるので参考にすると良い。 この状態から、c [return]と入力すると、接続モードに入る。
[/home/george] C-Kermit>c Connecting to /dev/cuaa0, speed 38400. The escape character is Ctrl-? (ASCII 127, DEL) Type the escape character followed by C to get back, or followed by ? to see other options.接続モードでは、キーボードから入力した文字は、通信ポートへ送られ、通信ポートから入って来た文字は画面に表示される。
モデムへ文字を出力できているかどうか、試してみよう。 接続モードから AT [return] と入力してみよう。
AT OKうまく設定できている場合は、モデムからOKが帰って来るはずである。 接続モードからkermitのコマンドモードへ戻るには、通常は CTRL+\ c と入力する。 後で示す .mykermrc を利用している場合は、 DEL c と入力する。
kermitを終了するには、kermitのコマンドモードからexitと入力する。
; ; my C-Kermit macros ; set line /dev/cuaa0 set speed 38400 set terminal bytesize 8 set file character-set dec-multinational set flow-control rts/cts set transfer character-set transparent set command bytesize 8 set modem-dialer hayes set carrier auto set delay 1 set dial dial-command ATDT%s\13 set dial init-string set dial display on set dial timeout 60 set dial mnp-enable on set transmit linefeed ; ; set escape char(for super taiki kun) ; set escape 127 ; ; set log file name ; ;assign _logfilename \v(ndate)\Fsubstr(\v(time),1,2)\Fsubstr(\v(time),4,2)\Fsubstr(\v(time),7,2).log ;log session \m(_logfilename)これくらい指定しておけば、漢字を表示するほとんどのネットに接続する時でも大丈夫だろう。
set escape 127という指定で、kermitの接続モードから抜ける時のエスケープキーを DEL キーに割り当てている。 標準の設定では CTRL-\ になっているので、上記の.mykermrcを利用する際には注意が必要である。
; set log file nameというコメントの下には、通信した時のログファイルを記録する設定が ; でコメントにされている。 色々難しく書いてあるが、この部分では、日付(19960516)、時間(064230)を組み合わせてログファイル名(19960516064230)を作成している。
nifty2 99-4911 2400 none Niftyserve Road 2 in Machida netsx 03-3372-6494 19200 none Network-SX HG inside 03-5966-1054 19200 none inside-BBSここまで設定した後、kermitの内部からdialコマンドを用いて名前で電話することができる。
C-Kermit> dial netsx上の操作で、netsx(03-3372-6494)にダイアルしてくれる。 モデムが「ぴーひゃららら」という音を出して、接続したら
C-Kermit> cと入力して、kermitの接続モードに入ろう。 普通にパソコン通信できるだろう。 パソコン通信を終了する場合は、DEL cと入力すると、kermitのコマンドモードに戻る。
AUTONIF niflogin GHD00157 call hayes /dev/cuaa0 2400 99-4911次に、niftyへオートログインするためのマクロを準備する。 以下のマクロ定義コードを.mykermrcに追加する。
COMMENT - NIFLOGIN macro for Niftyserve Road2. Arguments: ; \%1 = NiftyServe User ID ; \%2 = Password ; def NIFLOGIN - if < \v(argc) 2 end 1 Usage: \%0 userid password,- if eq \fcode(\%2) 32 asg \%2 \fsubst(\%2,2), - while not def \%2 { - askq \%2 { \%1's password: } - },- set input timeout quit,- output @P\13,- input 5 Host Name,- output C NIF\13,- input 5 Connection-ID,- output SVC\13,- input 5 User-ID,- output \%1\13,- input 5 Password,- output \%2\13,- def \%2,- if not def \%3 asg \%3 by NIFTY Corporation,- input 30 \%3,- echo, echo Login successful.ここで下準備は終了である。 .ksdに定義されているホストのリストを表示させるには、listマクロ(.kermrcでデフォルトで定義されている)を使う。
C-Kermit> list 1 items in services directory: AUTONIF niflogin GHD00157 call hayes /dev/cuaa0 2400 99-4911実際にアクセスするには、kermitを起動した後、accessマクロ(.kermrcでデフォルトで定義されている)を実行する。
C-Kermit> access autonif「ぴーひょろろろ」とモデムから音がして、接続した後に
GHD00157's password:に答えてパスワードを入力してやると、SJISモードで自動ログインするようにマクロを組んでいる。 オートログインの動作の詳細を知るには、やはり、.kermrcのaccessマクロを追いかける必要があるだろう。