設定 (セットアップ) には、端末の不揮発性メモリに設定内容を記憶させるこ とと、コンピュータの電源が入った (あるいは、ランレベルが変った) 時に実 行するスタートアップファイル (ハードディスク上にある) にコマンドを記述 しておくことの 2 つがあります。本章では設定のあらましについてと、端末 とコンピュータの両方に不可欠な通信オプションについて説明します。続く 2 つの章において、端末の設定 ( 端末セットアップをご覧ください) と、コンピュータの設定 ( コンピュータセットアップ (設定)の詳細を ご覧ください) を詳細に説明します。
端末を設置する場合は、電源投入直後の端末の設定を(端末の電源が切られて も、設定内容が消えない不揮発性メモリに) 記憶させ、物理的に端末の設定を する必要があります。正しく設定してある端末をお持ちなら幸運ですよ。あな たの環境に合った正しい設定を少しだけすればよいか、あるいはまったく必要 ないからです。
端末の設定には 2 つの基本的なやり方があります。一つは端末の前に座って、 一連のセットアップメニューに従ってやっていく方法です。もう一つはホスト コンピュータからエスケープシーケンスを送る方法です。端末に何かを (エス ケープシーケンスのような) 送る前に、 通信 インターフェイス のオプションのボーレートオプションをコンピュータの それと合うように設定しておかなければなりません。コンピュータと端末が互 いに ``会話'' する前に通信が正しく設定されてないといけないので、端末の 前で設定を行ないます。詳細は 端末のセッ トアップ をご覧ください。
また、コンピュータから端末に設定用のエスケープシーケンスを送ることがで きる場合、コンピュータだけで、端末を使えるように設定ができます。運が良 ければ /etc/inittab ファイルに ``getty'' コマンドを記述しておくことで、 必要なことが全てできますよ。コンピュータが起動した時に、``login:'' プ ロンプトを端末に対して送りますから。詳細は Getty (/etc/inittab にある) をご覧ください。
コンピュータはデバイスドライバ (カーネルの一部) を使って端末と通信しま す。シリアルデバイスドライバにはデフォルトの設定があり、 端末で ``login'' が動く前にそのうちの一部 (時には全部) が getty プログラムにより設定 されます。しかし、追加の設定には ``stty'' と ``setserial'' と呼ぶプロ グラムが必要になる時があります。コンピュータの電源を切る度にこの設定が 消えるので、これらのプログラムを (もし必要なら) 毎回動かさなければなり ません。 コンピュータセットアップ (設 定) の詳細をご覧ください。
選択可能なオプションはかなりたくさんあります。通信オプションが正しく設 定されていないと、端末はまったく動かないでしょう。別なオプションを間違 って設定しても、使われてない機能なら問題ありません。例えば、端末にプリ ンタが接続されてなければ、プリンタの設定パラメータが端末内でどのように 設定されようと違いはありません。最後の文は 100% 正しいわけではありませ ん。端末にプリンタが接続されてないのに、コンピュータからプリンタに文字 (データ) を全てリダイレクトするコマンドを送ったとしましょう。そうする と画面にはなにも表示されず、端末が死んでしまいます。幾つかの端末には、 プリンタが接続されていないことを示す設定オプションがあります。この場 合 `` プリンタ'' への出力をリダイレクトするどんなコマンドも無視するの で、上記のような問題は起こりません。しかし、端末を本当に変にしてしまう 誤ったコマンドが他に多くあるので、これはたいした助けにはならないでしょ う。誤ってバイナリファイルを端末に送ったような状況に似ています。
いくつかの場合では、端末がある状態に設定されていると思っているまれなプ ログラムを動かさない限りは、誤った設定によるこの種の問題は起らないでし ょう。表示上の外観のみを決める別なオプションがあり、間違った設定がなさ れた場合、端末はうまく動くはずですが見た目がおかしくなります。
幾つかのオプションは端末にのみ影響するもので、コンピュータで設定する必 要はありません。例えば、明るい背景に黒字で表示したいですか ? 背景が黒 いより目に優しいですよね。押し続けられたキーを繰り返すようにしますか ? 行が画面の右端に来たら画面を折り返しますか ? キークリック音を鳴らしま すか ?
通信設定 (オプション) の幾つかは端末とコンピュータの両方にあり、通信速 度、パリティ、キャラクター長やフロー制御などは両者で正しく設定されなけ ればなりません。通信オプションには端末側でのみ設定されるものもあります (この組み合せでのみ通信するのに不可欠なものです)。物理ポート ttyS2 の ポートアドレスや割り込み番号 (IRQ) のようなオプションは、 ``setserial'' コマンドを使ってコンピュータ側でのみ設定されます。以上の基本的なオ プションが全て矛盾なく設定されるまで、端末とコンピュータの通信は満足に できません (まったくできないのと同じ)。端末では、各端末毎にメニューを 使って (もしくは各端末で特別なカートリッジを使って) 手作業でこれらのオ プションを設定しなければなりません。ホストコンピュータは、電源投入のた び (もしくは誰かがログインした時) にコマンドを発行して設定をおこないま す。ログインプロセスが動かす (/etc/inittab で指定した) getty プログラ ムがコンピュータの設定を行なうこともあります。 Getty (in /etc/inittab) をご覧ください。
コンピュータと端末の両方の設定です。
端末だけの基本的な設定です。
Getty (in /etc/inittab) が、あなたの望むよう にコンピュータ側の設定ができないなら、 Stty と Setserialコマンドの一つ (あるいは両方) を使う必要があります。
端末とコンピュータの両方で同じ設定にしなければなりません。通信速度はビ ット / 秒 (bps または ボーレート) で表します。エラーなしで高速通信する にはフロー制御をしたほうがよいでしょう。端末側では送信 (Transmit) と受 信 (Receive) -- 時々 T,R と省略します -- の 2 つの速度が設定でき、普通 は両方が同じ速度に設定するので、Linux の stty ではまだ別々に設定できる ようになってないと思われます (``stty'' コマンドのオプションでこれがで きますが、実際は両方とも同じ設定にします)。 共通の速度は 300, 600, 120 0, 2400, 4800, 9600, 19200, 38400 などがあり、低速 (600 のような) はプ リンタやハードコピー端末用です。
パリティの定義については パリティの説明を ご覧ください。たいていはパリティ禁止がデフォルトです。パリティを許可す るなら、端末とコンピュータの両方で許可して、偶数パリティか奇数パリティ のどちらかを選択します。偶数、奇数のどちらを選んでも大差ありません。端 末では時々、送信と受信のパリティの両方を設定します。コンピュータでの stty は異なった設定を許さないので両方とも同じ設定にすべきです。普通、 PC のシリアルポートは異なるパリティをサポートしません。幾つかの端末で は受信パリティを設定できませんから、受信パリティビットを単に無視します 。1 文字を 8 bit として扱う古い端末は、ハードウェア的にパリティビット の拡張ができないので、パリティチェックもできません。
パリティを使うべきでしょうか ? パリティは、必然性はないけどもあれば尚 良しといったところです。パリティがなければ不正な文字をあちこちで受信し て、存在しない文字のスペルミスを補正しようとするでしょう。しかし、パリ ティにはコストがかかります。第一に、デフォルトがパリティなしなので設定 が少々複雑です。第二に、1 バイト毎に 1 ビット以上のパリティビットが付 加されるので、通信ケーブルを通過するスピードが低下するでしょう。これに よって有効速度が低下するかどうかはわかりませんが。
例えば、ハードコピー端末は印刷処理で機械的に制限されます。コンピュータ (のUART チップ) が送る 1 秒当りのバイト量が増えると、機械的な印刷処理 に追いつくようにフロー制御の ``停止'' 信号が頻繁に送られることになるで しょう。フロー制御による待機があっても、効果的な速度を保つにはパリティ 以外にはありません。幾つかの端末でも状況は同じです。パリティを実装した 後で、1 秒当りのビット数 (平均) が少し増えたために、単位時間当りでは少 しはフロー制御によって待機することになります。しかし、追加したパリティ ビットのせいで 1 秒当りのバイト数 (平均) は同数となります。
一つのオプションはパリティなしで端末をインストールしてしまうことです。 パリティエラーに気付いた後で、それを設定するのです。パリティなしの時に 発生するエラーに目ぼしをつけるには、身に覚えのないスペルミスを探すこと です。そんなエラーに気づいたら、画面をリフレッシュ (コンピュータから再 送信する) してください。エラーがなくなったら、それはパリティエラーです。 そのようなエラーが多発したら (数百画面に 1 つ以上)、パリティを有りにし たり、通信速度を落したり、また、より短かく品質の良いケーブルを使用する などの適切な策をとる必要があります。パリティ有りにしてもエラーの数は減 りませんが、エラーがいつ発生したかはわかります。
まさに正反対の方針は、最初からパリティ有りにしておくことです。それで、 パリティエラー (CRT の文字化け) が発生しなければ (一ヶ月か二ヶ月の一定 期間)、パリティ無しにしても安全です。
これは文字のサイズです (パリティビットを除く 1 文字当りのデータビット の数)。ASCII では 7 ビット、ISO 文字セットなら 8 ビットです。もし ASCI I キャラクタしか使わないのなら、8 ビット長より転送速度が早いので、 7 ビット長を選択しましょう。幾つかの古い端末は 7 ビット文字しか表示でき ません。
フロー制御は、``ハードウェア''(例えば DTR/CTS) か、``ソフトウェア'' (X onn/Xoff) のどちらかの選択となります。(Adds の端末メニューでは、どちら のフロー制御にも ``Xon/Xoff'' と間違った使い方をしています)。(ケーブル に 1 本か 2 本の余分な線があって、端末がサポートするなら) ハードウェア フロー制御のほうが速く動作しますが、Xon/Xoff もそれ程悪くはありません。 何人かの人がハードウェアフロー制御に変えることで、気がかりな問題を解決 したこと (以下を見てください) を報告していますが、ソフトウェアフロー制 御は別な設定で良好に動作します (私自身の場合ですが)。
もしソフトウェア (Xon/Xoff) フロー制御を使い、ユーザがそれについて何も 知らないなら、ホストにうっかり Xoff を送ったり、端末をロックしたりする と思います。端末がロックしている間、ユーザは端末をアンロックしようと無 駄な試みながら、大慌てでいろんなキーをタイプすることでしょう。そして通 信を回復するために Xon が送られた時、急いでタイプした全てが実行されて、 恐らく予期せぬ結果が生じるのです。ハードウェアフロー制御ならこんなこと は起こりません。フロー制御の説明は フロー 制御 をご覧ください。
ほとんどの端末には背面に 2 つ以上のコネクタがあるので、通常、1 つのコ ネクタをホストコンピュータとの接続用に、もう 1 つをプリンタとの接続用 に割り当てることができます。コネクタの近くには名前があって (調べてみて ください)、この名称 (Aux,Serial 2 あるいは Modem) はホストかプリンター のどちらかの接続 (あるいはそれに類するもの) に割り当てられます。
上記のことは全てひどく複雑に思えますが、端末を動作させるのはかなり簡単 なものですよ。 クイックインストールの章では、これを試す簡単な方法につ いて述べています。でもうまく動かなかったり、より良い表示にしたくなった り、あるいは性能を上げたければもっと深く読む必要があります。