原作: FAQ からの情報
訳: 丸山 剛司 <tmaruya@nnc.or.jp>. 31 December 1996.
以下はモデムを利用して他のコンピュータと 接続する方法を説明しています. これはリモートホストとターミナル接続を確立するための 適切な方法です.
これは BBS に接続するときによく使います.
この種の接続は PPP 接続に問題がある場合, Internet 上にあるファイルを 転送するのに非常に役に立ちます. FTP で何らかのファイルを転送したいのに PPP 接続を確立できない場合は, ファイルを FTP 転送するためにターミナルセッション を利用します. そして ZMODEM を利用してファイルを転送します.
あなたのシステムで tip や cu というプログラムは uucp や dialer というグループに所属しているユーザのみが 実行できるようになっているのでしょう. リモートホストやモデムを 利用できる dialer のグループにあなたのアカウントを 加えましょう.
もしくは下記のコマンドを使うことによって, そのシステムで tip や cu を誰でも使えるようになります:
# chmod 4511 /usr/bin/tip
このコマンドは cu に対しておこなう必要はありません, それは cu は tip に対するハードリンクだからです.
実際, tip の マニュアルページは古くなっています. 既に Hayes ダイアラが組み込まれています. /etc/remote ファイル中で at=hayes を使ってください.
Hayes ドライバは, 最近のモデムの新しい機能である BUSY, NO DIALTONE, CONNECT 115200などのメッセージを 認識できるほど賢くはなく, 単に混乱を起こすだけです. tipを使う場合には, (ATX0&W とするなどして) これらの メッセージを表示させないようにしなくてはいけません.
また, tip のダイアルのタイムアウトは 60秒です. モデムの タイムアウト設定はそれより短くすべきであり, そうしないと tip は通信に問題があると判断するでしょう. ATS7=45&W を実行してください.
実際, デフォルトの tip は Hayes の完全なサポートを しているわけではありません. 解決方法は /usr/src/usr.bin/tip/tip の下の tipconf.h を変更することです. もちろんこれにはソース配布ファイルが必要です.
#define HAYES 0 と記述されている行を #define HAYES 1 と変更し, そして make, make install を実行します. これでうまく動作するでしょう.
/etc/remote ファイルの中で ``direct'' エントリを作ります. たとえばモデムが 1番目のシリアルポートである /dev/cuaa0 に接続されている場合, 次のようにします:
cuaa0:dv=/dev/cuaa0:br#19200:pa=none
モデムがサポートする最大の bps レートを br フィールドに使います. そして tip cuaa0 を実行すると, モデムが利用できるようになります.
/dev/cuaa0 がシステムに存在しない場合は, 次のようにします:
# cd /dev # ./MAKEDEV cuaa0
または root になって以下のように cu コマンドを実行します:
# cu -lline -sspeed
line にはシリアルポートを指定します (例えば /dev/cuaa0). そして speed には接続する速度を指定します (例えば 57600). その後 AT コマンドを実行したら, ~. と入力すれば終了します.
電話番号 (pn) 機能の中での @ 記号は, tip に /etc/phone にある電話番号を参照するように伝えます. しかし @ の文字は /etc/remote のような 設定ファイルの中では特殊文字となります. バックスラッシュを使ってエスケープをおこないます:
pn=\@
``generic'' エントリと呼ばれるものを /etc/remote に追加します. 例えば次のようにします:
tip115200|Dial any phone number at 115200 bps:\ :dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du: tip57600|Dial any phone number at 57600bps:\ :dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du:
そして
# tip -115200 5551234
のように利用できます. tip より cu を使いたい場合, cu の generic エントリを使います:
cu115200|Use cu to dial any number at 115200bps:\ :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:そして
# cu 5551234 -s 115200
と実行します.
tip1200 や cu1200 用のエントリを記述し, 適切な通信速度を br フィールドに設定します. tip は 1200 bps が正しいデフォルト値であるとみなすので, tip1200 エントリを参照します. もちろん 1200 bps を使わなければならないわけではありません.
毎回接続されるのを待って CONNECT <host> と入力する かわりに, tip の cm 機能を使います. 例えば, /etc/remote に次のようなエントリを追加します:
pain|pain.deep13.com|Forrester's machine:\ :cm=CONNECT pain\n:tc=deep13: muffin|muffin.deep13.com|Frank's machine:\ :cm=CONNECT muffin\n:tc=deep13: deep13:Gizmonics Institute terminal server:\ :dv=/dev/cua02:br#38400:at=hayes:du:pa=none:pn=5551234:これで, tip pain や tip muffin と実行すると pain や muffin のホストに接続することができ, tip deep13 を実行するとターミナルサーバに接続します.
これは大学に電話回線がいくつかあって 数千人の学生が接続しようとする 場合によくある問題です.
あなたの大学のエントリを /etc/remote ファイルに作成して, pn のフィールドには @ を使います:
big-university:\ :pn=\@:tc=dialout dialout:\ :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:
そして /etc/phone ファイルに大学の電話番号の一覧を書きます:
big-university 5551111 big-university 5551112 big-university 5551113 big-university 5551114
tip は一連の電話番号を試みて, 最終的に接続できなければあきらめます. リトライを続けさせたい場合は, tip を while ループに入れて 実行します.
CTRL+P は通常 ``force (強制)'' 文字であり, tip に次の文字が リテラルデータであることを伝えます. force 文字は``変数の設定'' を意味する ~s エスケープによって他の文字にすることができます.
~sforce=single-char と入力して改行します. single-char は, 任意の 1バイト文字です. single-char を省略すると NUL 文字になり, これは CTRL+2 や CTRL+SPACE を押しても入力できます. いくつかのターミナルサーバで使われているのを 見ただけですが, single-char に SHIFT+CTRL+6 に割り当てるのもよいでしょう.
$HOME/.tiprc に次のように定義することで, 任意の文字を force 文字として利用できます:
force=<single-char>
CTRL+A を押してしまい, caps-lock キーが壊れている場合のために設計された tip の ``raise character'' モードに入ったのでしょう. 既に述べたように ~s を使って, raisechar をより適切な値に 変更してください. もしこれら両方の機能を使用しないのであれば, force 文字と同じ設定にすることもできます.
以下は CTRL+2 や CTRL+A などを頻繁に使う必要のある Emacs ユーザにうってつけの. tiprc ファイルのサンプルです:
force=^^ raisechar=^^
^^ は SHIFT+CTRL+6 です.
もし他の UNIX のシステムと接続しているなら, ~p(put) や ~t(take) でファイルの送受信ができます. これらのコマンドは 相手のシステムの上で cat や echo を実行することで 送受信をします. 書式は以下のようになります:
~p ローカルのファイル名 [リモートのファイル名]
~t リモートのファイル名 [ローカルのファイル名]
この方法ではエラーチェックをおこないませんので, zmodem などの他のプロトコルを使った方がよいでしょう.
ファイルを受信するには, リモート側で送信プログラムを起動します. そして ~C rz と入力すると, ローカル側へのファイルの受信が 始まります.
ファイルを送信するには, リモート側で受信プログラムを起動します. そして ~C sz files と入力すると, リモート側への ファイルの送信が始まります.