- Merge the following from the English version:

r10210 -> r10504	head/ja_JP.eucJP/books/handbook/serialcomms/chapter.sgml

Submitted by:	Hiroo Ono <hiroo _at_ jp dot FreeBSD dot org>
Reference:	[doc-jp-work 1898]
This commit is contained in:
Ryusuke SUZUKI 2012-07-21 11:53:11 +00:00
parent d0d67960bd
commit e097d883b6
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=39240

View file

@ -2,7 +2,7 @@
The FreeBSD Documentation Project The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project The FreeBSD Japanese Documentation Project
Original revision: r10210 Original revision: r10504
$FreeBSD$ $FreeBSD$
--> -->
@ -86,11 +86,6 @@
</varlistentry> </varlistentry>
</variablelist> </variablelist>
<!-- XXX Use a formal citation and bibliography entry -->
<para>これらの用語やデータ通信一般に関して、
より詳しい情報が必要な場合は、<emphasis>The RS-232
Bible</emphasis> という本が参考になるでしょう。</para>
<para>通信におけるデータ転送速度に関して、 <para>通信におけるデータ転送速度に関して、
著者は<quote>ボー</quote> (baud) という用語は使いません。 著者は<quote>ボー</quote> (baud) という用語は使いません。
ボーというのは一定時間に生じうる電気的状態の変化の数を表すにすぎず、 ボーというのは一定時間に生じうる電気的状態の変化の数を表すにすぎず、
@ -112,47 +107,19 @@
<sect3 id="term-cables"> <sect3 id="term-cables">
<title>ケーブル</title> <title>ケーブル</title>
<para>端末の接続は、シリアルポートを利用します。そこで、端末を <para>シリアルケーブルにはさまざまな種類があります。
FreeBSD システムに接続するためには、シリアルケーブル 我々の目的にあうもっとも一般的な 2 種類は、
(RS-232C ケーブ ルとも呼ばれています) ヌルモデムケーブル<footnote><para>訳注: リバースケーブル、
が必要となります。</para> もしくはクロスケーブルと呼ばれることもあります。</para></footnote>
と、スタンダード (ストレート) RS-232 ケーブルです
ハードウェアの説明文書に必要なケーブルの種類が記載されているはずです。</para>
<para>シリアルケーブルには2種類のケーブルがあります。 <sect4 id="term-cables-null">
どちらの種類の ケーブルを使わなければいけないかは、
どんな端末を接続したいかによります。</para>
<indexterm><primary>ヌルモデムケーブル</primary></indexterm>
<itemizedlist>
<listitem>
<para>もし、PC を端末として利用したい場合は、<link
linkend="term-null">ヌルモデム</link> ケーブル
(リバースケーブルもしくは
クロスケーブルと呼ばれることもしばしばあります)
を使用してください。ヌルモデムケーブルは、
コンピュータ同士や端末同士を接続するために用い
られるケーブルです。</para>
</listitem>
<listitem>
<para>もし、本物の端末を接続するのであれば、その端末につい
てきたドキュメントからどのようなケーブルを
使うべきか調べてください。も しドキュメントがない場合は、
まず <link linkend="term-null">ヌルモデム</link>
ケーブルを試してみて、うまくいかない場合は <link
linkend="term-std">スタンダード</link> ケーブル
(しばしばストレートケーブルと呼 ばれます)
を試してみてください。</para>
</listitem>
</itemizedlist>
<para>また、端末側と FreeBSD 側の <emphasis>両方の</emphasis>
シリアルポート の形状が、
あなたが使用しようとしているケーブルについているコネクタの形
状と一致していなければなりません。</para>
<sect4 id="term-null">
<title>ヌルモデムケーブル</title> <title>ヌルモデムケーブル</title>
<indexterm>
<primary>ヌルモデムケーブル</primary>
</indexterm>
<para>ヌルモデムケーブル (またはリバースケーブルあるいはクロ <para>ヌルモデムケーブル (またはリバースケーブルあるいはクロ
スケーブル) は、たとえば <quote>signal ground</quote> スケーブル) は、たとえば <quote>signal ground</quote>
信号のように、いくつかの信 号はそのまま通しますが、 信号のように、いくつかの信 号はそのまま通しますが、
@ -162,8 +129,7 @@
ピンと繋がっています。</para> ピンと繋がっています。</para>
<para>自分で使うケーブルは自分で作りたいということであれば、 <para>自分で使うケーブルは自分で作りたいということであれば、
以下にター ミナルを接続する際に推奨される 端末で使うヌルモデムケーブルを作成できます。この表では、
ヌルモデムケーブルの結線を示しておきま す。この表では、
RS-232C の信号線の名前と、DB-25 コネクタ上のピンの番 RS-232C の信号線の名前と、DB-25 コネクタ上のピンの番
号を示しています。</para> 号を示しています。</para>
@ -253,9 +219,9 @@
</note> </note>
</sect4> </sect4>
<sect4 id="term-std"> <sect4 id="term-cables-std">
<title>スタンダード RS-232C ケーブル</title> <title>スタンダード RS-232C ケーブル</title>
<indexterm><primary>RS-232C ケーブル</primary></indexterm> <indexterm><primary>RS-232C ケーブル</primary></indexterm>
<para>スタンダードシリアルケーブル <para>スタンダードシリアルケーブル
(またはストレートケーブル) の場合は、すべての RS-232C (またはストレートケーブル) の場合は、すべての RS-232C
@ -307,9 +273,9 @@
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para>着信用のポートの名前は、<filename> <para>着信用のポートの名前は、
/dev/ttyd<replaceable>x</replaceable></filename> ( <filename>/dev/ttyd<replaceable>N</replaceable></filename>
<replaceable>x</replaceable> は 0から始まるポート番号) (<replaceable>N</replaceable> は 0から始まるポート番号)
となっています。一般に端末の接続には となっています。一般に端末の接続には
着信用ポートを用います。着信用のポートでは、 着信用ポートを用います。着信用のポートでは、
シリアルラインのデータ キャリア検出 (DCD) シリアルラインのデータ キャリア検出 (DCD)
@ -317,8 +283,8 @@
</listitem> </listitem>
<listitem> <listitem>
<para>発信用のポートの名前は、<filename> <para>発信用のポートの名前は、
/dev/cuaa<replaceable>x</replaceable></filename> <filename>/dev/cuaa<replaceable>N</replaceable></filename>
となっています。 となっています。
発信用のポートは普通モデムの接続に用い、端末の接続には 発信用のポートは普通モデムの接続に用い、端末の接続には
利用しません。ただ、 利用しません。ただ、
@ -328,10 +294,7 @@
</listitem> </listitem>
</itemizedlist> </itemizedlist>
<para>詳しくは、&man.sio.4; <para>たとえば、端末を一つ目のシリアルポート (MS-DOS
のマニュアルをご覧ください。</para>
<para>たとえば、端末を一つ目のシリアルポート (DOS
でいうところの <devicename>COM1</devicename>) に接 でいうところの <devicename>COM1</devicename>) に接
続したとすると、<filename>/dev/ttyd0</filename> 続したとすると、<filename>/dev/ttyd0</filename>
がこの端末を指すことになります。また、 がこの端末を指すことになります。また、
@ -339,12 +302,6 @@
ならば <filename>/dev/ttyd1</filename> となり、 ならば <filename>/dev/ttyd1</filename> となり、
以下この形式のデバイスエントリを使います。</para> 以下この形式のデバイスエントリを使います。</para>
<para>各シリアルポート、
特にマルチポートのシリアルカードを利用する ために、kernel
の設定をおこなう必要がある場合がありますので、注意してくだ
さい。詳しくは、<link linkend="kernelconfig">FreeBSD
カーネルのコンフィグレーション</link>
をご覧ください。</para>
</sect4> </sect4>
</sect3> </sect3>
</sect2> </sect2>
@ -359,9 +316,7 @@
<devicename>COM3:</devicename> および <devicename>COM3:</devicename> および
<devicename>COM4:</devicename> と呼ばれています。 <devicename>COM4:</devicename> と呼ばれています。
FreeBSD では、現在のところ BocaBoard の 1008 や 2016 などの、 FreeBSD では、現在のところ BocaBoard の 1008 や 2016 などの、
<quote>単純な</quote>マルチポートシリアルインタフェース <quote>単純な</quote>マルチポートシリアルインタフェースや、
(これらのカード関して、詳しいことは &man.sio.4;
のマニュアルページをご覧ください) や、
Digiboard や Stallion Technologies Digiboard や Stallion Technologies
が製造しているよりインテリジェントなマルチポートカードにも対応しています。 が製造しているよりインテリジェントなマルチポートカードにも対応しています。
デフォルトのカーネルは、標準の COM ポートしか見ません。</para> デフォルトのカーネルは、標準の COM ポートしか見ません。</para>
@ -371,11 +326,14 @@
カーネルの起動時のメッセージを注意深く見るか、あるいは カーネルの起動時のメッセージを注意深く見るか、あるいは
<command>/sbin/dmesg</command> コマンドを使って、 <command>/sbin/dmesg</command> コマンドを使って、
起動時の出力メッセージを確認してください。特に、 起動時の出力メッセージを確認してください。特に、
<literal>sio</literal> で始まるメッセージをよく見てください。 <literal>sio</literal>
参考までに、以下のコマンドで <literal>sio</literal> で始まるメッセージをよく見てください。</para>
<tip><para>以下のコマンドで <literal>sio</literal>
という文字列を含むメッセージだけを表示できます。</para> という文字列を含むメッセージだけを表示できます。</para>
<screen>&prompt.root; <userinput>/sbin/dmesg | grep 'sio'</userinput></screen> <screen>&prompt.root; <userinput>/sbin/dmesg | grep 'sio'</userinput></screen>
</tip>
<para>たとえば、シリアルポートを四つ持つシステムの場合は、 <para>たとえば、シリアルポートを四つ持つシステムの場合は、
以下のようなシリアルポートに関するメッセージがカーネルによって表示されます。</para> 以下のようなシリアルポートに関するメッセージがカーネルによって表示されます。</para>
@ -391,8 +349,8 @@ sio3: type 16550A</screen>
<para>もし、カーネルに正常に認識されないポートがある場合は、 <para>もし、カーネルに正常に認識されないポートがある場合は、
おそらくカスタマイズした FreeBSD カーネルを構築する必要があるでしょう。 おそらくカスタマイズした FreeBSD カーネルを構築する必要があるでしょう。
これについて詳しくは <xref linkend="kernelconfig"> カーネルコンフィグレーションの詳細については
をご覧ください。</para> <xref linkend="kernelconfig"> をご覧ください。</para>
<para>カーネルコンフィグレーションの該当するデバイス行は、 <para>カーネルコンフィグレーションの該当するデバイス行は、
次のようになります。</para> 次のようになります。</para>
@ -438,18 +396,17 @@ device sio3 at isa? port "IO_COM4" tty irq 9 vector siointr</programlisting>
<filename>/dev</filename> ディレクトリにある、 <filename>/dev</filename> ディレクトリにある、
<quote>デバイススペシャルファイル</quote>を介してアクセスされます。 <quote>デバイススペシャルファイル</quote>を介してアクセスされます。
<devicename>sio</devicename> デバイスの場合は、着信用の <devicename>sio</devicename> デバイスの場合は、着信用の
<filename>/dev/ttyd<replaceable>?</replaceable></filename> <filename>/dev/ttyd<replaceable>N</replaceable></filename>
および、発信用の および、発信用の
<filename>/dev/cuaa<replaceable>?</replaceable></filename> <filename>/dev/cuaa<replaceable>N</replaceable></filename>
が利用されます。さらに、FreeBSD では、 が利用されます。さらに、FreeBSD は、初期化デバイス
初期化デバイス (<filename>/dev/ttyid<replaceable>N</replaceable></filename> と
(<filename>/dev/ttyid<replaceable>?</replaceable></filename> と <filename>/dev/cuai0<replaceable>N</replaceable></filename>)
<filename>/dev/cuai0<replaceable>?</replaceable></filename>)
およびロッキングデバイス およびロッキングデバイス
(<filename>/dev/ttyld<replaceable>?</replaceable></filename> と (<filename>/dev/ttyld<replaceable>N</replaceable></filename> と
<filename>/dev/cual0<replaceable>?</replaceable></filename>) <filename>/dev/cual0<replaceable>N</replaceable></filename>)
合わせて利用されます。初期化デバイスは、 用意しています。
通信ポートがオープンされる度に、 初期化デバイスは、通信ポートがオープンされる度に、
そのポートの初期設定を行うために使われます。たとえば、 そのポートの初期設定を行うために使われます。たとえば、
<literal>CTS/RTS</literal> <literal>CTS/RTS</literal>
によるフロー制御を行うモデムが接続されている場合の によるフロー制御を行うモデムが接続されている場合の
@ -457,13 +414,20 @@ device sio3 at isa? port "IO_COM4" tty irq 9 vector siointr</programlisting>
などのパラメータの初期化が行われます。 などのパラメータの初期化が行われます。
ロッキングデバイスは、ポートの設定をロックし、 ロッキングデバイスは、ポートの設定をロックし、
他のユーザやプログラムにこれらを変更されることのないようにするために利用されます。 他のユーザやプログラムにこれらを変更されることのないようにするために利用されます。
通信ポートの設定、ロックとデバイスの初期化および設定の変更に関しては、 通信ポートの設定、デバイスのロックと初期化および設定の変更に関しては、
それぞれ &man.termios.4;, &man.sio.4; と &man.stty.1; それぞれ &man.termios.4;, &man.sio.4; と &man.stty.1;
のマニュアルをご覧ください。</para> のマニュアルをご覧ください。</para>
<sect3> <sect3>
<title>デバイススペシャルファイルの作成</title> <title>デバイススペシャルファイルの作成</title>
<note><para>FreeBSD 5.0 には、
必要に応じてデバイスノードを自動的に作成する
<literal>devfs</literal> ファイルシステムがあります。
<literal>devfs</literal> が有効になっているバージョンの
FreeBSD を動かしているなら、
この節は飛ばしてかまいません。</para></note>
<para>デバイススペシャルファイルの管理は、ディレクトリ <para>デバイススペシャルファイルの管理は、ディレクトリ
<filename>/dev</filename> にあるシェルスクリプト <filename>/dev</filename> にあるシェルスクリプト
<command>MAKEDEV</command> で行います。 <command>MAKEDEV</command> で行います。
@ -478,14 +442,14 @@ device sio3 at isa? port "IO_COM4" tty irq 9 vector siointr</programlisting>
用のデバイススペシャルファイルを作成できます。</para> 用のデバイススペシャルファイルを作成できます。</para>
<para><command>MAKEDEV</command> は、 <para><command>MAKEDEV</command> は、
<devicename>/dev/ttyd<replaceable>?</replaceable></devicename> <devicename>/dev/ttyd<replaceable>N</replaceable></devicename>
のデバイスファイルだけでなく、 のデバイススペシャルファイルだけでなく、
<devicename>/dev/cuaa<replaceable>?</replaceable></devicename>, <devicename>/dev/cuaa<replaceable>N</replaceable></devicename>,
<devicename>/dev/cuaia<replaceable>?</replaceable></devicename>, <devicename>/dev/cuaia<replaceable>N</replaceable></devicename>,
<devicename>/dev/cuala<replaceable>?</replaceable></devicename>, <devicename>/dev/cuala<replaceable>N</replaceable></devicename>,
<devicename>/dev/ttyld<replaceable>?</replaceable></devicename> <devicename>/dev/ttyld<replaceable>N</replaceable></devicename>
および および
<devicename>/dev/ttyid<replaceable>?</replaceable></devicename> <devicename>/dev/ttyid<replaceable>N</replaceable></devicename>
ノードも作成します。</para> ノードも作成します。</para>
<para>デバイススペシャルファイルの作成後、 <para>デバイススペシャルファイルの作成後、
@ -514,8 +478,8 @@ crw-rw---- 1 uucp dialer 28, 193 Feb 15 14:38 /dev/cuala1</screen>
<indexterm><primary><devicename>ttyd</devicename></primary></indexterm> <indexterm><primary><devicename>ttyd</devicename></primary></indexterm>
<indexterm><primary><devicename>cuaa</devicename></primary></indexterm> <indexterm><primary><devicename>cuaa</devicename></primary></indexterm>
<para><devicename>ttyd<replaceable>X</replaceable></devicename> <para><devicename>ttyd<replaceable>N</replaceable></devicename>
(または <devicename>cuaa<replaceable>X</replaceable></devicename>) (または <devicename>cuaa<replaceable>N</replaceable></devicename>)
デバイスは、 デバイスは、
アプリケーション上でシリアルポートをオープンする時に使用する、 アプリケーション上でシリアルポートをオープンする時に使用する、
標準的なデバイスです。プロセスがデバイスをオープンする際、端末 標準的なデバイスです。プロセスがデバイスをオープンする際、端末
@ -753,22 +717,9 @@ crw-rw---- 1 uucp dialer 28, 193 Feb 15 14:38 /dev/cuala1</screen>
この章ではこの方法については特に解説しませんので、&man.gettytab.5; この章ではこの方法については特に解説しませんので、&man.gettytab.5;
および &man.getty.8; のマニュアルをご覧ください。</para> および &man.getty.8; のマニュアルをご覧ください。</para>
<para>この手順を理解しやすくするため、
この節では実際に動いている例を使います。
この例ではシステムに、Wyse-50 と、VT-100
端末をエミュレートするソフトウェアの
<application>Procomm</application> を動かしている古い 286 IBM PC
の 2 台の端末を接続します。Wyse は 2 番目のシリアルポートに、
286 は 6 番目の (マルチポートシリアルカードの)
シリアルポートに接続します。</para>
<sect3 id="term-etcttys"> <sect3 id="term-etcttys">
<title><filename>/etc/ttys</filename> へのエントリの追加</title> <title><filename>/etc/ttys</filename> へのエントリの追加</title>
<para>既にエントリがある場合を除いて、まず初めに
<filename>/etc/ttys</filename>
にエントリを追加しなければいけません。</para>
<para><filename>/etc/ttys</filename> には、 <para><filename>/etc/ttys</filename> には、
FreeBSDシステム上のログインを許可するすべての FreeBSDシステム上のログインを許可するすべての
ポートを記述します。たとえば、一つ目の仮想コンソール ポートを記述します。たとえば、一つ目の仮想コンソール
@ -789,175 +740,124 @@ crw-rw---- 1 uucp dialer 28, 193 Feb 15 14:38 /dev/cuala1</screen>
これらのポートのいずれかに端末を接続する場合は、 これらのポートのいずれかに端末を接続する場合は、
新たにエントリを追加する必要はありません。</para> 新たにエントリを追加する必要はありません。</para>
<para>ここで紹介している例では、 <example id="ex-etc-ttys">
既にファイルにエントリが存在する 2 番目のシリアルポート、 <title>端末の項目を <filename>/etc/ttys</filename>
<filename>ttyd1</filename> に Wyse-50 を接続しています。 に追加する</title>
一方、6 番目のシリアルポートに接続する 286 マシン用のエントリは、
新たに追加してやらなければなりません。
以下に、エントリを追加した後の
<filename>/etc/ttys</filename> から抜粋して示します。</para>
<programlisting>ttyd1 "/usr/libexec/getty std.9600" unknown off secure <para>システムに 2 台の端末、Wyse-50 と、VT-100
ttyd5</programlisting> 端末をエミュレートしている
</sect3> <application>Procomm</application>
端末ソフトウェアを動かしている古い 286 IBM PC
をシステムに接続しようとしていると考えてください。
Wyse は 2 番目のシリアルポートに、286 は
6 番目のシリアルポート
(マルチポートシリアルカード上のポート) に接続します。
<filename>/etc/ttys</filename>
内の対応する項目は次のようになります。</para>
<sect3 id="term-getty"> <programlisting>ttyd1<co
<title><replaceable>getty</replaceable> タイプの指定</title> id="co-ttys-line1col1"> "/usr/libexec/getty std.38400"<co
id="co-ttys-line1col2"> wy50<co
id="co-ttys-line1col3"> on<co
id="co-ttys-line1col4"> insecure<co
id="co-ttys-line1col5">
ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure
</programlisting>
<para>次に、 <calloutlist>
端末からのログインを処理するプログラムの指定をおこな います。 <callout arearefs="co-ttys-line1col1">
FreeBSDでは、標準的には <para>最初のフィールドには、通常 <filename>/dev</filename>
<filename>/usr/libexec/getty</filename> をこの目的 にある端末のスペシャルファイル名を指定します。</para>
で利用しています。<prompt>login:</prompt> </callout>
プロンプトを送り出しているのは、このプロ グラムです。</para> <callout arearefs="co-ttys-line1col2">
<para><command>getty</command> プログラムは、 <para>2 番目のフィールドは、
コマンドラインパラメータとして、 この回線に対して実行するコマンドで、通常は &man.getty.8;
<replaceable>getty</replaceable> タイプをとります。ただし、 です。<command>getty</command>
このパラメータは必須ではあ りません。 は、回線を初期化して開き、速度を設定して、
<replaceable>getty</replaceable> タイプは、 ユーザ名を入力するプロンプトを出して &man.login.1;
ボーレートやパリティといった、接続され プログラムを実行します。</para>
た端末の特徴を表すものです。<command>getty</command>
プログラムは、与えられた <replaceable>getty</replaceable>
タイプに対応したこれらの特徴を
<filename>/etc/gettytab</filename> から 読み込みます。</para>
<para>ファイル <filename>/etc/gettytab</filename> には、 <para><command>getty</command> プログラムは、
新旧の端末に関する多数のエントリ が記述されています。 コマンドラインから (省略可能な) パラメータ
ほとんどの場合、<literal>std</literal> <replaceable>getty</replaceable> タイプを受け取ります。
という文字列で始まる名前 のエントリを使えば、 <replaceable>getty</replaceable> タイプは、
接続された端末に対してログインセッションを提供す bps レートやパリティのような端末回線の特性を示します。
ることができます。これらのエントリを利用した場合、 <command>getty</command> プログラムは、
パリティは無視されま す。110 bps から 115200 bps これらの特性を <filename>/etc/gettytab</filename>
までのボーレートに対応した <literal>std</literal> のエン ファイルから読み込みます。</para>
トリがあります。当然、
新たなエントリを追加することも可能です。
&man.gettytab.5; のマニュアルに、
さらに詳しく解説されています。</para>
<para><filename>/etc/ttys</filename> の <emphasis <para><filename>/etc/gettytab</filename> ファイルには、
remap=tt>getty</emphasis> タイプの設定をする際は、 端末回線について新旧多くの項目があります。
端末側の通信 パラメータの設定が、<emphasis ほとんどの場合、<literal>std</literal>
remap=tt>getty</emphasis> で始まる項目は、ケーブルで接続された端末に働きます。
タイプのものと一致していることを確認し てください。</para> これらの項目はパリティを無視します。110 から 115200
までの間の bps レートそれぞれに対して一つ
<literal>std</literal> 項目があります。もちろん、
このファイルに独自の項目を加えてもかまいません。
&man.gettytab.5;
のマニュアルに詳しい情報が載っています。</para>
<para>紹介している実例では、Wyse50 はパリティなし 38400 bps <para><filename>/etc/ttys</filename> ファイルに
で接続していま す。また、286 マシンの方は、パリティなし <replaceable>getty</replaceable> タイプを設定する時は、
19200 bps の接続です。以下は、 端末の通信設定が対応していることを確かめましょう。</para>
この段階でのこの二つの端末に関する
<filename>/etc/ttys</filename> の設定です。</para>
<programlisting>ttyd1 "/usr/libexec/getty std.38400" unknown off secure <para>たとえば、Wyse-50 はパリティなしで、38400 bps
ttyd5 "/usr/libexec/getty std.19200"</programlisting> で接続します。286 PC はパリティなしで、19200 bps
で接続します。</para>
</callout>
<para>ここで、実行するプログラムを指定している <callout arearefs="co-ttys-line1col3">
2番目のフィールドが、ダブルクォー
テーションに囲まれていることに注意してください。
こうしないと、<command>getty</command> のタイプの指定が、
つぎのフィールドとして判断されてしまう可 能性があるので、
十分注意することが必要です。</para>
</sect3>
<sect3 id="term-deftermtype"> <para>第 3 フィールドは、その tty
<title>デフォルトのターミナルタイプの指定</title> 回線に通常つながる端末の種別です。
ダイアルアップポートでは、実際、
ユーザがどんな種類の端末やソフトウェアで接続してくることもありうるので、
このフィールドには <literal>unknown</literal> または
<literal>dialup</literal> がよく使われています。
ケーブルで配線された端末については、
端末種別は変わりませんので、&man.termcap.5;
データベースファイルから実際の端末種別を、
このフィールドに記入できます。</para>
<para><filename>/etc/ttys</filename> の 3番目のフィールドには、 <para>我々の例では、Wyse-50
そのポートのター ミナルタイプのデフォルトを指定します。 には実際の端末種別を使っていますが、
ダイアルアップ用のポートの場合 は、 <application>Procomm</application> を動かしている
ユーザがどのタイプの端末あるいは 286 PC は、VT-100
通信ソフトを利用してダイアルアップ をエミュレートするように設定します。</para>
してくるかは分からないので、<literal>unknown</literal> や </callout>
<literal>dialup</literal> を記述するの が一般的です。一方、
直結された端末の場合、ターミナルタイプが変わるこ
とはありませんから、
このフィールドには実際のターミナルタイプを記述し
ます。</para>
<para>一般に、ユーザは <filename>.login</filename> や <callout arearefs="co-ttys-line1col4">
<filename>.profile</filename> などのファイル内で <para>4 番目のフィールドは、
<command>tset</command> コマンドを使って、 ポートを有効にすべきかどうかを指定します。
ターミナルタイプをチェックし、必要ならば ここに <literal>on</literal> と記入すると、
ターミナルタイプの入力を求めるプロンプトを <command>init</command> プロセスが
表示するようにします。この とき、 2 番目のフィールドに記載されているプログラム、
<filename>/etc/ttys</filename> <command>getty</command> を起動します。
の中でターミナルタイプが指定されていれば、 このフィールドを <literal>off</literal> にすると、
このプロンプトを表示せずに先に進むことが可能です。</para> <command>getty</command> は動かず、
そのポートからはログインできません。</para>
</callout>
<indexterm><primary>termcap</primary></indexterm> <callout arearefs="co-ttys-line1col5">
<para>FreeBSD 上で、どのターミナルタイプを利用できるかは、 <para>最後のフィールドは、
<filename>/usr/share/misc/termcap</filename> をご覧ください。 そのポートが安全かどうか指定します。
このファイルには、お あるポートが安全だということは、そのポートから
よそ 600 のターミナルタイプが定義されています。 <username>root</username> (またはその他の UID が 0 の)
必要ならば、新たなエン アカウントのログインを許可してよいと信頼しているということです。
トリを追加することも可能です。詳しくは &man.termcap.5; 安全でないポートからは、<username>root</username>
のマニュアルをご覧ください。</para> のログインは許可されません。安全でないポートでは、
ユーザは特権を持たないアカウントでログインした後に、
&man.su.1; や類似の仕組みを使ってスーパユーザ特権を獲得します。</para>
<para>紹介している例では、Wyse-50 のターミナルタイプは <para>鍵のかかる部屋にある端末であっても、"insecure"
Wyse-50 です (もっ にしておくことが強く推奨されます。
とも他のタイプをエミュレートすることも可能ですが、ここでは スーパユーザ特権が必要なら、ログインしてから
Wyse-50 モー ドで使用します)。また、286マシン上では <command>su</command> を使うのは十分簡単です。</para>
Procomm が VT-100 エミュレー </callout>
ションをおこなうように設定されています。以下が、まだ未完成の </calloutlist>
<filename>/etc/ttys</filename> の関連部分です。</para> </example>
<programlisting>ttyd1 "/usr/libexec/getty std.38400" wy50 off secure
ttyd5 "/usr/libexec/getty std.19200" vt100</programlisting>
</sect3>
<sect3 id="term-enable">
<title>ポートを利用可能にする</title>
<para><filename>/etc/ttys</filename> の 4 番目のフィールドは、
そのポートをアクティブにするかどうかの設定です。
このフィールド に <literal>on</literal> を指定すると、
<command>init</command> プロセスが
2 番目のフィールドに書かれたプログラム、
<command>getty</command> を実行し、
ログインのためのプロンプトを送り出すようになります。
このフィールドに <literal>off</literal> を記述すると、
<command>getty</command> は起動されず、
よってこのポートからのログインもできなくなります。</para>
<para>ということで、当然このフィールドには
<literal>on</literal> を指定します。以下が
<filename>/etc/ttys</filename> です。それぞれのポートを
<literal>on</literal> にしました。</para>
<programlisting>ttyd1 "/usr/libexec/getty std.38400" wy50 on secure
ttyd5 "/usr/libexec/getty std.19200" vt100 on</programlisting>
</sect3>
<sect3 id="term-secure">
<title>安全 (secure) なポートの指定</title>
<para>とうとう最後のフィールドの設定です。
(実際にはここでは触れませんが、
オプショナルな <literal>window</literal>
の設定のフィールドも存在するので、
ほぼ最後のフィールドといった方が正確かもしれません)
最後のフィールドでは、
そのポートが安全かどうかを指定します。</para>
<para>ポートが安全 (secure) であると指定するということは、
<username>root</username> アカウント
(またユーザ ID が 0 のあらゆるアカウント)
がそのポートからログインしてもよいという信頼をおいているということです。
安全でない (insecure) ポートからは <username>root</username>
はログインできません。安全でないポートでは、
ユーザは特権を持たないアカウントでログインした後で &man.su.1;
などを使ってスーパユーザ権限を得なければなりません。</para>
<para>鍵のかかったドアの内側にある端末であっても
<quote>insecure</quote> を使うことを薦めます。
スーパユーザの特権が必要な場合でも、ログインして &man.su.1;
を使うのはとても簡単なことです。</para>
<para>以下に、ようやく完成した <filename>/etc/ttys</filename>
のエントリに端末の場所を表
すコメントを追加したものを示します。</para>
<programlisting>ttyd1 "/usr/libexec/getty std.38400" wy50 on insecure # Kitchen
ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure # Guest bathroom</programlisting>
</sect3> </sect3>
<sect3 id="term-hup"> <sect3 id="term-hup">
@ -981,7 +881,7 @@ ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure # Guest bathroom</prog
</sect2> </sect2>
<sect2 id="term-debug"> <sect2 id="term-debug">
<title>トラブルシューティング</title> <title>接続のトラブルシューティング</title>
<para>細心の注意を払って設定をおこなっても、 <para>細心の注意を払って設定をおこなっても、
ときには端末の接続がう まくいかない場合があるでしょう。以下に、 ときには端末の接続がう まくいかない場合があるでしょう。以下に、
@ -1014,8 +914,8 @@ ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure # Guest bathroom</prog
<para><command>getty</command> が動いていて、 <para><command>getty</command> が動いていて、
端末を認識していることを確認してください。 端末を認識していることを確認してください。
たとえば、動作中の getty プロセスの一覧を たとえば、動作中の <command>getty</command>
<command>ps</command> プロセスの一覧を <command>ps</command>
で取得するには、以下のように入力してください。</para> で取得するには、以下のように入力してください。</para>
<screen>&prompt.root; <userinput>ps -axww|grep getty</userinput></screen> <screen>&prompt.root; <userinput>ps -axww|grep getty</userinput></screen>
@ -1075,12 +975,14 @@ ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure # Guest bathroom</prog
<author> <author>
<firstname>Guy</firstname> <firstname>Guy</firstname>
<surname>Helmer</surname> <surname>Helmer</surname>
<contrib>原作: </contrib> <contrib>寄稿: </contrib>
</author> </author>
</authorgroup>
<authorgroup>
<author> <author>
<firstname>Sean</firstname> <firstname>Sean</firstname>
<surname>Kelly</surname> <surname>Kelly</surname>
<contrib>加筆: </contrib> <contrib>改訂: </contrib>
</author> </author>
</authorgroup> </authorgroup>
</sect1info> </sect1info>
@ -1411,7 +1313,8 @@ vq|VH57600|Very High Speed Modem at 57600,8-bit:\
</indexterm> </indexterm>
<para><filename>/etc/ttys</filename> <para><filename>/etc/ttys</filename>
ファイルの設定は、前の節で端末の設定として扱われています。 ファイルの設定は、<xref linkend="ex-etc-ttys">
で扱われています。
モデムの設定も似たようなものですが、<command>getty</command> モデムの設定も似たようなものですが、<command>getty</command>
に異なる引数を渡して、異なる端末種別を指定しなければなりません。 に異なる引数を渡して、異なる端末種別を指定しなければなりません。
固定速度および可変速度両方に共通する形式は次のようになります。</para> 固定速度および可変速度両方に共通する形式は次のようになります。</para>
@ -1731,8 +1634,10 @@ AT&amp;B2&amp;W</programlisting>
あるか、あるいはモデムの設定に問題があることが考えられます。 あるか、あるいはモデムの設定に問題があることが考えられます。
</para> </para>
<para>もし、適切なポートをオープンしようとしている <para>もし、期待した
<command>getty</command> が見あたらない 場合は、再度 <filename>ttyd<replaceable>N</replaceable></filename>
ポートをオープンしようとしている
<command>getty</command> が見あたらない場合は、再度
<filename>/etc/ttys</filename> の内容を確認し、 <filename>/etc/ttys</filename> の内容を確認し、
書式などに誤りがないか 調べてみてください。また、ログ 書式などに誤りがないか 調べてみてください。また、ログ
ファイル <filename>/var/log/messages</filename> に ファイル <filename>/var/log/messages</filename> に
@ -1741,9 +1646,9 @@ AT&amp;B2&amp;W</programlisting>
もし何かメッセージが記録されていたら、再度 もし何かメッセージが記録されていたら、再度
<filename>/etc/ttys</filename>、 <filename>/etc/ttys</filename>、
<filename>/etc/gettytab</filename> の二つの設定ファイルと、 <filename>/etc/gettytab</filename> の二つの設定ファイルと、
ディバイス スペシャル <!-- kuriyama - ? to replaceble --> ディバイス スペシャルファイル
ファイル <filename>/dev/ttyd?</filename> を確認し、 <filename>/dev/ttydN</filename> を確認し、
記述に誤りがないか、足りないエ ントリがないか、 記述に誤りがないか、足りないエントリがないか、
足りないディバイス スペシャルファイルがないかといった 足りないディバイス スペシャルファイルがないかといった
点について調べてみてください。</para> 点について調べてみてください。</para>
</sect3> </sect3>
@ -1836,7 +1741,7 @@ AT&amp;B2&amp;W</programlisting>
<sect2> <sect2>
<title>私の Hayes モデムはサポートされていません、 <title>私の Hayes モデムはサポートされていません、
どうしよう?</title> どうすればよいでしょう?</title>
<para>実際、<command>tip</command> の <para>実際、<command>tip</command> の
マニュアルページは古くなっています。既に Hayes マニュアルページは古くなっています。既に Hayes
@ -1893,7 +1798,7 @@ AT&amp;B2&amp;W</programlisting>
<screen>&prompt.root; <userinput>cd /dev</userinput> <screen>&prompt.root; <userinput>cd /dev</userinput>
&prompt.root; <userinput>./MAKEDEV cuaa0</userinput></screen> &prompt.root; <userinput>./MAKEDEV cuaa0</userinput></screen>
<para>または root になって以下のように cu <para>または root になって以下のように <command>cu</command>
コマンドを実行します:</para> コマンドを実行します:</para>
<screen>&prompt.root; <userinput>cu -l<replaceable>line</replaceable> -s<replaceable>speed</replaceable></userinput></screen> <screen>&prompt.root; <userinput>cu -l<replaceable>line</replaceable> -s<replaceable>speed</replaceable></userinput></screen>
@ -1938,12 +1843,12 @@ tip57600|Dial any phone number at 57600bps:\
<para>のように利用できます。 <para>のように利用できます。
<command>tip</command> より <command>cu</command> を使いたい場合、 <command>tip</command> より <command>cu</command> を使いたい場合、
<command>cu</command> の generic エントリを使います: <literal>cu</literal> の generic エントリを使います。</para>
<programlisting>cu115200|Use cu to dial any number at 115200bps:\ <programlisting>cu115200|Use cu to dial any number at 115200bps:\
:dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:</programlisting> :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:</programlisting>
そして</para> <para>そして</para>
<screen>&prompt.root; <userinput>cu 5551234 -s 115200</userinput></screen> <screen>&prompt.root; <userinput>cu 5551234 -s 115200</userinput></screen>
@ -1963,7 +1868,7 @@ tip57600|Dial any phone number at 57600bps:\
<sect2> <sect2>
<title>ターミナルサーバを経由して <title>ターミナルサーバを経由して
複数のホストへアクセスしたいです。</title> 複数のホストへアクセスしたいです。</title>
<para>毎回接続されるのを待って <para>毎回接続されるのを待って
<command>CONNECT &lt;host&gt;</command> と入力する <command>CONNECT &lt;host&gt;</command> と入力する
@ -2017,11 +1922,13 @@ big-university 5551114</programlisting>
<sect2> <sect2>
<title><keycombo action="simul"> <title><keycombo action="simul">
<keycap>Ctrl</keycap><keycap>P</keycap> <keycap>Ctrl</keycap>
<keycap>P</keycap>
</keycombo> </keycombo>
を 1 回送るために を 1 回送るために
<keycombo action="simul"> <keycombo action="simul">
<keycap>Ctrl</keycap><keycap>P</keycap> <keycap>Ctrl</keycap>
<keycap>P</keycap>
</keycombo> </keycombo>
を 2 度押す必要があるのはなぜ?</title> を 2 度押す必要があるのはなぜ?</title>
@ -2045,7 +1952,7 @@ big-university 5551114</programlisting>
</keycombo> </keycombo>
<keycombo action="simul"> <keycombo action="simul">
<keycap>Ctrl</keycap><keycap>SPACE</keycap> <keycap>Ctrl</keycap><keycap>Space</keycap>
</keycombo> </keycombo>
を押しても入力できます。また、 を押しても入力できます。また、
<replaceable>single-char</replaceable> に <replaceable>single-char</replaceable> に
@ -2150,6 +2057,8 @@ raisechar=^^</programlisting>
<surname>YOKOTA</surname> <surname>YOKOTA</surname>
<contrib>寄稿: </contrib> <contrib>寄稿: </contrib>
</author> </author>
</authorgroup>
<authorgroup>
<author> <author>
<firstname>Bill</firstname> <firstname>Bill</firstname>
<surname>Paul</surname> <surname>Paul</surname>
@ -2293,7 +2202,8 @@ raisechar=^^</programlisting>
<para>後述される <option>-h</option> オプション <para>後述される <option>-h</option> オプション
を無視して、(他に優先度の高いコンソールがない限り) を無視して、(他に優先度の高いコンソールがない限り)
このポートをコンソールとして指定します。 このポートをコンソールとして指定します。
このフラグは FreeBSD バージョン 2.X の このフラグは FreeBSD バージョン
2.<replaceable>X</replaceable> の
<literal>COMCONSOLE</literal> オプションに対応するものです。 <literal>COMCONSOLE</literal> オプションに対応するものです。
フラグ <literal>0x20</literal> は必ず フラグ <literal>0x20</literal> は必ず
フラグ <option>0x10</option> と一緒に指定されなければなりません。</para> フラグ <option>0x10</option> と一緒に指定されなければなりません。</para>