訳: 丸山 剛司 <tmaruya@nnc.or.jp>
. 31 December
1996.
以下はモデムを利用して他のコンピュータと 接続する方法を説明しています。 これはリモートホストとターミナル接続を確立するための 適切な方法です。
これは BBS に接続するときによく使います。
この種の接続は PPP 接続に問題がある場合、Internet 上にあるファイルを 転送するのに非常に役に立ちます。FTP で何らかのファイルを転送したいのに PPP 接続を確立できない場合は、ファイルを FTP 転送するためにターミナルセッション を利用します。そして ZMODEM を利用してファイルを転送します。
実際、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 # sh 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/cuaa2: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 と入力すると、 リモート側への ファイルの送信が始まります。
本文書、および他の文書は ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ からダウンロードできます。
FreeBSD に関する質問がある場合には、ドキュメント を読んだ上で <questions@FreeBSD.org> まで (英語で)
連絡してください。
本文書に関する質問については、<doc@FreeBSD.org> まで電子メールを (英語で)
送ってください。