<!doctype linuxdoctr system>
<article>
<title> Text-Terminal-HOWTO </title>
<author> David S. Lawyer <tt/dave@lafn.org/

<date> v1.13, June 2000 
<trans>翻訳：青野 正幸 <tt/masayuki@shikoku.ne.jp/
<tdate>日本語訳：2000 年 7 月 22 日作成
<!--
Change log:
v1.13 killing getty permanently, reset bug+, man lilo
v1.12 May 2000 lilo.conf for serial console, reset -> setterm -reset (due to
bug), scrolling region 25-line problem, sharing+, JavaStation-HOWTO.
v1.11 2 March 2000 New link to vtprint, links to char-sets +, typos
v1.10 Modem status interrupts work, Rubini said no.  DoubleVision.
Emulation software, Wyse 60
v1.09 About 20 changes/clarifications suggested by Rubini, serial-console+
v1.08 parity login-loop, slow due to IRQ, removed m4_define TorS,
ncurses +
v1.07 wyse urls +, terminfo locations +, bits/char prob.
m4-includes for copyright, setserial (2.15), and stty.  raw mode during
login, half-duplex set by mistake, only xmit parity, ttysnoop details
v1.06 June 1999 typos, more re serial-console, half-duplex, lower hardware
costs ?
v1.05 May 1999 booting w/o monitor, chatting, dmesg doesn't show all messages
v1.04  April 1999 bit control codes, fixed "If no DTR then elim DTR to CTS
wire", New Vers., echos ng, serial-console (+ baud patch).  DTR at terminal 
(not computer), full DTR/DSR flow control
v1.03 Jan.1999 screen package, fixed wysetterl link, terms have low
load on PC, fixed credits, IGNOREEOF, "exit" for logout
v1.02 Nov. 1998 vttest, Don't use TERM for emulation, Mac-Terminal,
fixed links
v1.01 Oct. 1998 Run levels 456 to 23 in Greg's getty entry. Typos.
Fixed broken links.  Corrections. Minor changes.
v1.00 Sept. 1998 Major revision. Added Set-Up Options and Esc Sequence
 sections, etc.  Many minor changes.  Merged in info from Greg's
Serial-HOWTO.
v0.05 June 1998 Elim. DSR from term. flow control.  CTS->RTS.
Clarity. More on Term server.  Term not client-server.
v0.04 June 1998: Warn against making cables per Serial-HOWTO.  More on
DTR flow control.  New terminology section.  Better clarity.
Dial-in/out reversed.  PC as terminal server: Interrupts.   Ref. to
Serial-Programming-HOWTO.  Login restrictions.  /etc/terminfo ->
terminfo.src.  Stopped reviewing at Trouble-Shooting.
v0.03 11 May 1998: Added version #.  No version # on earlier ones.  Added
more other names for terminals.  A few typos & more apt words.  Break
signal is +12v (not -12v).  Removed calling smart terminals a niche
market.
v0.02 May 1998: Interchanged definitions of mark and space.  
v0.01 April 1998: Changed Hayes URL.  Changed info on hardware flow control to
include old-fashioned RTS/CTS handshaking and DTR/DSR flow control.
Organizational changes.
v0.00 April 1998.  After reading it over on hikes in Griffith Park and
correcting many mistakes, etc. I finally submitted it.
-->

<abstract>
<!--
This document explains what text terminals are, how they work, how to
install and configure them, and provides some info on how to repair
them.  If you don't have a terminal manual, it may be of help.  While
it's written for real terminals on a Linux system, some of it is also
applicable to terminal emulation and may be helpful for non-Linux
systems.
-->
この文書は、テキスト端末とは何か、どのように働くのか、インストールや設定
の方法、それに端末の修理方法について述べています。端末のマニュアルがな
くとも役に立つでしょう。Linux システム上での本当の端末について書いてい
ますが、端末エミュレータについても適用できますし、非 Linux システムに
使えると思います。
</abstract> 
<toc>

<sect><!-- Introduction --> はじめに <label id="intro">

<p>
<!--
 For a quick attempt to install a terminal see <ref id="quick_install"
name="Quick Install">.
-->
すぐにでも端末をインストールするなら<ref id="quick_install"
name="クイックインストール">をご覧ください。

<sect1><!-- Copyright, Trademarks, Disclaimer, & Credits -->
著作権表示、登録商標、免責事項、クレジット
<em>訳注：ライセンス関係については原文をそのまま示します。</em>

<sect2> Copyright
<p> Copyright 1998-2000 by David S. Lawyer.<tt/dave@lafn.org/
<!-- license.H begin -->

Please freely copy and distribute (sell or give away) this document
in any format.  Forward any corrections and comments to the document
maintainer.  You may create a derivative work and distribute it
provided that you:

<enum>
<item> Send your derivative work (in the most suitable format such as
  sgml) to the LDP (Linux Documentation Project) or the like for
  posting on the Internet.  If not the LDP, then let the LDP know
  where it is available.  Except for a translation, send a copy to the
  previous maintainer's url as shown in the latest version.
<item>License the derivative work in the spirit of this license or use
  GPL.  Include a copyright notice and at least a pointer to the 
  license used.
<item>Give due credit to previous authors and major contributors.
</enum>

If you're considering making a derived work other than a
translation, it's requested that you discuss your plans with the
current maintainer. 

<sect2>Disclaimer
<p> While I haven't intentionally tried to mislead you, there are
likely a number of errors in this document.  Please let me know about
them.  Since this is free documentation, it should be obvious that I
cannot be held legally responsible for any errors.

<sect2>Trademarks.
<p> Any brand names (starts with a capital letter) should be assumed to
be a trademark).  Such trademarks belong to their respective owners.
<!-- copyright.H end -->


<sect2> Credits
<p> Much of the section "Physical Connection" is from Serial-HOWTO v.
1.11 by Greg Hankins (with his permission).  His "How Do I Set Up A
Terminal Connected To My PC?" was incorporated into v1.00 at various
places.  v1.09 has about 25 changes (and error corrections) suggested
by Alessandro Rubini who reviewed this HOWTO.

<sect1><!-- Future Plans: You Can Help --> 将来の計画：助けてください
<p>
<!--
 Please let me know of any errors in facts, opinions, logic,
spelling, grammar, clarity, links, etc.  But first, if the date is
over a few months old, check to see that you have the latest version.
Please send me any info that you think belongs in this document.
-->
事実、意見、論理の組み立て、単語の綴、文法、文章の分りやすさ、リンク等
に問題があれば、筆者にお知らせください。ただし 一ヶ月以上古い版の文書
であれば、先に最新版かどうかを確認してください。また、この文書に関連す
ると思われる情報があればお知らせください。

<!--
Starting with version 1.00, a first attempt was made to help
people set up terminals without recourse to a terminal manual.  Much
more is needed in this respect.  One way to solve this problem would
be if terminal manufacturers put their manuals on the Internet.  I
suggest that you encourage them to do so.  The task of providing
information on how to configure most terminals in this HOWTO is
daunting.  There are so many different terminals, but there are far
fewer models than there used to be in the 1980,s so the task is not
totally infeasible.
-->
この文書の version 1.00 以降は、端末のマニュアルに頼ることなく端末のセッ
トアップができるようにすることを第一の目標としてこの文書を作成してきま
した。この点で多くのものが必要です。この問題を解決する一つの方法は、端
末の製造メーカ自身がインターネット上にマニュアル類を公開することです。
そうするよう彼らにうながして欲しい。ほとんどの端末を構成する方法につい
ての情報をこの文書で提供することは、気が遠くなるような作業です。端末に
は多くの種類がありますが、1980 年頃に使われていた台数よりはるかに少な
い種類ですから、この作業は全く不可能というわけではありません。

<!--
Please send me any surplus terminal manuals which you may have,
especially on terminals made within the past 10 years (but I'll
accept older ones also).  Also, you might want to write up something
on a certain terminal to put in the Appendix D: Notes by Brand Name.
-->
あなたが所有している端末で、特に製造後 10 年以内のものの余分なマニュア
ル類があれば私宛に送ってもらえませんか (より古いものも受け付けます)。
また、お使いの端末について何か情報をいただけましたら、
「付録 D: 製品名一覧」にいくつかの端末情報として記載できると思います。

<sect1><!-- New Versions of this HOWTO --> この HOWTO の最新版について
<p>
<!--
 New versions of the Text-Terminal-HOWTO will be available to
browse and/or download at LDP mirror sites.  For a list of mirror
sites see: <url url="http://linuxdoc.org/mirrors.html">.
Various formats are available.  If you only want to quickly check the
date of the latest version look at <url
url="http://linuxdoc.org/HOWTO/Text-Terminal-HOWTO.html">.  The
version your are currently reading is: v1.13, June 2000 .  New in this version
is: killing getty permanently, reset bug+, man lilo. .
-->
Text-Terminal-HOWTO の最新版は LDP とそのミラーサイトで閲覧または入手
することができます。ミラーサイトの一覧は<url
url="http://linuxdoc.org/mirrors.html">にあります。
この文書は様々なフォーマットで入手可能です。
最新版の日付をちょっと確認したいだけなら、<url
url="http://linuxdoc.org/HOWTO/Text-Terminal-HOWTO.html">
を見るとよいでしょう。現在のバージョンは v1.13, June 2000 です。

<sect1><!-- Related HOWTO's --> 関連文書<label id="related_howtos">
<p>
<!--
 Go to the websites shown above to get these.
<itemize>
<item> Serial-HOWTO has info on Multiport Serial Cards used for both
terminals and banks of modems.  It has general technical info on the
serial port including troubleshooting it.
<item> Modem-HOWTO 
<item> Serial-Programming-HOWTO
<item> NCD-X-Terminal mini-HOWTO
<item> Xterminal-HOWTO (unmaintained).  It's at <url url=
"http://sunsite.unc.edu/pub/Linux/docs/HOWTO/unmaintained/mini/Xterminal">
</itemize>
-->
これらの文書は上記のウェブサイトで入手してください。
<itemize> Serial-HOWTO には端末やモデムプールのためのマルチポートシリアルカー
ドについての情報があります。シリアルポート上のトラブルシューティングを
含む一般的な技術情報が記載されています。
<item> Modem-HOWTO
<item> Serial-Programming-HOWTO
<item> NCD-X-Terminal mini-HOWTO
<item> Xterminal-HOWTO (メンテナンスされていません)。<url url=
"http://sunsite.unc.edu/pub/Linux/docs/HOWTO/unmaintained/mini/Xterminal">
にあります。
</itemize>

<sect1><!-- Terminology Used in this Document --> 本書で使う用語
<p>
<!--
 Configuration means the same as set-up.  While Linux commands take
options (using - symbols), options in a broader sense include various
other types of choices.  Install in the broad sense includes setting
up (configuring) software and hardware.  A statement that I suspect is
true (but may not be) ends with 2 question marks: ??  If you know for
sure, let me know. 
-->
設定 (configuration) とセットアップ (set-up) は同じ意味で使っています。
Linux のコマンドはオプション( - を用いて)を使いますが、広義でのオプション
は他の様々な種類の「選択」をも含みます。広義でのインストールはソフトウェ
アとハードウェアをセットアップ (設定) することと同義です。疑わしい (違
うかもしれない) 説明には文末に疑問符を二つ ?? 付け加えています。確かな
ことをご存知なら私に知らせてください。

<sect1><!-- What is a Terminal ? --> 端末とは ?
<p>
<!--
 A terminal consists of a screen and keyboard that one uses to
communicate remotely with a (host) computer.  One uses it just like it
was a personal computer but the terminal is remote from its host
computer (on the other side of the room or even on the other side of
the world).  Programs execute on the host computer but the results
display on the terminal screen.  Its computational ability is
relatively low (otherwise it would be a computer and not a terminal).
This computational ability is generally limited to the ability to
display what is sent to it (possibly including full-screen graphics)
and the ability to send to the host what is typed at the keyboard.
-->
端末とはスクリーンとキーボードから構成され、(ホスト) コンピュータとリモー
トで会話するために使う装置です。それはパーソナルコンピュータのようにも
使えますが、端末は (別な部屋または世界の他の場所にある) ホストコンピュー
タと遠隔接続されます。プログラムはホストコンピュータ上で実行されますが、
結果は端末のスクリーン上に表示されます。処理能力は相対的に低いものです 
(端末としてではなくコンピュータとしてみた場合です) から、一般に、端末
に送られたデータ (ひょっとしたらフルスクリーングラフィックスを含む) を
表示したり、キーボードでタイプしたデータをホストへ送るくらいの能力しか
持っていません。

<!--
In the days of mainframes from the mid 1970's to the mid 1980's, most
people used terminals to communicate with computers.  They typed in
programs, ran programs, wrote documents, issued printing commands,
etc.  A cable connected the terminal to the computer (often
indirectly).  It was called a terminal since it was located at the
terminal end of this cable.
-->
1970 年中頃から 1980 年中頃にかけてメインフレームが全盛だった時代に、
ほとんどの人はコンピュータと会話するのに端末を使っていました。プログラ
ムを作り、実行し、文書を書いて、印刷用のコマンドを発行する等々。ケーブル
が端末とコンピュータを接続していました (しばしば回り道しながら)。端末
(terminal) と呼ばれるのは、ケーブルの終端 (terminal end) に位置してい
たからです。

<!--
If you've been using Linux (except for X-Window use) with a computer
monitor and keyboard you already know what a terminal is because you
have been using one (or more precisely a "virtual terminal").  The
monitor (along with the keyboard) is emulating a terminal.  In
X-Windows the programs xterm, rxvt, and zterm emulate terminals.
-->
コンピュータモニタとキーボードにより Linux (X ウインドウの使用を除く) 
を使用したことがあるなら、あなたはすでに端末とは何かを知っていることになりま
す。なぜなら、それ (もしくは、より正確に言えば ``仮想端末'') を使ってい
るのですから。(キーボードが附属している) モニタは端末をエミュレートし
ます。X-Windows では xterm, rxvt, zterm が端末をエミュレートしています。

<!--
A real terminal is different from a monitor because it's a different
electronic setup.  A text terminal is often connected to a serial port
of the computer via a long cable.  Thus, in contrast to a monitor
which is usually located right next to the computer, a terminal may be
quite a distance away from its host computer.  The video card inside a
computer stores the video image seen on the monitor screen.  For a
terminal, the equivalent of this video card is built right into the
terminal but since text terminals are often monochrome without much
graphics, the capabilities of its "video card" are rather weak.  Also,
most text terminals do not have mice.
-->
本当の端末はモニタとは違ったものです。理由は、電子的なセットアップが
異なるからです。テキスト端末はコンピュータのシリアルポートに長いケー
ブルを経由して接続します。従って、通常はコンピュータの隣に設置されるモ
ニタとは対照的に、端末はホストコンピュータからかなり離れた所にあります。
コンピュータ内部のビデオカードはモニタスクリーン上の画像を記憶します。
端末にはビデオカードと同等品が内蔵されていますが、大抵のテキスト端末は
グラフィックス表示もできない、文字だけのモノクロスクリーン
しか表示できないので、コンピュータ内部のビデオカードよりも貧弱です。
その上、ほとんどのテキスト端末にはマウスがありません。

<!--
In network client-server terminology, one might think that the
terminal is the client and that the host computer is the server.  The
terminal has been called a "thin client" by some.  But it is not
actually a "client" nor is the host a "server".  The only "service"
the host provides is to receive every letter typed at the keyboard and
react to this just like a computer would.  The terminal is like a
window into the computer just like a monitor (and keyboard) are.  You
may have already used virtual terminals in Linux (by pressing Left
Alt-F2, etc.).  A real terminal is just like running such a virtual
terminal but you run it on its own terminal screen instead of having
to share the monitor screen.  In contrast to using a virtual terminal
at the console (monitor), this allows another person to sit at the
real terminal and use the computer simultaneously with others.
-->
ネットワークでのクライアント - サーバ用語を当てはめるなら、端末はクライアン
トで、ホストコンピュータがサーバだと言えます。他方、端末は ``シンクラ
イアント (thin client)'' であるとも言います。しかし実際、端末は ``クライア
ント'' ではなく、またホストは ``サーバ'' ではないのです。ホストが提供する唯一
の ``サービス'' は、キーボードから入力された全ての文字を受信して、その
通りに (期待通りに) コンピュータが反応するだけです。端末はコンピュータ
の中のウィンドウのようなものです。ちょうどモニタ (とキーボード) がそうで
あるように。あなたはすでに Linux で (左側の Alt-F2 キー等を押すことに
よって) 仮想端末を使ったことがあるかもしれません。本当の端末は、見た目
こそ、そのような仮想端末に似ていますが、モニタ画面を共有しているのでは
無く、端末ごとに、モニタスクリーン (とキーボード) があります。コンソー
ル (モニタ) で仮想端末をひとりでいくつも使用しているのではなく、本当の
端末の前に人が座って、別の人たちと同時にコンピュータを利用しています。

<sect1>日本語版謝辞
<p>
翻訳にあたって下記の皆さんからアドバイスやコメントをいただきました。どうもありがとうございました。

<verb>
大森保英さん
川嶋さん
佐野武俊さん
佐藤亮一さん
水原＠表千家さん
高城正平さん
武井伸光さん
中野武雄さん
野本浩一さん
早川仁さん
森本 淳さん
山森 浩幸さん
</verb>

<sect><!-- Types of Terminals --> 端末のタイプ

<sect1><!-- Dumb Terminals --> ダム端末

<p>
<!--
 There are various conflicting definitions of "dumb terminal" but
as time goes by, more and more terminals are called dumb.  This
document mainly covers text terminals which display only text on the
screen.  It might be titled "Dumb-Terminal-HOWTO" but in some
magazines articles any terminal, no matter how smart, including ones
which present a full graphical user interface (GUI), are called dumb.
If all terminals are "dumb" then there is no point of prefixing the
word "dumb" to terminal (except as a sales pitch to sell computers or
the like in place of "smart" terminals).  Due to the ambiguous meaning
of "dumb terminal" it is not classified here as a type of terminal.
-->
``ダム端末 (dumb terminal)'' には様々な矛盾した定義がありますが、時が
たつにつれ、ますます多くの端末がダム (愚か) と呼ばれるようになりました。
本書では主としてスクリーン上にテキストだけを表示するテキスト端末を扱い
ます。本書のタイトルを ``Dumb-Terminal-HOWTO'' としてもよかったかもし
れませんが、雑誌記事では、たとえフルグラフィックスユーザインターフェイ
ス (GUI) を備えた賢い (smart) 端末をも含めてダムと呼んでいるのです。も
し全ての端末が ``ダム端末'' なら、端末の前にダムとつける意味はありませ
ん (セルコンピュータや ``スマート'' 端末のかわりのような商売上の表現を
除いては)。ダム端末の意味はあいまいなので、ここでは端末のタイプを明瞭
に区別するものではありません。

<sect1><!-- Text Terminals --> テキスト端末

<p>
<!--
 For a text terminal, a 2-way flow of information between the
computer and the terminal takes place over the cable that connects
them together.  This flow is in ASCII bytes where each byte usually
represents a character.  Bytes typed at the keyboard go to the
computer and most bytes from the computer are displayed on the
terminal screen.  Special bytes (or sequences of bytes) from the
computer tell the terminal where to move the cursor to, what to erase,
where to begin and end underlining and/or blinking and/or bold, etc.
There are often hundreds of such special commands and many terminals
can even change fonts.
-->
テキスト端末では、コンピュータと端末を結ぶケーブル上を情報が 2 方向に
流れています。通常、この流れは各バイトが文字を表現する ASCII バイトで
す。キーボードでタイプしたバイトはコンピュータに向い、コンピュータから
のほとんどのバイトが端末スクリーンに表示されます。コンピュータからの特
別なバイト (もしくはバイト列) は、カーソルをどこへ動かすか、何を消すか、
どこからどこへ下線を引くか、あるいはブリンクやボールド等を端末に指示し
ます。そのような特別なコマンドは 100 を越え、多くの端末ではフォントの
変更さえできます。

<!--
The communication uses characters (letters) encoded using a code chart
for the character set being used.  Usually, the first 128 bytes out of
256 possible bytes use ASCII codes.  Terminals for Unix-like systems,
normally connect to computers via a cable running between the
asynchronous serial ports (RS-232-C = EIA-232-D) of the host computer
and terminal.  Sometimes the connection is via modem or terminal
server, etc.
-->
使用する文字セット用のコード表を使ってエンコードした文字 (文字列) を通
信に使用します。通常、使用可能な 256 バイトの内、最初の 128 バイトが 
ASCII コードとして使われます。Unix のようなシステムのための端末では、 
ホストコンピュータと端末の非同期シリアルポート (RS-232-C = EIA-232-D) 
間をケーブルで接続します。たまにモデムやターミナルサーバ等を経由するこ
とがあります。

<!--
Other names for text terminals are "serial terminal", "character-cell
terminal", "ASCII/ANSI terminal", "asynchronous terminal", "data
terminal", "video terminal" and "video display terminal" (VDT).  In
olden days "video display unit" (VDU) was used for terminals but
strictly speaking, it excludes the keyboard.
-->
テキスト端末には他に ``シリアル端末''、``キャラクタセル端末''、``ASCII
/ANSI 端末''、``非同期端末''、``データ端末''、``ビデオ端末''、``ビデオ
表示端末 (VDT)'' の名称があります。昔は ``ビデオ表示装置 (VDU)'' が端
末として使われましたが、厳密に言うと、それにはキーボードがありませんで
した。

<!--
"Block mode" was used exclusively by old IBM mainframe terminals but
many modern terminals also have this capability (which is not used
much).  The characters you type are temporarily retained in the
terminal memory (and may possibly be edited by a built-in editor at
the terminal).  Then when the send key (or the like) is pressed, a
block of characters (sometimes just a line of characters) is sent to
the computer all at once.  Block mode (as of late 1998) is not
supported by Linux.  See section <ref id="block" name="Block
Mode">.
-->
``ブロックモード'' は IBM の古いメインフレームで唯一使われましたが、最
新の多くの端末にもこの機能が備わっています (多くは使われませんが)。タ
イプしたキャラクタは一時的に端末のメモリに保持されます (そして、端末に
組み込みのエディタで編集することもできます)。それから、送信キー (もし
くはそれに類するキー) が押されると、キャラクタのブロック (時にキャラク
タ列として) が一挙にコンピュータに送られます。ブロックモードは Linux 
ではサポートされていません (1998 年後半現在)。 <ref id="block"
name="Block Mode">をご覧ください。

<sect1><!--  Graphics Terminals --> グラフィックス端末

<p>
<!--
 To a limited degree some ASCII symbols can provide graphics on
text terminals.  One may form  arrows <&#045;&#045;&#045; and draw 
boxes with _ and
|.  With special graphic character sets, even more is possible.  None
of these are really graphics terminals.  However, the term "graphics
terminal" is sometimes applied to all text-only terminals since text
is a limited form of graphics.  <label id="vector_graphics">
-->
ASCII 記号を使ってでもある程度までならテキスト端末上で「絵」を描くこと
は可能です。矢印は <&#045;&#045;&#045;、箱を表示するなら _ と | でできるで
しょう。特別なグラフィックス文字セットを描くことさえ可能です。このようなもの
は本物のグラフィックス端末ではありませんが、``グラフィックス端末'' という
用語は、テキストがグラフィックスの限定した形態であることから、テキスト
端末にもあてはまります。<label id="vector_graphics">

<!--
There are two basic types of graphics displays: raster and vector
(rarely used).  Raster graphics (bit-mapped) puts dots on the screen
by horizontal scan lines drawn by an electron beam (or by activating
pixels or dots on a flat screen).  Vector graphic displays are usually
for monochrome screens that don't have any dots.  They use smart
electronics to draw lines and curves with an electron beam that can
move in any direction (at any angle and location).  Vector graphics
draws high quality lines without zig-zags but is both rare and
expensive.  Raster graphics is almost universally used today.  For
PC's, images encoded in vector graphic format are sometimes used but
they are translated to raster graphics format for display (with a drop
in image quality).
-->
グラフィックスを表示するための二つの基本的なタイプに、ラスタとベクター
 (稀に使われます) があります。ラスタグラフィックス (ビットマップ) は電
子ビーム (または活性化ピクセル、またはフラットスクーン上のドット) に
よって描かれた水平走査線でスクリーンにドットを描いていきます。ベクタ
ーグラフィックスディスプレイは、通常、モノクロで、ドットはありません。
それらは、どの方向 (どんな角度や位置) にも移動できる電子ビームで直線
や曲線を描くのにすぐれた電子デバイスを使います。ベクターグラフィック
スはジグザグのない高品質の線画を描きますが、それはまたあまり使われず、
かつ高価なものです。今日、ラスタグラフィックスはほぼ一般的に使われて
います。PC ではベクターグラフィックス形式でエンコードされたイメージも
たまに使われますが、表示するときにラスタグラフィックス形式に (描画品
質の劣化を伴って) 変換されているのです。

<sect2><!-- Serial Line Graphics Terminals --> シリアルライングラフィックス端末
<p>
<!--
 Most of this document also applies to these.  Most of these can
also function as text terminals.  The protocols for such graphics
include: Tektronix Vector Graphics, ReGIS (DEC), Sixel (DEC), and
NAPLPS (North American Presentation Level Protocol Syntax). 
-->
本書の大部分も、この種の端末を対象としたものです。これらのほとんどは、
テキスト端末としても機能します。そのようなグラフィクスのプロトコルには
以下のものがあります：Tektronix Vector Graphics, ReGIS (DEC), Sixel (D
EC), NAPLPS (North American Presentation Level Protocol Syntax)

<sect2><!-- Fast Graphics Terminals (often known by other names) -->
高速グラフィックス端末 (しばしば他の名前で知られる)
<p>
<!--
 None of these covered in this document.  A terminal that deserves
to be called smart is a graphics terminal which can rapidly display
full-screen graphics just like a PC monitor.  It will also have a
mouse.  Bytes sent to it often represent bit-maps for pictures (and
other graphics).  It will often use a high-speed connection to its
host computer using twisted pair or coax cable.  X-Window terminals
are such devices.  See the link to Xterminal-HOWTO at <ref
id="related_howtos" name="Related HOWTO's">
-->
本書ではこれについての記述はありません。賢い (smart) と呼ぶに値する端
末とは PC モニタのようにフルスクリーングラフィックスを瞬時に表示できる
グラフィックス端末のことです。それはマウスもサポートするでしょう。画像
(や、その他のグラフィックス) ビットマップを表示するために、端末にバイ
トを送ります。ツイステッドペアケーブルや同軸ケーブルを使ったホストコ
ンピュータとの高速通信にも用いられます。X-Windows 端末はそのような
装置です。 <ref
id="related_howtos" name="Related HOWTO's">にある Xterminal-HOWTO への
リンクをご覧ください。

<!--
For displaying a MS-Windows GUI there are at various types of
interfaces and terminals: Winterm using WinFrame software from Citrix
is one.  Another (based in part on Citrix's code) is Hydra (code name)
by Microsoft, also known as "Windows Terminal Server" which works with
versions 4 or higher of MS Windows NT.  Citrix uses its ICA protocol
and has created an add-on to Hydra known as pICAsso so that WinFrame
(ICA) based terminals can use the Hydra system.  Hydra is also
multi-user.  There is also the "MultiConsole Personal Terminal" by
Unbounded Technologies and Tektronix had its own multi-user interface
but will now support Hydra.  A magazine article in 1997 called Winterm
a "dumb terminal" but it's really pretty smart.  Such terminals are
often called "thin clients", but some thin clients are more that just
terminals as they can execute Java code sent to them, etc.
-->
MS-Windows GUI を表示するために様々なタイプのインターフェイスと端末が
あります : Citrix の WinFrame を使った Winterm はその一つです。 (Citri
x のコードをベースにした) 他のものとして Microsoft 社の Hydra (コード
ネーム ) があります。これは MS Windows NT 4.00 以降で動く ``Windows Te
rminal Server'' として知られているものです。Citrix 社は ICA プロトコル
を使って、WinFrame(ICA) をベースにした端末が Hydra システムを利用でき
るように、pICAsso として知られている Hydra へのアドオンを作成しました。
そして Hydra はマルチユーザでもあります。Unbounded Technologies 社には
``MultiConsole Personal Terminal'' があり、また Tektronix 社には自社
製のマルチユーザインターフェイスがありますが、現在は Hydra のサポート
を表明しています。1997 年の雑誌記事では、Winterm のことを ``ダム端末'' 
と呼んでいますが、実際はかなり賢いものです。そのような端末のことを
よく ``シンクライアント (thin clients)'' と呼びますが、シンクライアン
トの幾つかはもはや端末以上で、そこに送られた Java コードを実行するこ
となどができます。

<sect1><!-- Network Computers (NCs) -->ネットワークコンピュータ (NC)
<p>
<!--
 These are neither true computers nor terminals but are something
in-between.  One type of network computer (NC's) is a computer with a
CPU but no hard Disk.  They are full-graphics and connect to a server
computer.  They are different from terminals since the programs they
run execute on their own CPU chips.  Java code may be sent to them for
execution.  IBM calls this a "Network Station".  They should work on
IP networks and might work under a server running Linux.  Wintel
established a "NetPC" which, unlike the above, is almost a PC
computer.  However, it has no removable disks so users can't install
their own software or obtain copies of anything.  For using the Sun
JavaStation NC under Linux see the JavaStation-HOWTO released in Apr.
24, 2000.
-->
これは本来の意味でのコンピュータでも端末でもなく、その中間に位置するも
のです。あるタイプのネットワークコンピュータ (NC) は、(CPUはあっても) 
ハードディスクがないコンピュータです。NC はフルグラフィックス表示が可
能で、サーバコンピュータと接続して使用します。 NC 自身の CPU でプログ
ラムを動かすことができるので、端末とは異なったものです。実行するための
Java コードが送られるかもしれません。 IBM はこれを ``ネットワークステ
ーション'' と呼んでいます。それは IP ネットワーク上で動作するはずなの
で、Linux が動くサーバの下でも動作するかもしれません。Wintel は上述の
端末とは異った ``NetPC'' を作りました。これはほとんど PC コンピュータ
です。しかしリムーバブルディスクがないので、ユーザは自分のソフトウェ
アのインストールや何かのコピーを手に入れることができません。Sun
JavaStation NC で Linux を使うには 2000 年 4 月 24 日にリリースした 
JavaStation-HOWTO をご覧ください。

<!--
Although the promoters of NCs and related Window-Terminals projected
that they would replace millions of PCs, it hasn't yet happened.  A
major reason is that PCs have come down in price in recent years so
that they are often even cheaper than NCs, etc.  Thus for terminals,
the Text-Terminal still predominates.
-->
NC やウィンドウ端末関係を支持する人達は、数百万台の PC と置き換えよう
と計画しましたが、まだ達成していません。大きな理由として、ここ数年来 
PC 価格が下落したことで NC 等より安くなってしまったことが挙げられます。
結論として,まだテキスト端末が健在なのです。

<sect1><!-- Emulation on a PC --> PC 上でのエミュレーション
<p>
<!--
 Since a PC has a screen and keyboard (as does a terminal) but also
has much more computing power, it's easy to use some of this computing
power to make the PC computer behave like a text terminal.  This is
called "terminal emulation".  They usually emulate text-terminals.
See <ref id="term_emulation" name="Terminal Emulation">
-->
PC は (端末として使えるように) スクリーンやキーボードを備えていますが、
さらに大きな処理能力があるので、PCの処理能力の一部を割り振るだけで、テ
キスト端末の処理は簡単にできます。これは ``端末エミュレーション'' と呼
ばれています。普通、テキスト端末をエミュレートします。<ref
id="term_emulation" name="Terminal Emulation">をご覧ください。

<sect><!-- Quick Install --> クイックインストール<label id="quick_install">

<p>
<!--
 This is a quick procedure to install a terminal without going
through a <ref id="setup_" name="Setup"> procedure for both the
terminal and the host computer.  It probably will not work right if
the terminal happens to have been set up incompatible with the
computer.  If you don't understand some of it you'll need to consult
other parts of this document for more info.
-->
端末とホストコンピュータの両方で <ref id="setup_" name="Setup"> の手続
きを踏まずに端末をインストールするてっとりばやい手順です。端末がコンピュ
ータとは互換性のない状態でセットアップされるようなことになったら、おそ
らくまともに動かないでしょう。幾つかのことを理解してなければさらなる情
報を本書の他の個所に求めなければなりません。

<!--
To install a terminal, first look in <tt>/etc/termcap</tt> or
<tt>terminfo.src</tt> to find an entry for it (see <ref id="termcap2"
name="Terminfo and Termcap (detailed)">).  Figure out what serial port
you'll connect it to and what the tty designation is for that port
(e.g. <tt/ttyS1/, see <ref id="dev_names" name="Device Names">).  As
the root user, edit <tt>/etc/inittab</tt> and add a getty command next
to the other getty commands.  The format of the getty command depends
on which getty program you use.  <tt/agetty/ (called just <tt/getty/
in the Debian distribution) is the easiest (no configuration file).
See the "<tt/info/" or "<tt/man/ re <tt/getty/.  For getty parameters
use the terminfo (or termcap) name (such as vt100) for your terminal.
Type in a baud-rate that the terminal supports.  But if you set the
baud too high you may need to use (See<ref id="flow_control"
name="Flow Control">).
-->
端末をインストールするため、とっかかりとして <tt>/etc/termcap</tt> か 
<tt>terminfo.src</tt> を最初に見てください (<ref id="termcap2"
name="Terminfo と Termcap (詳細)">) をご覧ください)。そして、接続する
シリアルポートは何か、tty の名称は何か (例えば <tt/ttyS1/, <ref
id="dev_names" name="デバイス名称">をご覧ください) について解決してお
いてください。root ユーザになって、<tt>/etc/inittab</tt> の getty コマ
ンドの次行に、別の新たな getty コマンドを追加してください。getty コマ
ンドの形式は使用する getty プログラムに依存します。<tt/agetty/ (Debian 
ディストリビューションでは <tt/getty/ と呼びます) は簡単です (設定ファ
イルがありません)。``<tt/info/'' か ``<tt/man/'' 、または再度 
``<tt/getty/'' をご覧ください。getty に関して、パラメータは 
terminfo (か termcap) での名称 (vt100 のような) を使用します。そして、
端末がサポートするボーレートをタイプしてください。でもあまり高いボーレ
ートを設定するのなら、<ref id="flow_control"
name="フロー制御"> を使う必要があるかもしれません。

<!--
Then physically connect the main serial port of the terminal to the
chosen serial port of the computer with a null-modem cable
and turn on the terminal.  Don't expect most ready-made cables to be
wired correctly for hardware flow control.  Make sure the baud-rate of
the terminal is set the same as you gave to getty and that its "data
bits" is 8.  Then at the computer console type "init q" to apply the
changes you made to the inittab file.  You should now see a login
prompt at the terminal.  If you don't, tap the terminal's return key.
If this doesn't work read more of this document and/or see <ref
id="trouble-shoot" name="Trouble-Shooting">.
-->
それから、端末のメインシリアルポートとコンピュータ側で選択したシリアル
ポートとをヌルモデムケーブルで物理的に接続して、端末の電源を入れてみて
ください。ほとんどの既成ケーブルがハードウェアフロー制御用に正しく結線
されてると期待しないでくださいね。端末のボーレートが getty に与えたの
と同じであることと、``データビット'' が 8 であることを確認してください。
そして、コンピュータコンソールで ``init q'' とタイプすることで inittab
 ファイルへの変更が反映されます。この時点で、端末でログインプロンプト
を見ることができるはずですが、もし表示されなければ端末のリターンキーを
叩いてみてください。動かないようなら本書をさらに読んで、<ref
id="trouble-shoot" name="トラブルシューティング">もご覧ください。

<sect><!-- Why Use a Terminal ? -->なぜ端末を使うのでしょう？

<sect1><!-- Intro to Why Use a Terminal -->イントロ
<p>
<!--
 PC's are so powerful today that just one PC can often support
several persons using it at once, especially if they are doing
low-load tasks such as text editing, data entry, etc.  One way to do
this is to connect a number of terminals to a single PC (or other host
computer) by modems or direct cable connection.  To do this, it's
usually best to have a multi-user operating system such as Linux so
that each user at a terminal can use the computer independently.  This
has been called "time sharing" but it's not good terminology today
since "distributed" computing over a network is also a type of time
sharing.  It might be better described as "centralized" computing.
But the central computer may be connected to the rest of the world via
a network so that terminal users may send email, browse the Internet
with the "lynx" browser, etc.  So it's not exactly "centralized"
either.
-->
一台の PC で一度に数人の利用をサポートできるくらい最近の PC はとても強
力で、文書編集やデータ入力などの負荷の低い仕事ならなおさらそうです。こ
れを行なう一つの方法は、一台の PC (または、他のホストコンピュータ) に 
モデムやケーブル直結で複数の端末を接続することです。こうするには、端末
で各ユーザが独自にコンピュータを利用できるように Linux のようなマルチ
ユーザオペレーティングシステムを使うことがベストです。これを ``タイム
シェアリング'' と呼びますが、今日では不適当な用語です。ネットワークに
おける ``分散'' コンピューティングもタイムシェアリングの一種ですから。
``集中型'' コンピューティングと呼ぶほうがいいのかも知れません。しかし
中央コンピュータは、端末のユーザが email を送ったり、``lynx'' ブラウザ
でインターネットを閲覧する等により、ネットワークを介して世界の他のコン
ピュータと接続するので、正確には "集中型" でもありません。

<!--
Terminals have seldom been used with PC's because the popular
operating systems used for them (Windows, DOS, and Mac) were not
multiuser until 1998 (available for MS Windows NT) and previously
could not support terminals very well.  Now that Linux, a multiuser
operating system, is freely available for PC's, the use of terminals
with PC's becomes more feasible.  The drawback is that text terminals
are not smart enough to support the type of graphical user interface
(GUI) that many computer users today normally expect.
-->
端末が PC でまれにしか使われなかったのは、PC に使われるポピュラーなオ
ペレーティングシステム (Windows, DOS や Mac) が 1998 年までマルチユー
ザではなかったので (MS Windows NT は可能)、以前はあまりうまく端末をサ
ポートできなかったためです。今日、マルチオペレーティングシステムである
Linux が PC で利用できるようになったので、PC と共に端末を使うことはよ
り実現可能となりました。欠点は、テキスト端末が多くのユーザが期待するグ
ラフィカルユーザインターフェイス (GUI) の類をサポートするほどには洗練
されていないことです。

<sect1><!-- Lower Hardware Costs ? -->低価格のハードウェア ?
<p>
<!--
 When Computers (including PCs) were quite expensive, lower hardware
costs was a significant advantage of using terminals.  Today with
cheap PCs, the cost savings is problematical.  Here's what I wrote
years ago when PCs were more expensive.  It's still true today but of
less significance.
-->
コンピュータ (PC を含む) がかなり高価だった頃、ハードウェアが安かった
ことが端末を使う上での重要な利点でした。PC が安くなった今日では節約効
果があるかどうか疑問です。これは PC がまだ高価だった頃に書いたものです。
今日でもまだ事実ですが重要性は低くなりました。

<!--
If several people use the same computer as the same time, there is a
reduction in the amount of hardware needed for the same level of
service.  One type of savings is due to code sharing.  The application
files on hard disks are shared as well as shared libraries in memory
(even when people are running different programs provided they use
some of the same functions in their code).  Another type of savings is
due to reduction of peak load.  The hardware of a single PC may be
idle most of the time as people slowly type in information, think,
talk, or are away from their desks.  Having several people on the same
computer at once makes good use of much of this idle time which would
otherwise be wasted.
-->
何人かの人が同じ時間に同じコンピュータを使うなら、同レベルのサービスを
得るために必要なハードウェアの量は減少します。節約の一つはコードを共有
することです。ハードディスク上のアプリケーションファイルが共有ライブラ
リ (異なるプログラムを走らせても、コード中の同じファンクションを使う) 
と同様にメモリで共有されますから。別な節約の例はピーク時の負荷を減らす
ことです。情報をゆっくりタイプしたり、考えたり、しゃべったり、席を立っ
たりしている間、シングル PC のハードウェアはほとんどアイドル状態です。
同時に同じコンピュータを数人で使うことは、浪費されるアイドル時間をうま
く利用できることになります。

<!--
These savings are substantial.  One may roughly estimate (using
statistical theory) that for 9 persons (8 terminals & 1 console) the
shared PC only needs only about 3 times as much capacity (in memory,
disk storage, CPU power, etc.) as a single PC in order to provide the
same level of service per person.  Thus the computational hardware for
such a shared system should only cost about 1/3 as much per user.
However, the cost of the display hardware (CRT's, keyboards, video
electronics, etc.) is about the same for both cases.  The terminals
have the added cost of requiring additional serial ports at the host
computer.
-->
これらの節約は実質的なものです。(統計理論を使って) 手粗く見積れば、9 
人 (8 台の端末と 1 台のコンソール) で共有した PC は、各人に同レベルの
サービスを与えるシングル PC と比べると 3 倍の容量 (メモリ、ディスク容
量、CPU パワー等) が必要です。したがって、このように共有されたシステム
において、コンピュータのハードウェアにはユーザ一人当り 3 分の 1 の費用
で済みます。しかしながら、表示装置の費用 (CRT、キーボード、ビデオ装置
等)は、両者共ほぼ同額です。端末にはホストコンピュータとの接続のために
シリアルポートの追加が必要なので、その分の費用を加えなくてはならないか
らです。

<!--
For a fair comparison with PC's, the terminals should have the same
capabilities as the PC monitors.  Unfortunately, color graphic
terminals for Linux (X-windows) with high speed communication is a
niche market with high prices so in this case there is not likely to
be any savings in hardware costs.  But for text terminals there will
be some savings, especially if the terminals are obtained used at low
cost.
-->
PC と公平に比較するために、端末には PC モニタと同じ能力があるべきです。
残念ながら、Linux (X-Windows) 用の高速通信カラーグラフィック端末は
高価格なニッチ市場となっていますので、この場合、ハードウェア価格の節約
にはなりそうもありません。しかし、テキスト端末でしたら少しは節約になり
ますし、端末を低価格で入手したならなおさらそうでしょう。

<sect1><!-- Control of Software -->ソフトウェアの管理
<p>
<!--
 For centralized computing, software (and the updates to software)
only need be installed and configured on one host computer instead of
several.  The person in charge of this computer may control and
configure the software which is installed on it.  This is advantageous
if the person controlling the host computer does an excellent job and
knows about the needs and preferences of the other users.  Users can
be restricted in playing games or surfing the Internet by not
installing the software (or by otherwise restricting access to it).
Whether or not centralized control is desirable depends on the
situation.
-->
集中型コンピューティングにおいて、ソフトウェア (と、ソフトウェアのアッ
プデート) のインストールと設定は各所で行なう代りに、1 台のホストコンピ
ュータで行なうだけで済みます。このコンピュータの担当者が、インストール
してあるソフトウェアを管理や設定をするとします。仕事ができ、ユーザのニ
ーズと好みを知っているホストコンピュータを管理する担当者にとっては、集
中型は都合のよいものでしょう。ソフトウェアをインストールしないことによ
り (または、アクセス制限をかけることで)、ユーザがゲームをしたり、ネッ
トサーフィンをすることを禁止できるからです。集中型であろうとなかろうと、
状況に応じて対応することが望まれますが。

<sect1><!-- Hardware Upgrades -->ハードウェアアップグレード
<p>
<!--
 With terminals, the computer hardware upgrades take place on only
one computer instead of many.  This saves installation labor effort.
While the cost of the hardware for the host computer upgrade will be
more than that for a single PC (since the host needs more computing
power than a PC), the cost will be significantly less than upgrading
the hardware of a number of PC's being used instead of terminals.
-->
端末で、コンピュータハードウェアのアップグレードは全部ではなく 1 台の
コンピュータでのみ行なわれます。これはインストール作業の労力を節約しま
す。ホストコンピュータのアップグレードに要するハードウェア費用は 1 台
の PC のそれより割高になりますが (ホストは PC よりコンピュータパワーを
必要とするため)、端末の代わりに PC を使った場合ほどは高くはならないで
しょう。

<sect1><!-- Other Advantages of Terminals -->端末のその他の利点
<p>
<!--
<itemize> 
<item> The elimination of noise from fans and disk drives provided the
terminals are not close to the computer.
<item> The users of the terminals can share data and files
and send e-mail to each other.  It's similar to a local network.
</itemize>
-->
<itemize> 
<item>コンピュータのそばに、端末を置かなくても良いので、コンピュータのファン
やディスクドライブの騒音に悩まされることはありません。 
<item>端末のユーザはデータやファイルを共有でき、互いに e-mail を送りあえます。
ローカルネットワークと同様です。
</itemize>

<sect1><!-- Major Disadvantages of Terminals -->端末の主な難点
<p>
<!--
 <itemize> 
<item>  Text terminals have no high-speed graphic display (or high
 resolution graphics) although they can often use graphic character
 sets to draw boxes, etc.  This lack limits the software that may be
 used on it.
<item> If the host computer goes down, then no one can use the
 terminals either (unless there is a "standby" host computer to connect to).
</itemize>
-->
<itemize> 
<item>テキスト端末には高速グラフィックスディスプレイ (または、高解像度
グラフィックス) がないけれど、矩形描画などをグラフィックス文字セットで
書くことができます。この方式の欠点は使用できるソフトウェアが限定される
ことです。
<item>ホストコンピュータが落ちたら誰も端末を利用できなくなります (`` 待機系''
のホストコンピュータがない場合)。 
</itemize>

<sect1><!-- Are Text Terminals Obsolete ? -->
テキスト端末は時代遅れでしょうか ?
<p>
<!--
 Text terminals are technologically obsolete because for a slightly
higher cost of hardware, one could build a smart terminal (with the
same quality of display).  This wasn't always the case since around
1980 memory cost thousands of dollars per megabyte.  Today with low
costs for memory and processors, one could make a text terminal smart
for only about a 10% or 20% increase in hardware cost.
-->
テキスト端末は技術的に時代遅れです。(テキスト端末と同じ表示品質を持つ)
ちょっとだけ高価なスマート (smart) 端末が作られるようになったからです。
1980 年あたりでは、メモリが 1 メガバイト当り何千ドルもかかったので、
そうも言えませんでしたが、今日では低価格のメモリとプロセッサのために、
ハードウェア価格がほんの 10% か 20% アップするだけでテキスト端末を洗練
されたものにできます。

<!--
The reasons that text terminals are not yet obsolete are:
<itemize>
<item> There is no satisfactory standard interface for smart graphics
 terminals.  The MS Hydra system is for MS Windows NT, while X-Windows
 is not as efficient as it should be (and X-Windows terminals are too
 costly). 
<item> Many people don't need full screen graphics.
<item> Text terminals are low in cost and allegedly take longer to
become obsolete, yet can give access to a much newer (and powerful)
computer.
<item> Since running a text-terminal (in contrast to a full-graphics
terminal) doesn't consume much of a modern PC's resources, a large
number of terminals may be efficiently run from one PC.
</itemize>
-->
テキスト端末がまだ時代遅れでない理由を挙げます。 
<itemize>
<item>洗練されたグラフィック端末には満足できる標準のインターフェースがありま
せん。MS Hydra システムは MS Windows NT のためにありますが、X-Windows 
にはそうあるべき効率性がありません (それに X-Windows 端末はあまりに高
価ですし)。
<item>多くの人はフルスクリーングラフィックスを必要としません。
<item>テキスト端末は低価格で、時代遅れになるには長い時間かかりますが、はるか
に新しい (そして強力な) コンピュータへのアクセスができます。 
<item>テキスト端末を走らせても、最近の PC のリソースをあまり消費しないので 
(フルグラフィックス端末と比較して)、1 台の PC 上で多数の端末を効率的に
走らせることができるでしょう。
</itemize>

<sect><!-- Overview of How Terminals Work (in Linux) -->
端末動作についての概要 (Linux) <label id="overview">

<p>
<!--
  See also section <ref id="HowTermsWorkDetail" name="Some Details
on How Terminals Work">
-->
<ref id="HowTermsWorkDetail" name="端末の動作に関する詳細">もご覧ください。

<sect1><!-- Device Names --> デバイス名称 <label id="dev_names">
<p>
<!--
 Each terminal is connected to a serial port on the host computer
(often just a PC).  The ports have names: ttyS0, ttyS1, ttyS2 etc.
These are represented by special files found in the /dev (device)
directory.  /dev/ttyS0 corresponds to COM1 in DOS or Windows.  ttyS1
is COM2, etc.  See <ref id="devices_" name="Terminal Special Files">
for details on these and related "devices" such as cua.
-->
各端末はホストコンピュータ (PC であることも多い) のシリアルポートに接
続されます。ポート名は ttyS0, ttyS1, ttyS2 等です。これらは /dev (デバ
イス) のスペシャルファイルです。/dev/ttyS0 は DOS や Windows の COM1 
に相当します。ttyS1 は COM2 です。より詳しい情報や cua などの関連する 
``デバイス'' に関しては <ref id="devices_" name="端末スペシャルファイ 
ル">をご覧ください。

<sect1><!-- Login/Logout -->ログイン / ログアウト
<p>
<!--
 When the host computer starts up it runs the program getty.  The
getty program runs the "login" program to log people in.  See <ref
id="getty_" name="Getty (in /etc/inittab)">.  A "login:" prompt
appears on the screen.  People at the terminals log in (after giving
their passwords) and then have access to the computer.  When it's time
to shut the terminal down, one normally logs out and turns the
terminal off.  See <ref id="login_restr" name="Login Restrictions">
regarding restricting logins (including allowing the root user to log
in at terminal).
-->
ホストコンピュータが立ち上がると、getty プログラムを実行します。getty 
プログラムはユーザをログインさせるために ``login'' プログラムを実行し
ます。 <ref
id="getty_" name="Getty (in /etc/inittab)"> をご覧ください。``login:'' 
プロンプトが画面に表われると、端末のユーザはログインし (パスワードを入
力した後)、コンピュータにアクセスすることができます。端末をシャットダ
ウンするときは、通常はログアウトして、端末の電源を切ります。ログインを
制限するには、 <ref id="login_restr" name="ログインの制限"> をご覧くだ
さい (端末にログインする root ユーザへの許可を含む)。

<sect1><!-- Half/Full Duplex -->半 / 全二重<label id="half_duplex">
<p>
<!--
  If one watches someone typing at a terminal, the letters one types
simultaneously appear on the screen.  A naive person might think that
what one types is being sent directly from the keyboard to the screen
with a copy going to the computer (half-duplex like, see next
paragraph).  What is usually going on is that what is typed at the
keyboard is directly sent only to the host computer which in turn
echoes back to the terminal each character it receives (called
full-duplex).  In some cases (such as passwords or terse editor
commands) the typed letters are not echoed back.
-->
誰かが端末でタイプしているのを見ると、タイプした文字が同時に画面表示さ
れているように見えます。単純な人は、タイプした文字がコンピュータに送ら
れて、そのコピーがコンピュータに送られていると考えるかもしれません (半
二重のように、次節を参照)。通常何が起っているかというと、キーボードか
らタイプした文字がホストコンピュータだけに直接送られて、ホストコンピュ
ータは受信した文字を端末にエコーバックしているのです (全二重と呼びま
す)。いくつかのケース (パスワードや簡易エディタのコマンド) では、タイ
プした文字はエコーバックしません。

<!--
Full-duplex means that there are two (dual) one-way communication
links.  Full-duplex is the norm for terminals.  Half-duplex is half of
a duplex, meaning that there is only a single one-way communication
link.  This link must be shared by communications going in both
directions and only one direction may be used at a time.  In this case
the computer would not be able to echo the characters you type (and
send to it) so the terminal would need to also send each character you
type directly to the terminal screen.  Some terminals have a
half-duplex mode of operation which is seldom used.
-->
全二重とは一方向通信リンクが 2 本 (2 重に) あることを意味します。端末
では全二重が標準です。半二重とは二重の半分のことで、一方向通信リンクが
一本しかないことを意味します。このリンクは両方向の通信で共有されなけれ
ばならず、一度に一方向だけが使用されます。この場合、コンピュータはタイ
プした文字をエコーすること (と、送ること) ができないので、端末はタイプ
した文字を画面に直接表示します。いくつかの端末には、めったに使用されな
い半二重操作モードもあります。

<sect1><!-- Terminal Memory -->端末のメモリ
<p>
<!--
 The image on a CRT tube will fade away almost instantly unless it
is frequently redrawn on the screen by a beam of electrons shot onto
the face of the tube.  Since text sent to a terminal needs to stay
on the screen, the image on the screen must be stored in the memory
chips of the terminal and the electron beam must repeatedly scan the
screen (say 60 times per second) to maintain the image.  See <ref
id="term_mem_detail" name="Terminal Memory Details"> for more details.
-->
CRT 上の画像は、ブラウン管の表面に電子ビームを照射して絶えず映像を繰り
返し描き続けていないと即座に消えてしまいます。画面に表示するためにテキ
ストを端末に送ると、画像イメージは端末のメモリ素子に記憶され、イメージ
を維持するために電子ビームが画面を繰り返しスキャン (たとえば、毎秒 60 
回) します。詳しくは <ref
id="term_mem_detail" name="端末メモリの詳細">をご覧ください。

<sect1><!-- Commands for the Terminal -->端末へのコマンド
<p>
<!--
 The terminal is under the control of the computer.  The computer
not only sends the terminal text to display on the screen but also
sends the terminal commands which are acted on.  These are <ref
id="control_codes" name="Control Codes"> (bytes) and <ref id="esc_seq"
name="escape sequences">.  For example, the CR (carriage return)
control code moves the cursor the the left hand edge of the screen.  A
certain escape sequence (several bytes where the first byte is the
"escape" control code) can move the cursor to the location on the
screen specified by parameters placed inside the escape sequence.
-->
端末はコンピュータのコントロール下にあります。コンピュータは画面表示す
るためにテキストを端末に送るばかりではなく、実行される端末コマンドをも
送ります。これは<ref
id="control_codes" name="制御コード"> (バイト) と<ref id="esc_seq"
name="エスケープシーケンス">のことです。
例えば、CR (キャリッジリターン) 制御コードはカーソルを画面の左端に移動
します。あるエスケープシーケンス (最初のバイトが ``エスケープ'' 制御コ
ードである数バイト) はエスケープシーケンスに含まれるパラメータで指定し
た画面上の位置へカーソルを移動します。

<!--
The <ref id="early_terms" name="first terminals"> had only a few such
commands but modern terminals have hundreds of them.  The appearance
of the display may be changed for certain regions: such as bright,
dim, underline, blink, and reverse video.   A speaker in a terminal
can "click" when any key is pressed or beep if a mistake has occurred.
Function keys may be programmed for special meanings.  Various fonts
may exist.  The display may be scrolled up or down.  Specified parts
of the screen may be erased.  Various types of flow control may be
used to stop the flow of data when bytes are being sent to the
terminal faster than the terminal can handle them.  There are many
more as you will see from looking over an advanced terminal manual or
from the Internet links <ref id="esc_seq_list" name="Esc Sequence List"> 
-->
<ref id="early_terms" name="初期の端末">ではそのようなコマンドは少しだ
けでしたが、最近の端末では 100 を越えます。ある範囲で、明るさ、光沢、
下線、ブリンク、反転などの表示上の外観を変更できます。端末のスピーカか
らは、キーが押されたときに ``クリック音'' を鳴らしたり、誤りが発生した
らビープ音を鳴らしたりします。ファンクションキーには特別な意味をもたせ
ることができます。複数のフォントだって有り得ます。表示のスクロールアッ
プ、ダウンもできるでしょう。画面の指定した部分を消したりもできます。端
末が扱えきれないほど速くデータが送られてきたときに、データの流れを止め
るために様々なタイプのフロー制御が使われます。高度な端末のマニュアルか
インターネットのリンク <ref id="esc_seq_list" name="エスケープシーケン
スリスト">から、より多くの情報を得ることができるでしょう。

<sect1><!-- Lack of Standardization Solved by Terminfo -->
Terminfo で解決した標準化の不足点
<p>
<!--
 While terminals made for the US all used the same ASCII code for
the alphabet (except for IBM terminals which used EBCDIC), they
unfortunately did not all use the same escape sequences.  This
happened even after various ANSI (and ISO) standards were established
since these standards were never quite advanced enough.  Furthermore,
older terminals often lacked the capabilities of newer terminals.
This might cause problems.  For example, the computer might send a
terminal an escape sequence telling it to split the screen up into
two windows of specified size, not realizing that the terminal was
incapable of doing this.
-->
米国で作られた端末すべてが、アルファベット用に同じ ASCII コードを採用
していながら (EBCDIC を使用した IBM を除く)、残念なことに全てが同じエ
スケープシーケンスを使いませんでした。このことは ANSI (と ISO) 規格が
制定された後も起こりました。これらの規格があまりすぐれたものではなかっ
たからです。その上、新しい端末にある能力が古い端末にはたいていありませ
ん。このことは問題を引き起こします。例えば、コンピュータが指定したサイ
ズで 2 つのウィンドウに画面を分けるよう端末に指示する場合、それができ
る能力が端末にあるかどうかわからないのです。

<!--
To overcome these problems a database called "termcap" (meaning "terminal
capabilities") was established.  Termcap was superceded by "terminfo".
This database resides in certain files on the computer and has a
section of it (sometimes an entire file) for each model of terminal.
For each model (such as VT100) a list of capabilities is provided
including a list of certain escape sequences available.  For example
blink=\E5m means that to make the cursor start blinking the terminal
must be sent: Escape 5 m.  See Section <ref id="termcap2"
name="Termcap and Terminfo (detailed)" > for more details.
Application programs may utilize this database by calling certain
C-Library functions.  One large set of such programs (over 200) is
named "ncurses" and are listed in the manual page for "ncurses".
-->
これらの問題を克服するために ``termcap'' (意味 ``端末の能力'') と呼ぶ
データベースが作られました。termcap はのちに ``terminfo'' に取って代わられまし
た。このデータベースはコンピュータ上のあるファイルに記録されていて、端
末の各モデルに対応するセクション (時々はファイル全体) があります。各モ
デル用 (VT100 等の) に使用可能なエスケープシーケンスのリストを含む能力
リストが用意されています。例えば、blink=\E5m はブリンクの開始を意味し、
端末に Escape 5 m が送られることでしょう。詳しくは <ref id="termcap2"
name="Termcap と Terminfo
 (詳細)" >をご覧ください。アプリケーションプログラムはある C ライブラリの
関数をコールすることで、このデータベースを活用することができます。その
ようなプログラムの大きなセット (200 を越える) は ``ncurses'' と呼び、
man ページの ``ncurses'' に載っています。

<sect1><!-- The Interface -->インターフェース
<p>
<!--
 The environment variable TERM is the type of terminal Linux thinks
you are using.  Some application programs use this to look up the
capabilities in the terminfo database so TERM needs to be set
correctly.   But there is more to a correct interface than the
computer knowing about the capabilities of the terminal.
-->
環境変数 TERM は、使用している端末のタイプを Linux が識別するためのも
のです。幾つかのアプリケーションプログラムが端末データベースから能力を
探しだすのに使うので、TERM が正しく設定される必要があります。しかしそ
こには、コンピュータが端末の能力について知る以上の正確なインターフェー
スがあります。

<!--
For bytes to flow from the computer to the terminal the terminal must
be set to receive the bytes at the same baud rate (bits per second) as
they are sent out from the terminal.  If the terminal is set to receive at
19,200 baud and the computer sends out characters at 9600 baud, only
garbage (or perhaps nothing) will be seen on the screen.  One selects
the baud rate for a terminal (as well as many other features) from the
terminals "set-up" menus at the terminal.  Most terminals have a large
number of options in their "set-up" menus  (see <ref
id="term_conf_details" name="Terminal Set-Up (Configure) Details">).
The computer serial port has options also and these options must be
set up in a compatible way (see <ref id="comp_conf_details" name="Computer
Set-Up (Configure) Details">.
-->
コンピュータから端末へバイトを流すには、端末から送られるのと同じボーレ
ート (bit / 秒) でバイトを受信するように端末を設定しなければなりません。
もし端末が 19,200 ボーで受信するよう設定されていて、コンピュータが 960
0 ボーで文字を送ったら、文字化けを起こすでしょう (あるいは何も表示され
ません)。端末の ``セットアップ'' メニューで端末のボーレート (他の多く
の機能と同様に) を選択します。ほとんどの端末は ``セットアップ'' メニュ
ーに多くのオプションがあります ( <ref
id="term_conf_details" name="端末セットアップ (設定) 詳細">をご覧く
ださい)。コンピュータのシリアルポートにもオプションがあり、このオプシ
ョンは互換性のある方法でセットアップされなければなりません ( <ref
id="comp_conf_details" name="コンピュータセットアップ (設定) 詳細">を
ご覧ください)。

<sect1><!-- Emulation -->エミュレーション

<p>
<!--
 Most terminals today have more than one emulation (personality or
"terminal mode").  The terminal model numbers of terminals formerly
made by DEC (Digital Equipment Corporation now Compaq) start with VT
(e.g. VT100).  Many other terminals which are not VT100 may be set up
to emulate a VT100.  Wyse is a major terminal manufacturer and most of
their terminals can emulate various DEC terminals such at VT100 and
VT220.  Thus if you want to, say, use a VT320 terminal you may either
use a real VT320 in "native" personality or possibly use some other
terminal capable of emulating a VT320.  The "native" personalities
usually have more capabilities so, other things being equal, "native"
is usually the best to use.
-->
今日のほとんどの端末には 1 つ以上のエミュレーション (``独自機能'' ない
しは ``互換モード'') が用意されています。DEC (Digital Equipment Corpor
ation (現 Compaq) が以前作っていた端末のモデル番号は VT で始まります 
(VT100 等)。VT100 以外の他の多くの端末は VT100 をエミュレートします。 
Wyse は主要な端末製造メーカですが、ほとんどの端末は VT100 や VT220 の
ような DEC の各種端末をエミュレートできます。ですから、たとえば VT320 
端末を使う場合には、``本来'' のパーソナリティである VT320 そのものとし
て使用するか、 VT320 をエミュレートできる他の端末 (VT100 や VT220 な
ど) として使用するかの選択肢があります。``本来'' のパーソナリティは他
のものと同等か、普通は機能が豊富なので、特に理由がなければ ``本来'' の
パーソナリティを使用するのがいいでしょう。

<!--
The most common type of emulation is to use a PC like it was a vt100
terminal (or the like).  Programs loaded into the PC's memory permits
this.  In Linux (unless you're in X-windows) the PC monitor (called
the console) emulates a terminal of type "Linux" (close to vt100).
Even certain windows within X-windows emulate terminals.  See <ref
id="term_emulation" name="Terminal Emulation">.
-->
最も一般的なタイプのエミュレーションは、VT100 端末 (または、それに類す
るもの)であるかのように PC を使うことです。PC のメモリにロードされるプ
ログラムがこれを可能にします。Linux では (X-Windows を使ってなくても)、
PC モニタ (コンソールと呼ぶ) として端末タイプ ``Linux'' (VT100 に
似ています) をエミュレートします。 <ref
id="term_emulation" name="端末エミュレーション">をご覧ください。

<sect1><!-- The Console -->コンソール

<p>
<!--
 On a PC, the monitor is normally the console.  It emulates a
terminal of type "Linux".  One logs on to it as a virtual terminal.
See <ref id="console_dev" name="The Console: /dev/tty?">.  It receives
messages from the kernel regarding booting and shutdown progress.  One
may have the messages that normally go to the console, go to the
terminal.  To get this you must manually patch the kernel, except that
for kernel 2.2 (or higher) it is a "make config" option.  See <ref
id="term_as_console" name="Make a Terminal the Console">.
-->
PC でモニタは通常はコンソールになります。端末タイプ ``Linux'' をエミュ
レートし、仮想端末としてログインします。<ref id="console_dev" name="コ
ンソール : /dev/tty?"> をご覧ください。ブートやシャットダウンの進行状
況をカーネルから受けとります。
通常はコンソールへのメッセージが端末に出力するようにできます。こうする
には手でカーネルにパッチを当てなければなりません。カーネル2.2 以上を使
用すれば ``make config'' オプションで指定できます。<ref
id="term_as_console" name="端末をコンソールにする">をご覧ください。

<sect><!-- Terminal Special Files such as /dev/tty -->
/dev/tty のような端末スペシャルファイル<label id="devices_">

<p>
<!--
 "tty" is an abbreviation for "Teletype".  The first terminals were
Teletypes (like remotely controlled typewriters).  See subsection <ref
id="teletype" name="Teletypes">.  A list of Linux devices (the stuff
in the /dev directory) may be found in "Linux Allocated Devices" which
should be included with kernel sources.  It "describes" what each
device used for in only a word or two but doesn't tell you how to use
them.
-->
``tty'' は ``テレタイプ (Teletype)'' の略語です。初期の端末はテレタイ
プ (遠隔制御のタイプライタのようなもの) でした 。<ref
id="teletype" name="テレタイプ">をご覧ください。``Linux'' のデバイスリ
スト (/dev ディレクトリの中にあるもの) は、カーネルソースと共に含まれ
る ``Linux Allocated Devices'' で見つけることができるでしょう。そこに
は各デバイスの用途が一言か二言で ``記述'' されていますが、使い方には触
れていません。

<sect1><!-- Serial Port Terminals -->シリアルポート端末
<p>
<!--
 The computer considers each serial port to be a "device".  It's
sometimes called a terminal device since at one time terminals were
the common use for the serial port.  For each such serial port there
is a special file in the /dev (device) directory.  /dev/ttyS0 is the
special file for the serial port known as COM1 in the DOS/Windows
world.  To send text to a terminal you may redirect standard output of
some command-line command to the appropriate special file.  For
example typing "echo test > /dev/ttyS1" at the command prompt should
send the word "test" to the terminal on ttyS1 (COM2) provided you have
write permission on /dev/ttyS1.  Similarly, typing "cat my_file >
/dev/ttyS0" will send the contents of the file my_file to COM1
(ttyS0).
-->
コンピュータは各シリアルポートを ``デバイス'' だと考えます。時々、端末
デバイスと呼んだりするのは、ひと頃、シリアルポートの一般的用途が端末だ
ったからです。そのようなシリアルポートのために、/dev (device) ディレク
トリにスペシャルファイルがあります。/dev/ttyS0 は、DOS/Windows で COM1
 として知られるシリアルポート用のスペシャルファイルです。端末にテキス
トを送るには、コマンドラインでのコマンドの標準出力を特定のスペシャルフ
ァイルにリダイレクトしてやればよいでしょう。例えば、コマンドプロンプト
で ``echo test > /dev/ttyS1'' とタイプすれば、ttyS1 (COM2) につながる
端末に ``test'' が送られます。/dev/ttyS1 にライトパーミッションを与え
ておきましょう。同様に、``cat my_file > /dev/ttyS0'' とタイプすれば、
my_file の内容が COM1 (ttyS0) に送られます。

<!--
In addition to ttyS0 (/dev/ttyS0), ttyS1, ttyS2, etc. (the "S" stands
for Serial port) there is also a "cua" series: cua0, cua1, cua2, etc.
cua0 is the same port as ttyS0, etc.  The "cu" of cua stands for
CalloUt.  The ttyS series are Posix compliant while using cua may
permit the opening of a port that the modem control lines say is not
ready.  Starting with kernel version 2.2 cua is obsolete and a warning
message is issued when you attempt to use it (although it still
works).  For the past few years it has only been included with Linux
for backwards compatibility.  A programmer can arrange things so that
ttyS can behave just like cua, so cua is not really needed.
-->
ttyS0 (/dev/ttyS0), ttyS1, ttyS2 等 (``S'' はシリアルポートを表わす) 
に加えて、cua0, cua1, cua2等の ``cua'' シリーズがあります。cua0 は 
ttyS0 と同じポートです。 cua の ``cu'' は CalloUt を表します。ttyS シリー
ズは Posix 準拠ですが、cua はモデム制御ラインがレディじゃなくてもポー
トのオープンを許しています。カーネルの 2.2 版の cua はすでに廃れかけて
いて、それを使おうとすると警告メッセージが発せられるでしょう (まだ動き
はしますが)。過去数年間、後ろ向きの互換性のためにのみ Linux に含まれて
いるのです。プログラマは ttyS が cua と同じように働くようアレンジでき
るので、cua はまったく必要なくなりました。

<sect1><!-- Pseudo Terminals -->擬似端末
<p>
<!--
 Pseudo terminals have no physical connector on the computer.  They
are used to emulate a serial port.  They have no IO address nor IRQ.
For example, if someone connects via telnet to your computer over a
network, they may wind up connected to the device /dev/ptyp2 (a pseudo
terminal port).  In X-Windows, the terminal emulator program, xterm
(or rxvt), uses pseudo terminals.  Ham radio programs under Linux also
use them.  Using certain application software it is possible to have 2
or more pseudo terminals attached to the same physical serial port.
-->
擬似端末はコンピュータと物理的に接続したものではありません。それはシリ
アルポートをエミュレートするために使われます。IO アドレスも IRQ もあり
ません。例えば、誰かがネットワーク越しに telnet で接続してきたなら、 
/dev/ptyp2 (擬似端末) にたどり着くでしょう。X-Windows では、端末エミ
ュレータである xterm (か、rxvt) が擬似端末を使います。 Linux でのアマ
チェア無線プログラムにもそれを使います。あるアプリケーションソフトウェ
アを使っていて、物理的に同じシリアルポートに接続した 2 つ以上の擬似端
末を使うこともできます。

<!--
Pseudo terminals come in pairs such as ttyp3 and ptyp3.  The pty... is
the master or controlling terminal and the tty... is the slave.  ttyq5
is also a pseudo terminal as is ttysc (c is a hexadecimal digit).
More precisely, pseudo master terminals are /dev/pty&lsqb;p-s&rsqb;N
and the corresponding slaves are /dev/tty&lsqb;p-s&rsqb;N where N is a
hexadecimal digit 0-f.  The slave /dev/ttyp  looks just like a serial
port to an application program that reads and writes to it.  However
the application program is really communicating with whatever program
is writing and reading the corresponding master /dev/pty.  Thus the
master and slave are really the same "port" but one is used by the
application program and the other is used by a network program (or the
like) which supplies (and gets) data to/from the "port".
-->
擬似端末は ttyp3 と ptyp3 のようなペアとなります。pty... はマスタもし
くは端末の制御を行ない、tty... はスレーブとなります。ttyq5 も ttysc (c
 は 16 進の値) のような擬似端末です。より正確に言うと、擬似マスタ端末
は /dev/pty&lsqb;p-s&rsqb;N で、対応するスレーブのほうは 
/dev/tty&lsqb;p-s&rsqb;N となり,N は 16 進で 0-f の値をとります。スレー
ブの /dev/ttyp はアプリケーションプログラムがそれに対して読み書きでき
るシリアルポートのように見えます。しかし、アプリケーションプログラムは、
対応するマスタ /dev/pty に書いたり、読んだりするいかなるプログラムとも
本当に通信しているのです。このように、マスタとスレーブは実は同じポート
なんですが、一つはアプリケーションプログラムが使い、もう一つは、``ポー
ト'' へデータを与えたり、ポートから取得したりするネットワークプログラ
ム (あるいは、同等のもの) が使います。

<!--
Unix98 doesn't use the above but instead uses a "pty master" which is
/dev/ptmx.  This can supply a pty on demand.  Details on using pseudo
terminals with other programs are in a few manual pages but a manual
page devoted to only to pseudo terminals is needed for Linux.  Some
other unix-like systems have such a page named "pty - pseudo terminal
driver".
-->
Unix98 では上記のものを使用せず、代わりに /dev/ptmx と呼ぶ ``pty
master'' を使います。要求に応じて pty を供給します。他のプログラムで擬似端
末を使うための詳細は、man ページに幾つかありますが、もっぱら Linux に
必要なものが載っています。その他の unix ライクなシステムの man ページ
には ``pty - 擬似端末ドライバ'' の名称で載っています。

<sect1><!-- The Controlling Terminal /dev/tty -->制御端末 /dev/tty
<p>
<!--
 /dev/tty stands for the controlling terminal (if any) for the
current process.  To find out which tty's are attached to which
processes use the "ps -a" command at the shell prompt (command line).
Look at the "tty" column.  For the shell process you're in, /dev/tty
is the terminal you are now using.  Type "tty" at the shell prompt to
see what it is (see manual pg. tty(1)).  /dev/tty is something like a
link to the actually terminal device name with some additional
features for C-programmers: see the manual page tty(4).
-->
/dev/tty はカレントプロセス (もしあれば) の制御端末です。どのプロセス
がどの tty にアタッチしているかは、シェルプロンプト (コマンドライン) 
で ``ps -a'' を使えばわかります。``tty'' の列をご覧ください。ログイン
しているシェルプロセスでは、/dev/tty が現在使用中の端末です。それが何
かを調べるには ``tty'' とタイプすればよいのです (man ページの tty(1) 
を参照してください)。/dev/tty は、C プログラマのために幾つかの特徴を併
せ持つ本当の端末デバイス名へのリンクのようなものです。man ページの 
tty(4) をご覧ください。

<sect1><!-- /dev/ttyIN "Terminals" -->/dev/ttyIN ``端末''
<p>
<!--
 N stands for an integer.  One use of these in Linux is with the
ISDN driver package: isdn4linux.  The ttyIN is something like ttySN.
There is also a cuiN  which is something like cuaN.  The ttyI and cui
emulate modems and may be given modem commands.
-->
N は 整数値です。Linux での使用例の一つに ISDN ドライバパッケージ 
isdn4linux があります。ttyIN は ttySN のようなものです。cuaN のような 
cuiN もあります。ttyI と cui はモデムをエミュレートし、モデムのコマンドも
与えられます。

<sect1><!-- The Console: /dev/ttyN -->
コンソール /dev/ttyN <label id="console_dev">
<p>
<!--
 In Linux the PC monitor is usually called the console and has
several device special files associated with it: tty0, tty1, tty2,
etc.  When you log in you are on tty1.  To go to tty2 (on the same
screen) For tty3 use Left Alt-F3, etc.  These (tty1, tty2, tty3, etc.)
are called "virtual terminals".  tty0 is just an alias for the current
virtual terminal and it's where messages from the system are sent.
Thus messages from the system will be seen on the console (monitor)
regardless of which virtual terminal it is displaying.
-->
Linux で PC モニタのことを普通はコンソールと呼び、tty0, tty1, tty2 等
に関連づけられた数種類のデバイススペシャルファイルがあります。ログイン
したときは tty1 になります。tty2 (同じ画面上) から tty3 に移るのは、例
えば tty3 なら左側の Alt-F3 を押します。これら (tty1, tty2, tty3) を `
`仮想端末'' と呼んでいます。tty0 はカレント仮想端末のエイリアスで、シ
ステムからメッセージが送られます。このように、システムメッセージは表示
中の仮想端末にかかわらず、コンソール (モニタ) で見ることができるでしょ
う。

訳注：右側の ALT キーと Fn キーでは、仮想端末の切り替えはできません。

<!--
You may log in to different virtual terminals and thus have a few
different sessions with the computer going on at the same time.  Only
the system or the root user may write to /dev/tty0 to which
/dev/console is sometimes linked.  For more info on the console see
<ref id="console_" name="The Linux Console">.
-->
異なる仮想端末にログインし、コンピュータと異なるセッションを同時に張る
ことができます。システムか root ユーザだけが、時に /dev/console として
リンクされる /dev/tty0 に書きこみできるでしょう。コンソールに関するよ
り多くの情報は<ref id="console_" name="Linux コンソール">をご覧ください。

<sect1><!-- Creating a Device with "mknod" -->``mknod'' でデバイスを作成する
<p>
<!--
 The /dev directory comes supplied with many device special files.
If you need something that's not there you may try to create it with
the "mknod" command.  See the manual page ttys(4) for how to do this
for serial ports.  To use <tt/mknod/ you must know the major and minor
device numbers.  You might be able to infer the numbers you need by
using the "<tt/ls -l/" command in the /dev directory.  It will display
the major and minor numbers of existing special files.
-->
/dev ディレクトリは多くのデバイススペシャルファイルを供給します。もし
必要なものがそこになければ、``mknod'' コマンドで作成することができます。
シリアルポート用スペシャルファイル作成方法は man ページの ttys(4) をご
覧ください。 mknod を使うにはメジャー及びマイナーデバイス番号について
知っていなければなりません。/dev ディレクトリで ``ls -l'' コマンドを使
えば、必要な番号を推察できるかもしれません。それは既存のスペシャルファ
イルのメジャー、マイナー番号を画面表示できるからです。

<sect><!-- Some Details on How Terminals Work -->
端末の動作に関する詳細<label id="HowTermsWorkDetail">

<p>
<!--
 If you know almost nothing about terminals, it's suggested that
you first read <ref id="intro" name="Introduction"> and also read <ref
id="overview" name="Overview of How Terminals Work">.
-->
端末について何も知らなければ、<ref id="intro" name="はじめに">と<ref
id="overview" name="端末動作についての概要">を最初に読むことをお勧めします。

<sect1><!-- Terminal Memory Details -->
端末メモリの詳細<label id="term_mem_detail">
<p>
<!--
 The terminal screen refreshes itself at perhaps 60 times per
second from an image stored in the memory of the terminal.  For a PC
the monitor's image is stored on the video card inside the computer
but for a terminal, the equivalent of the video card is inside the
terminal.  For a text terminal the storage of the image uses little
memory.  Instead of putting every dot (pixel) on the screen into
memory and requiring the storage of about a quarter-million dots, a
much more efficient method of storage is used.
-->
端末画面は、端末メモリ内に記憶しているイメージを毎秒およそ 60 回再表示
しています。PC では、モニタのイメージはコンピュータ内部のビデオカード
に記憶されますが、端末ではビデオカードと同等なものは端末内部にあります。
テキスト端末でのイメージの記憶は少ないメモリですみます。スクリーン上の
すべての画素 (ピクセル)のメモリへの転送と、およそ 25 万画素を記憶する
代りに、より効率的な記憶方法がとられるからです。

<!--
A screen-full of text may be represented inside the terminal memory by
ASCII bytes, one for each character on the screen.   An entire
screen only takes about 2K ASCII bytes.  To display these characters,
the terminal must also know the bit-map (the shape) of each of the
almost 100 printable ASCII characters.  With a bit-map of a character
using say 15 bytes, only about 1.5K of memory is needed for the
bit-maps of all the ASCII characters (the font).  This ASCII text and
font memory is scanned so that the resulting image is put on the
screen about 60 times each second.  This is a form of shared memory
where a single bit-map of a letter such as the letter e, is shared by
all of the many letter e's which appear on a screen-full of text.  Low
memory requirements meant low costs to produce monitors in the early
1980's when the cost of memory was several thousand times higher than
it is today (costing then several dollars per kilobyte).
-->
画面一杯のテキストを、画面の各一文字毎に ASCII バイトで端末メモリに再
現していきます。全画面はおよそ 2K ASCII バイトですみます。これらの文字
を表示するために、端末は印字可能な約 100 個の ASCII キャラクタのビット
マップ (外観) を知っていなければなりません。一文字のビットマップに15 
バイトを使うので、全ての ASCII キャラクタ (フォント) には 1.5K だけメ
モリが必要です。毎秒 60 回で画面に画像を出力するために、この ASCII テ
キストとフォントメモリがスキャンされます。これは共有メモリ方式ですから、
例えば、画面一杯に表示されている文字 e の全ては、ただ一つの文字 e のビ
ットマップを共有することになります。必要なメモリ量が少なくてよいという
ことは、メモリ価格が今日の数千倍 (キロバイト当り数千ドル) した 1980 年
代初期の頃は、モニタ製造コストの削減を意味しました。

<sect1><!-- Early Terminals -->初期の端末<label id="early_terms">
<p>
<!--
 The first terminals were something like remotely controlled
typewriters which could only "display" (print on paper) the character
stream sent to them from the computer.  The earliest models were
called <ref id="teletype" name="Teletypes">.  The name "tty" is just
an abbreviation for "Teletype".   Early terminals could do a line feed
and a carriage return just like a typewriter and ring a bell when a
bell character was received.  Due to the lack of significant
capabilities this was the first type of terminal to be labeled "dumb".
This type of terminal interface (using a terminal type called "dumb")
is sometimes used today when the computer can't figure out what kind
of a terminal it is communicating with.
-->
初期の頃の端末は、コンピュータから送られた一連の文字を ``表示 '' (紙に
印刷) するだけの遠隔操作型タイプライタみたいなものでした。最も初期のモ
デルは<ref id="teletype" name="テレタイプ">と呼ばれました。``tty'' と
いう名前は ``テレタイプ (Teletype)'' の略称です。初期の端末はタイプラ
イタのように改行や復帰を行なえ、またベルキャラクタを受信したときにはベ
ルを鳴らすことができました。重要な能力が欠けていたために、初期型の端末
は ``ダム (dumb)'' と呼ばれました。このタイプの端末インターフェース 
(``ダム'' と呼ばれた端末を使用したもの) は、通信相手がどのようなタイプ
の端末かわからないときに今日でもたまに使われています。

<sect1><!-- Escape Sequences and Control Codes (intro)-->
エスケープシーケンスと制御コード (イントロ)
<p>
<!--
 Terminals have many capabilities some of which are always present
and some of which require commands from the computer to change or
activate.  To exercise all these capabilities under the control of the
computer requires that special codes be established so that the
computer can tell the terminal what to do.  There are two major type
of such codes: escape sequences and control codes (control
characters).  There are many times more escape sequences than control
codes.
-->
端末には多くの能力があり、そのうち幾つかはいつでも利用でき、いくつかの
ものは変更したり、有効にするためにコンピュータからコマンドの送信が必要
です。これら全ての能力をコンピュータの管理下で使用するために、コンピュ
ータが端末に何をすべきかを伝える特別なコードが決められています。これに
は、エスケープシーケンスと制御コード (制御キャラクタ) という二つの主要
なコードがあります。制御コードより、エスケープシーケンスの方が、ずっと
たくさんあります。

<sect2><!-- Control Codes -->制御コード <label id="control_codes">
<p>
<!--
 The control codes (or control characters) consist of the first 32
bytes of the ASCII alphabet.  They include the following:
carriage-return (cursor to far left), line-feed (cursor down one line),
backspace, escape-character, tab, and bell.  They do not normally
show on the screen.  There is usually a command which you may give to
your terminal which will result in them being displayed when they are
received by the terminal.  It's called something like "Display Controls"
or "Monitor".  If you do this then the display may look a mess since
escape sequences, which all start with the ESC (escape) control
character, are no longer executed.  Words which should appear at the
top or bottom of the screen will show up in other locations.  The
escape sequences to reposition the cursor display on the screen but
the cursor doesn't move to where the escape sequence says.
-->
制御コード (または制御文字) は ASCII アルファベットの初めの 32 バイト
を占めます。それらは以下を含んでいます : 復帰 (カーソルを左端へ)、改行
 (カーソルを次の行へ)、後退、エスケープ文字、タブそしてベル。通常、そ
れら自体は画面に表示されません。端末が制御コードを受信したとき、画面表
示に影響を与えるコマンドが端末にはあります。それら (のコマンド) は、し
ばしば ``画面制御'' や ``モニタ(プログラム)'' と呼ばれます。もしユーザが、
*手で* エスケープシーケンスを打ち込んだなら、ディスプレイは、その実行
されない ESC (エスケープ) ではじまる制御文字でぐちゃぐちゃになってしま
うでしょう。カーソルの位置を移動するためのエスケープシーケンスはスクリ
ーンに表示されますが、エスケープシーケンスが指示する位置へは動きません。

<sect2><!-- Escape Sequences -->エスケープシーケンス<label id="esc_seq">
<p>
<!--
 Since there are not nearly enough control codes to do everything
(and for some reason, not all of them are utilized) many escape
sequences are used.  They consist of the "escape" (ESC) control
character followed by a sequence of ordinary characters.  Upon
receiving an escape character, the terminal examines the characters
following it so that it may interpret the sequence and carry out the
intended command from the computer.  Once it recognizes the end of a
valid sequence, further characters received just display on the screen
(unless they are control codes or more escape sequences).  Some escape
sequences may take parameters (or arguments) such as the coordinates
on the screen to move the cursor to.  The parameters become a part of
the escape sequence.  An <ref id="esc_seq_list" name="Esc Sequence
List"> is on the web for some terminals, but it's terse.
-->
全てを制御コードで行なうには不十分なので (また、何らかの理由でそれらの
全てが使われるわけでない)、多くのエスケープシーケンスが使われています。
エスケープシーケンスは ``エスケープ'' (ESC) 制御文字と普通の文字からな
ります。エスケープ文字を受信すると、端末は次に続く文字を調べて、シーケ
ンスを解釈してコンピュータの意図に従って動作します。一旦シーケンスの終
わりを認識すると、さらに受信した文字をスクリーンに表示します (それが制
御コードやエスケープシーケンスでなければ)。幾つかのエスケープシーケン
スは、カーソルを移動させるスクリーン座標のように、パラメータ (か、オプ
ション) を取ります。パラメータはエスケープシーケンスの一部です。幾つか
の端末用の<ref id="esc_seq_list" name="エスケープシーケンスリスト"> は
ウェブ上にありますが、説明は簡単なものです。

<!--
A list of the escape sequences for your terminal should be in the
"programmers manual" for the terminal.  Except for very old terminals,
there may be two or three hundred such sequences.  If you don't have a
such manual it's not easy to find them.  Some of the sequences are
available on the Internet.  One link is <ref id="esc_seq_list"
name="Esc Sequence List">.  By searching the Internet for one sequence
(such as ESC&lsqb;5m) you may come across a long list of them.  
-->
あなたの端末のエスケープシーケンスリストは、端末の ``プログラムマニュ
アル '' に記載されているでしょう。かなり古い端末でなければ 200 か 300 
のエスケープシーケンスがあるはずです。そのようなマニュアルをお持ちでな
かったら、見つけ出すのは簡単ではありませんよ。エスケープシーケンスの幾
つかはインターネットでも見つけられます。リンクの一つは<ref id="esc_seq_list"
name="エスケープシーケンスリスト">です。あるエスケープシーケンス 
(ESC&lsqb;5m のような) をインターネットで探せば、長いリストの中から偶然見つ
けられるかもしれません。

<!--
Another way to determine some of them is to find the terminfo entry
(termcap) for the terminal and mentally decode it.  See <ref
id="termcap2" name="Terminfo and Termcap (detailed)"> in this document
and/or the <ref id="termcap_docs" name="Termcap Manual"> on the
Internet.  Unfortunately, the terminfo (termcap) for a terminal often
does not list all of the escape sequences which the terminal has
available for use, but fortunately, the most important ones are
usually there.
-->
それらの幾つかを確定する別な方法は、terminfo エントリ (termcap) で端末
を探し、知的に読み解くことです。本書の <ref id="termcap2" 
name="Terminfo と Termcap (詳細)">か、インターネットの 
<ref id="termcap_docs" name="Termcap マニュアル">をご覧ください。残念
ながら、端末の terminfo (termcap) には、使用可能なエスケープシーケンス
がリスト中に載っていないこともありますが、最も大事なことはたいていここ
にあります。

<sect1><!-- Display Attributes & Magic Cookies -->
表示属性とマジッククッキー<label id="display_attributes">
<p>
<!--
 Terminals have various methods of generating character attributes
such as bold, reverse-video, underlining, etc.  There should be
no need for the user to worry about how how this is done, except that
it creates problems for some old terminals and there is sometimes an
option for this in the set-up menu of newer terminals.
-->
端末には文字の属性 (ボールド、反転、下線など) を設定する各種の方法があ
ります。どのように設定するかということをユーザは心配する必要はありま
せん。一部の古い端末で問題が発生することを除けば、新しい端末ではセット
アップメニューのオプションとなっているからです。

<!--
The magic cookie method is obsolete.  It's the simplest (and worst)
method of defining attributes: Use a certain byte for the start of an
attribute and another to end that attribute.  For example, a "start
underlining" magic cookie byte is placed just before the first word to
be underlined.  These extra bytes are put into the memory of the
screen page, just like character bytes that display as characters.
But this might foul up the count of the number of characters per line
since non-printable magic cookie characters are intermingled with
other printable characters.  This sometimes causes problems.
-->
マジッククッキー方式は時代遅れです。それは属性を定義する最も簡単(で最
悪) な方法です。属性の最初には、あるバイトを使い、最後には別なものを使
います。例えば、``下線開始'' マジッククッキーは下線が引かれる最初の言
葉の前に置かれます。これらの余分なバイトはスクリーンページのメモリ内に
置かれます。ちょうど文字を表示するキャラクタバイトのように。しかし非印
字文字であるマジッククッキーと他の印字文字が混在するので、各行毎の数を
数えるのを難しくさせます。これは時々問題を起こします。

<!--
A better method which uses more memory is to assign an attribute byte
(or half=byte, etc.) to each displayed character.  This method is used
by PC video cards (for text) for the common PC monitor.
-->
もっとよい方法としては、さらにメモリを使ってはしまうものの、各表示文字
ごとに、属性を記憶しておくために 1 バイト (あるいは半バイトずつなど)
を割り当ててしまうものがあります。この方法は一般的な PC モニタ用の PC 
ビデオカード (テキスト用) で使われています。

<sect><!-- Special Features of Some Terminals -->幾つかの端末に固有な特徴

<sect1><!-- Color -->カラー
<p>
<!--
 While the common monochrome terminal is not a color terminal it
may have a fixed "color" display other than white such as green or
amber.  All terminals have black (electron beam turned off = zero
brightness).  A real color terminal can change the color of the text
and background to many different colors while a monochrome terminal
can only change the brightness of a fixed color.
-->
一般のモノクローム端末がカラー端末じゃなかった頃は、白以外の緑や黄色な
どの固定 ``カラー'' ディスプレイでした。全ての端末は黒を表示します (電
子ビームの照射を止めると輝度が 0 になる)。本物のカラー端末はテキストや
背景色をいろんな色に変えられますが、モノクローム端末は固定色の輝度を変
えられるだけなんです。

<!--
However, changing the brightness, etc. gives a lot of possibilities.
For example, a black and white (monochrome) terminal can have white,
grey, and black by varying the brightness.  Some words can be black on
a light grey background while other are highlighted by black on white.
In addition there is white on black, underlining, and blinking.
-->
輝度などを変えるだけでもいろんなことができますよ。例えば、白黒 (モノク
ローム) 端末は輝度を変えることで、白、黒、それに灰色を表現することがで
きます。ある文字の色を黒で背景を明るい灰色にしながら、別な文字の色は黒
の強調表示で白地にできます。黒地に白文字や下線をつけたり点滅させること
もできます。

<!--
Color works like the color on a computer monitor or TV screen.
The CRT has three colors of dots on it with each color controlled by
its own electron beam (3 beams).  Monochrome has inherently better
resolution since it doesn't depend on dots permanently fixed on the
screen.  For text terminals the only use of color is to differentiate
text and this advantage is not always worth the cost of worse
resolution.  Thus monochrome may be better since it also costs less.
-->
色はコンピュータモニタか TV 画面の色に近い働きです。CRT には 3 色のド
ットがあり、電子ビーム (3 つのビーム) で制御します。モノクロ端末は、3
色のドットを塗り分ける必要がないので、原理的にカラー端末よりも解像度を
良くすることができます。テキスト端末でただ一つの色の使い方は、テキスト
を区別することで、利点は解像度の悪さが常にその価値を下げるわけではない
ということです。ですから、モノクロームはまたコストを下げるには良い選択
なのです。

<sect1><!-- Multiple Sessions -->マルチセッション
<p>
<!--
 For dual sessions the terminal has two serial ports of equal
status.  Each port is connected to a serial port on a different
computer.  Thus one may log in to two different computers with each
session displaying in a split-screen window.   Alternatively, each
session may run full-screen with a "hot" key (or the like) to switch
between sessions.  One could also connect to two different serial
ports on the same computer and log in twice (similar to "virtual
terminals" at the console).  The program "screen" will make any
ordinary terminal (single session) connected to a single computer run
two or more "sessions".
-->
2 重のセッションのために、端末には同じ状態のシリアルポートが 2 つあり
ます。各ポートを異なるコンピュータのシリアルポートへ接続します。こうす
ることで、分割ウィンドウに表示される各セッションから各コンピュータにロ
グインできるようになるのです。代りに、各セッションを ``ホット'' キー 
(またはそれに類するもの) を使って切り変えながら、フルスクリーンで利用する
ことができます。同じコンピュータの 2 つの異なるシリアルポートに接続し、
2 度ログインすることも可能です (コンソールでの ``仮想端末'' に似ていま
す)。プログラム ``画面'' は、一つか二つの ``セッション'' が動くシング
ルコンピュータに接続した普通の端末 (シングルセッション) のように見える
でしょう。

<sect1><!-- Printer/Auxiliary Port -->プリンタ / 補助ポート
<p>
<!--
 Many terminals have a connector on the rear for such a port.  It
may be labeled as "Aux" or "Printer", etc.  Some printer ports are for
parallel printers while others are for serial printers.  If a printer
is connected to the printer or auxiliary port, then pressing certain
keys will print the screen.  One may also have everything that
displays on the screen go also to the printer.  If the port is an
auxiliary port, one may connect this to another computer and almost
have dual sessions as above.  However, the video memory inside the
terminal may not retain both sessions so you may need to refresh the
screen when switching to the other session.  There will likely not be
a hot key either but possibly a programmable function key may be
programmed to do this.  There exists various key combinations and
escape sequences for controlling such a port.  See <ref
id="printer_esc" name="Printer Esc">.  
-->
多くの端末の背面には、そのようなポートのためのコネクタがあります。それ
には ``Aux'' とか ``Printer'' などと名前がついているでしょう。あるプリ
ンターポートはパラレルプリンタ用ですが、シリアルプリンタ用もあります。
プリンタがプリンタポートか補助ポートに接続されているなら、あるキーを押
せば画面を印刷できるでしょう。望むなら、画面に表示されてるすべてをもプ
リンタに出力できますよ。もしポートが補助ポートなら、それを他のコンピュ
ータに接続して、上で述べたような 2 重セッションも行うことができるでし
ょう。でも端末内蔵のビデオメモリには両方のセッション内容が残ってないの
で、他のセッションに切り替るときに画面をリフレッシュする必要があります。
多分、ホットキーではできないでょうが、プログラム可能なファンクションキ
ーを使えばこのようなことをプログラムで行えるでしょう。そのようなポート
を制御するために、各種キーの組合せとエスケープシーケンスが存在します。
<ref id="printer_esc" name="Printer Esc"> をご覧ください。

<!--
There is a program called <tt/vtprint/ which is designed to send a
print job (text only) to your terminal to be printed on a printer
attached to the terminal.  It's homepage is <tt><htmlurl
url="http://www.yavin.org/software/vtprint/"> </tt>.  It's also
included (as of 1998) in the Debian distribution of Linux.  <tt/xprt/
(also in Debian) seems to do something similar, but only for X-Window
terminals ??
-->
端末に接続したプリンタに印刷するために、端末へプリントジョブ(テキスト
のみ)を送るよう設計された vtprint と呼ぶプログラムがあります。ホームペ
ージは <tt><htmlurl
url="http://www.yavin.org/software/vtprint/"></tt> です。それは、
Debian/Linux ディストリビューションに含まれています (1998 年現在)。
<tt/xprt/ (これも Debian/Linux) も似たようなものですが、X-Windows 専用
のはずです ??

<sect1><!-- Pages -->ページ<label id="pages_">
<p>
<!--
 Many terminals permit the storage of more than one page in their
video memory.  Sometimes the page size is the same as the screen, but
sometimes it is larger so that scrolling will reveal unseen parts of a
page.  So when one looks at a screen, there may be hidden text on the
same page above or below the display.  In addition, if there is more
than just one page, there may be hidden text on these other pages.
One use for pages is on terminals that support dual sessions.  Each
session may have its own page and one may switch back and forth
between them.
-->
多くの端末は、ビデオメモリ内に 1 ページ以上記憶する余地があります。時
には、ページサイズは画面と同サイズですが、時にはそれ以上になるので、ス
クロールすればページの見えない部分が表れるでしょう。それで、画面を見る
と、同じページの上か下の表示が隠れてるように思うかもしれません。2 ペー
ジ以上にわたるなら、他のページのテキストは隠されているということを付け
加えておきます。ページの使い方の一つが、2 重のセッションをサポートする
端末です。各セッションにはそれ自身のページがあり、各セッション間で強制
的に切り替えを行なっているのです。

<!--
Even if you only have a one-page-terminal with the page sized equal to
what is displayed on the screen, you will still see other pages of a
file (etc.) as the host sends more data to the terminal.  One
advantage to having additional pages stored in the terminal memory is
so that you can jump to them instantly without waiting a second or so
for them to be transmitted from the host.
-->
ページサイズが画面表示と同じ 1 ページの端末であっても、あなたがファイ
ル (その他) 内のページを見ている間に、ホストは他のデータを端末に送りま
す。端末メモリに記憶した追加ページを持つことの利点は、数秒の待ち時間も
なく即座に表示したり、ホストから送信できることです。

<!--
Multiple pages is supported by ncurses.  There is also a commercial
program called "Multiscreen" which supports multiple pages but
probably not for Linux ??  Multiscreen is reported to be part of SCO
and is something like the virtual terminals on a Linux PC console.
The Linux program "screen" makes it look like you have multiple pages
but they are stored in the computer and but you can have only one
page-like window for each running program.
-->
複数ページは ncurses でサポートされています。それはまた 
``Multiscreen'' と呼ぶ市販のプログラムでもサポートされていますが、
Linux ではおそらく利用できないでしょう ?? Multiscreen は SCO の一部で
あるとのうわさで、Linux PC コンソールでの仮想端末と同じようなものです。
Linux プログラム ``screen'' は多重ページであるかのように見せますが、そ
れはコンピュータに記憶され、各々でプログラムを走らせることができる 1 
ページのウィンドウのようなものです。

<sect1><!-- Character-Sets -->文字セット<label id="char_sets">

<p>
<!--
 A character-set is normally represented by a list (or table or
chart) of characters along with the byte code assigned to each
character.  The codes for a byte range from 0 to 255 (00 to FF in
hexadecimal).  In MS-DOS, character-set tables are called "code-pages".
You should examine such a table if you're not familiar with them.
They are sometimes included in printer and terminal manuals but also
may be found on the Internet.
-->
文字セットは各文字がバイトコードに割り振られた文字リスト (または、表か
図) で表現されます。バイトコードは 0 から 255 ( 16 進数で 00 から FF) 
の範囲です。MS-DOS では文字セット表を ``コードページ'' と呼んでいます。
それになじみがなければ、その表を見といたほうがいいですよ。それはプリン
タや端末のマニュアルにたまに含まれていますが、インターネットからも見つ
けることができるかもしれません。

<!--
ASCII is one of the most common character-sets used on text terminals.
It is a 7-bit code but can be made into 8-bit if the first bit (high
order bit) is always set to 0.  Other character-sets are usually
available (except on very old terminals where the only choice is
ASCII).  The first half of most character-sets are the conventional
ASCII characters and the second half (the characters with the
high-order bit set to 1) belong to a wide variety of character-sets.
Character sets are often ISO standards.  To get specialized character
sets on a terminal, you may need to download a soft-font for that
character-set into the memory of the terminal.
-->
ASCII はテキスト端末で使われる最も一般的な文字セットの一つです。7 ビッ
トコードですが、最初のビット (最上位ビット) が常に 0 である 8 ビットコ
ードも使えます。通常は他の文字セットも利用可能です (ASCII しか選択でき
ないかなり古い端末は除外)。文字セットの前半は従来の ASCII キャラクタで、
後半 (最上位ビットが 1) はさまざまな文字セットに属します。ISO 規格のも
のが文字セットとしてよく使われます。特殊文字セットを端末に表示させるた
めに、端末メモリにその文字セットをダウンロードする必要があります。

<!--
Besides ASCII, there are some other common character-sets, all 8-bit.
CP stands for Code Page character sets invented by IBM: CP-437 (DOS
ECS), CP-850 (Multilingual Latin 1 &#045;&#045;not the same as ISO Latin-1),
ISO-8859-1 (Latin-1), ANSI (derived from Latin-1).  MS Windows uses
ANSI while the Internet often uses Latin-1.  There are several
ISO-8859 character sets in addition to Latin-1.  These include Greek
(-7), Arabic (-6), Eastern European (-2), and a replacement for
Latin-1 (-15) called Latin-9.  There are many others.  For example,
KOI8-R is more commonly used for Russian than IS0-8859-5.  Unicode is
a very large character-set where each character is represented by 2
bytes instead on just one byte.
-->
ASCII 以外で他に一般的な文字セットは全て 8 ビットです。CP は IBM が作
ったコードページ文字セットで、CP-437 (DOS ECS), CP-850 (Multilingual
Latin 1 -- ISO Latin-1と同じではない),ISO-8859-1 (Latin-1), ANSI
(Latin-1 から派生) などがあります。MS Windows では ANSI を使用しますが、
インターネットではよく Latin-1 を使います。いくつかの ISO-8859 文字セッ
トが Latin-1 に加えられています。ギリシャ (-7)、アラビア (-6), 東欧 
(-2), それに Latin-9 と呼ぶ Latin-1 (-15) の改変版などです。他にもたく
さんあります。例えば、KOI8-R はロシアで IS0-8859-5 より一般的に使われ
ています。Unicode は膨大な文字セットで、各文字は 1 バイトの代りに 2 バ
イトで表わします。

<!--
More info re character-sets are:
<itemize>
<item> Manual pages: ASCII and latin1
<item> HOWTO's for various languages (likely written in that language).
 See "Cyrillic" for Russian.
<item> <url url="http://www.hut.fi/~jkorpela/chars.html" name="A
tutorial on character code issues"> Clearly written.
<item> <url url="http://www.w3.org/International/O-charset-lang.html"
 name="Languages, Countries and Character Sets">
<item> <url url="http://www.threeweb.ad.jp/logos"
 name="Languages of the World by Computers ...">
<item> <url url="http://linux.monnet.ru/books/locale/locale_i.html"
name="Links re Internationalization"> A long list of links (in Russian 
but most words in English).
</itemize>
-->
さらに文字セットについての情報を挙げます。 
<itemize>
<item> man ascii 及び man latin1 
<item> 各言語の (その言語で書かれていそうな) HOWTO。 ロシア語なら ``キリール
文字'' をご覧ください。
<item> <url url="http://www.hut.fi/~jkorpela/chars.html" name="文字コー 
ドのチュートリアル">として明確に書かれたものが発行されています。
<item> <url url="http://www.w3.org/International/O-charset-lang.html"
 name="言語、国、そして文字セット"> 
<item> <url url="http://www.threeweb.ad.jp/logos"
 name="コンピュータ等で扱う世界の言語"> 
<item> <url url="http://linux.monnet.ru/books/locale/locale_i.html"
name="世界中のリンク">は長いリンクリスト (ロシアのサイトですが、ほとん
ど英語) です。 
</itemize>

<!--
Once you've found the character set name (or alpha-numeric
designation) you are interested in, you may search for more info about
it on the Internet.
-->
一度、興味のある文字セット (または英数の名称) を見付けたら、より詳しい
情報をインターネットから探すことができるでしょう。

<sect1><!-- Fonts -->フォント

<p>
<!--
 Most terminals made after the mid 1980's can accept downloaded
soft-font.  This means that they can display almost any character set
provided that you can find the soft-font for it.  If you can't find
the needed soft-font, you can always create your own.  A free font
editor for this is called BitFontEdit (written by the author of this
document) and (in 1998) was at<newline>
Europe: <url
 url="http://www.funet.fi/pub/culture/russian/comp/cyril-term/"><newline>
N. America: <url 
 url="ftp://cs.utk.edu/pub/shuford/terminal/BitFontEdit.tar.gz">
-->
1980 年半ば以降に製造されたほとんどの端末は、ソフトフォントをダウンロ
ード可能です。このことは、ソフトフォントにあるほとんどの文字セットを表
示できることを意味します。必要なソフトフォントが見つからなければ、あな
たは自分で作ることもできます。このようなフリーフォントエディタとして 
BitFontEdit (本書の著者が作成) があり、それは (1998現在で)、<newline>
ヨーロッパなら <url
 url="http://www.funet.fi/pub/culture/russian/comp/cyril-term/">、<newline>
北米なら <url 
 url="ftp://cs.utk.edu/pub/shuford/terminal/BitFontEdit.tar.gz"> から
ダウンロードできます。

<sect1><!-- Keyboards & Special Keys -->キーボードと特殊キー

<p>
<!--
Terminal keyboards often have a number of keys that one doesn't find
on a PC keyboard.  Few (if any) actual terminals will have all of
these keys and most will have additional keys not listed here.  Some
have a large number of special purpose keys such as terminals made for
use with cash registers.  There are often many more key meanings than
shown here since these keys often have extended meanings when used in
conjunction with other keys (such as shift and control).
-->
端末のキーボードには PC キーボードにはあまり見られない多くのキーがあり
ます。わずかの (もしあるなら) 端末にはこれらのキーすべてがあり、そのほ
とんどにはここで取り挙げていない追加キーがあります。幾つかのものには、
キャッシュレジスタ用端末のような特殊用途のためのキーも多数あります。こ
こで示す以外の意味がより多くのキーにあると思いますが、これらのキーは他
のキー (シフトキーやコントロールキーなど) と共に使われた時に拡張した意
味を持ちます。

<!--
<itemize>
<item> BREAK sends a very long 0 bit (space = +12 V) of duration 300
to 700 milliseconds to the host.  The host may interpret this as an
interrupt if stty has set brkint or ignore it if ignbrk is set.

<item> NO SCROLL stops the screen from scrolling like ^S does.
Depressing it again resumes scrolling.  Uses flow control signals to
do this.

<item> REPEAT if held down with an other key, forces repeated output of
that other key even if the auto-repeat option is set to off.

<item> LINE FEED sends the line feed character ^J to the host.  Seldom
used.

<item> SET-UP allows the manual configuration of the terminal via
menus.  Sometimes purposely disabled by putting a block under it so it
can't be pressed down.  Sometimes another key such as shift or control
must be pressed at the same time. See <ref id="enter_setup"
name="Getting Into Set-Up (Configuration) Mode">.

<item> LOCAL disconnects the terminal from the host.  In local, what
one types goes directly to the screen.  Useful for testing.

<item> RETURN is the same as the "enter" key on a PC.  It usually
sends a carriage return to the host which normally get translated to a
new-line character by the host's device driver.  On some terminals it
may be set up to send something else.

<item> F1, F2, ... or PF1, PF2, ... are function keys which usually
may be programmed to send out a sequence of bytes (characters).  See
<ref id="funct_keys" name="Function Keys">
</itemize>
-->
<itemize>
<item> BREAK は、300 から 700 ミリ秒の間ずっと、ホストにすごく長い 0 ビット 
(スペース = +12V) を送ります。stty で brkint がセットされているか、 
ignbrk がセットされていても無視するようセットされていたら、ホストはこれ
を割り込みと解釈します。
<item> NO SCROLL は ^S が押されたのと同じように、画面スクロールを止めます。再
び押されるとスクロールを再開します。フロー制御に使います。
<item> REPEAT は、例えオートリピートオプションがオフに設定されていても、他の
キーと共に押し続けられたら、その出力を強制的に繰り返します。
<item> LINE FEED は ラインフィードキャラクタである ^J をホストへ送ります。ま
れにしか使われません。
<item> SET-UP は、メニューによって手作業で端末の設定を行なうものです。それを
押すことができないようにブロックすることで、わざわざ無効にすることがあ
ります。シフトやコントロールキーなどの他のキーを同時に押さなければなら
ないときもあります。<ref id="enter_setup"
name="セットアップ (設定) モードにする"> をご覧ください。
<item> LOCAL はホストと端末の接続を切ります。ローカルでは、タイプした文字は直
接画面に表示されますので、テストに使われます。
<item> RETURN は PC の ``Enter'' キーと同じです。ホストに復帰として送られ、通
常はホスト側のデバイスドライバで改行文字に変換されます。ある端末では他
の何かを送る時にもつけられるでしょう。
<item> F1, F2, ... もしくは PF1, PF2, ... はファンクションキーで、普通はバイ
ト列 (文字列) を送るためにプログラムされています。<ref id="funct_keys"
name="Function Keys"> をご覧ください。
</itemize>

<sect><!-- Terminal Emulation; the Console -->
端末エミュレーション -- コンソール<label id="term_emulation">

<sect1><!-- Intro to Terminal Emulation -->イントロ
<p>
<!--
 Since a PC has a screen and keyboard (as does a terminal) but also
has much more computing power, it's easy to use some of this computing
power to make the PC computer behave like a text terminal.  This is
one type of terminal emulation.  Another type of terminal emulation is
where you set up a real terminal to emulate another brand/model of
terminal.  To do this you select the emulation you want (called
"personality" in Wyse jargon) from the terminal's set-up menu.  This
section is about the first type of emulation: emulating a terminal on
a PC.
-->
PC は (端末として使えるように) スクリーンやキーボードを備えていますが、
さらに大きな処理能力があるので、PC の処理能力の一部を割り振るだけで、テ
キスト端末の処理は簡単にできます。これは ``端末エミュレーション'' と呼
ばれています。端末エミュレータの別なタイプには、他のブランド / モデル
をエミュレートするように設定できるものもあります。こうするには、端末の
セットアップメニューで希望のエミュレーションを選択します (Wyse jargon 
いわく ``パーソナリティ'')。本章ではエミュレーションの最初のタイプであ
る PC で端末をエミュレーションすることについて述べます。

<!--
Emulation software is available for MS Windows and comes built-in
with recent versions of MS Windows.  Most Linux free software can only
emulate a VT100, VT102, or VT100/ANSI.  If you find out about any
others, let me know.  Since most PC's have color monitors but VT100
and VT102 were designed for a monochrome monitor, the emulation
usually adds color capabilities (and a choice of colors).  Sometimes
the emulation is not 100% perfect but this usually causes few
problems.  For using a Mac computer to emulate a terminal see the
mini-howto: Mac-Terminal.
-->
エミュレーションソフトウェアは MS Windows で利用可能で、最近の MS
Windows には附属してきます。ほとんどの Linux のフリーソフトウェアでは 
VT100, VT102 または VT100/ANSI をエミュレートします。もし他の種類をご
存知なら私に知らせてください。ほとんどの PC はカラーモニタですが、
VT100 や VT102 はモノクロモニタとして設計されているので、普通はエミュ
レーションには色を表現する能力 (および色の選択) が加えられています。時
にエミュレーションは 100% 完全ではないけども、普通はささいな問題しか引
き起こしません。Mac コンピュータを端末エミュレータとして使う場合は、ミ
ニ Howto の ``Mac 端末'' をご覧ください。

<sect1><!-- Don't Use TERM For Emulation -->
エミュレーション用に TERM を使わないで<label id="term_not_for_emulation">
<p>
<!--
 Some have erroneously thought that they could create an emulator
at a Linux console (monitor) by setting the environment variable TERM
to the type of terminal they would like to emulate.  This does not
work.  The value of TERM only tells an application program what
terminal you are using.  This way it doesn't need to interactively ask
you this question.  If you're at the PC monitor it's a terminal of
type "Linux" and your can't change this.  So you must set TERM to
"Linux".
-->
環境変数 TERM をエミュレートしたい端末のタイプに設定すれば、Linux コン
ソール (モニタ) でエミュレートできると考えるのは間違いで、うまく動かな
いでしょう。TERM の値はアプリケーションプログラムに使用する端末の種類
を示すだけですから。このやり方だとあなたに対話的に質問しなくてもいいの
です。PC モニタの前にいるなら、端末タイプは ``Linux'' で、これを変更で
きません。ですから TERM を ``Linux'' に設定しなければなりません。

<!--
If you set it to something else you are fibbing to application
programs.  As a result they will incorrectly interpret certain escape
sequences from the console resulting in a corrupted interface.  Since
the Linux console behaves almost like a vt100 terminal, it could still
work almost OK if you falsely claimed it was a vt100 (or some other
terminal which is something like a vt100).  It may seeming work OK
most of the time but once in a while will make a mistake when editing
or the like.
-->
もし他の何かに設定したならアプリケーションプログラムにうそをついたこと
になります。結果的に、コンソールからのエスケープシーケンスを正しく解釈
できないので、インターフェイスをめちゃくちゃにしてしまうでしょう。Linu
x コンソールのほとんどは VT100 端末として動作しますので、間違って VT10
0 (または VT100 に似た他の端末) に設定してもほぼ問題なく動作するでしょ
う。だいたいはうまく動くと思いますが、編集やそれに似たことをしたときに
ミスを犯すかもしれせん。

<sect1><!-- Communication (Dialing) programs -->通信 (ダイアル) プログラム
<p>
<!--
 Dialing programs for making a PPP connection to the Internet don't
normally include any terminal emulation.  But some other modem dialing
programs (such as minicom or seyon) do.  Using them one may (for
example) dial up public libraries to use their catalogs and indexes,
(or even read magazine articles).  They are also useful for testing
modems.  Seyon is only for use with X-windows and can emulate
Tektronix 4014 terminals.  
-->
PPP コネクションを使ってインターネットへダイアルアップ接続するプログラ
ムには、端末エミュレーションは通常含まれていません。しかし幾つかのモデ
ムダイアルアッププログラム (minicom や seyon) はそれができます。それを
使うことで、(例えば) 公立図書館のカタログやインデックスを利用するため
に (もしくは、雑誌記事を読むのにさえ) そこへダイアルアップ接続します。
それらはモデムをテストするのにも役立ちます。seyon は X-Windows 上での
み使用し、Tektronix 4014 端末をエミュレーションします。

<!--
The communication program kermit doesn't do terminal emulation as it
is merely a semi-transparent pipe between whatever terminal you are on
and the remote site you are connected to.  Thus if you use kermit on a
Linux PC the terminal type will be "Linux".  If you have a Wyse60
connected to your PC and run kermit on that, you will appear as a
Wyse60 to the remote computer (which may not be able to handle Wyse60
terminals).  Minicom emulates a VT102 and if you use it on Wyse60
terminal the Wyse escape sequences will get translated to VT102 escape
sequences before the data goes out to the modem.  Kermit can't do this.
-->
通信プログラム kermit は端末エミュレーションにはならず、それは単に、あ
なたの端末と接続したリモートサイト間の半透過的なパイプにすぎません。従
って、kermit を Linux PC 上で使うなら、端末タイプは ``Linux'' になるは
ずです。あなたの PC に接続した Wyse60 があり、そこで kermit が走っている
なら、リモートコンピュータが Wyse60 として見えるでしょう。Minicom は 
VT102 をエミュレートし、それを Wyse60 端末で使うなら、データがモデムに
送られる前に Wyse のエスケープシーケンスは VT102 エスケープシーケンス
に変換されるでしょう。Kermit ではこれができないのです。

<!--
Emulators exist under DOS such as <tt/telix/ and <tt/procomm/ work
just as well.  The terminal emulated is often the old VT100, VT102, or
ANSI (like VT100).   
-->
telix や procomm のように DOS で快適に動くエミュレータもあります。エミ
ュレートするものには、古い VT100, VT102, または ANSI (VT100 のような)
などの端末があります。

<sect2><!-- Emulation under X-Windows -->X-Windows でのエミュレーション
<p>
<!--
 Xterm (obsolete ??) may be run under X-Windows which can emulate a
VT102, VT220, or Tektronix 4014.  There is also an xterm emulation
(although there is no physical terminal named "xterm").   If you don't
need the Tektronix 4014 emulation (a vector graphics terminal; see
<ref id="vector_graphics" name="Graphics Terminals">) you may use
<tt/eterm/.  Predecessors to <tt/eterm/ are <tt/rxvt/ and <tt/xvt/.
<tt/eterm/ supports pixmaps.
-->
xterm (もう時代遅れ ??) は VT102, VT220, や Tektronix 4014 をエミュレ
ートでき、X-Windows の下で走ります。それはまた xterm エミュレーショ
ンでもあります (だけど ``xterm'' と呼ぶ物理的な端末ではありません)。 
Tektronix 4014 エミュレーション (ベクターグラフィックス端末については 
<ref id="vector_graphics" name="グラフィックス端末">をご覧ください) が
必要なければ <tt/eterm/ を使うとよいでしょう。<tt/eterm/ の以前には 
<tt/rxvt/ や <tt/xvt/ がありました。<tt/eterm/ は画像データをサポートします。

<!--
For non-Latin alphabets, kterm is for Kanji terminal emulation (or for
other non-Latin alphabets) while xcin is for Chinese.  There is also
9term emulation.  This seems to be more than just an emulator as it
has a built-in editor and scroll-bars.  It was designed for Plan 9, a
Unix-like operating system from AT&amp;T.
-->
非ラテン文字用としては、kterm が漢字端末エミュレーション (あるいは他の
非ラテン文字用) で、xcin は中国語用です。9term エミュレーションもその
一つです。これは組込みエディタやスクロールバーなどがあるので、ただの端
末エミュレーション以上だと思います。AT&amp;T の Unix ライクなオペレーティ
ングシステムである Plan 9 用に設計されたものです。

<sect2><!-- Real Terminals Better -->本当の端末のほうが良い
<p>
<!--
 Unless you are using X-Windows with a large display, a real
terminal is often nicer to use than emulating one.  It usually costs
less, has better resolution for text, and has no disk drives to make
annoying noises.
-->
大きな画面で X-Windows を使っていなくても、本当の端末はエミュレーシ
ョンより使いよいです。普通は費用がかからなくて、テキストに適した解像度
があり、ディスクドライブがないので騒音も出しません。

<sect1><!-- Testing Terminal Emulation -->テスト端末エミュレーション
<p>
<!--
 For the VT series terminals there is a test program: <tt/vttest/
to help determine if a terminal behaves correctly like a vt53, vt100,
vt102, vt220, vt320, vt420 etc.  There is no documentation but it has
menus and is easy to use.  To compile it run the configure script and
then type "make".  It may be downloaded from: <url
url="ftp://ftp.clark/net:/pub/dickey/vttest/">.  An alternate download
site is: <url url="http://sunsite.unc.edu/pub/Linux/utils/console/">
-->
VT シリーズの端末用に、vt53, vt100,vt102, vt220, vt320, vt420 などの端
末がちゃんと動くかどうかの判定を手助けしてくれる <tt/vttest/ というテストプ
ログラムがあります。ドキュメントこそありませんが、メニューがあるし、使
い方は簡単ですよ。コンパイルするには、設定スクリプトを実行して、 
``make'' とタイプします。<url
url="ftp://ftp.clark/net:/pub/dickey/vttest/"> からダウンロードできる
でしょう。あるいは <url
url="http://sunsite.unc.edu/pub/Linux/utils/console/"> からもダウンロー
ド可能です。

<sect1><!-- The Linux Console -->Linux コンソール<label id="console_">
<p>
<!--
 The console for a PC Linux system is normally the computer
monitor.  It emulates a terminal of type "Linux".  There is no way
(unless you want to spend weeks rewriting the kernel code) to get it
to emulate anything else.  Setting the TERM environment variable to
type of terminal other than "Linux" will not result in emulating that
other terminal.  It will only result in a corrupted interface since
you have falsely declared (via the TERM variable) that your "terminal"
is of a type different from what it is.  See <ref
id="term_not_for_emulation" name="Don't Use TERM For Emulation">
-->
PC Linux システムのコンソールは通常はモニタで、端末タイプ ``Linux'' を
エミュレートします。他の端末タイプをエミュレートするようにする方法は 
(カーネルコードの書き直しに何週間も費したくないなら) ありません。環境
変数 TERM を ``Linux'' 以外の端末タイプに設定しても、他の端末のエミュ
レートはしないでしょう。``端末'' が何か違ったタイプとして間違って 
(TERM 変数で) 宣言されたため 、誤ったインターフェースとなるだけです。
<ref id="term_not_for_emulation" name="エミュレーション用に TERM を使
わないで"> をご覧ください。

<!--
The "Linux" emulation is flexible and has features which go well
beyond those of the vt102 terminal which it was intended to emulate.
These include the ability to use custom fonts and easily re-map the
keyboard (without patching the source code and recompiling the kernel
as is required for the case of a real terminal).  These extra features
reside in the console driver software and not in the emulation
software but the results are like it was part of the emulation.  
-->
``Linux'' エミュレーションは柔軟で、エミュレートするよう意図した vt102
 端末を越える特徴があります。カスタムフォントの使用や、簡単にキーボー
ドのキー配置変更 (本当の端末用に必要なカーネルソースコードのパッチや、
再コンパイルなしで) などが可能です。このようなおまけの特徴はコンソール
ドライバに内蔵されたものであり、エミュレーションソフトウェアのものでは
ありませんが、結果的にエミュレーションの一部のように動作します。

<!--
Many commands exist (see Keyboard-and-Console-HOWTO) to utilize these
added features.   Real terminals, which use neither scan codes nor VGA
cards, unfortunately can't use most of these features.  One may
recompile Linux to make a terminal receive the messages which normally
go to the console.  See <ref id="term_as_console" name="Make a Terminal
the Console">.
-->
このような付加的な特徴を利用するするために多くのコマンドがあります 
(Keyboard-and-Console-HOWTO をご覧ください)。(キー)スキャンコードも 
VGA カードも使用しない本当の端末では、残念ながらこれらの特徴のほとんど
を使えません。通常はコンソールへ送られるメッセージを端末が受信するよう 
Linux を再コンパイルすればできるでしょう。<ref id="term_as_console"
name="端末 をコンソールとして作る"> をご覧ください。

<sect1><!-- Emulation Software -->エミュレーションソフトウェア
<p>
<!--
 Emulators often don't work quite right so before purchasing
software you should try to throughly check out what you will get.  
-->
エミュレータはうまく動かないかもしれないので、ソフトウェアの購入前にや
りたいことをチェックすべきです。

<sect2><!-- Make a Linux PC a terminal -->Linux PC を端末にする
<p>
<!--
 Unless you want to emulate the standard vt100 (or close to it).
There doesn't seem to be much free terminal emulation software
available for Linux.  The free programs minicom and seyon (only for
X-windows) can emulate a vt100 (or close to it).   Seyon can also
emulate a Tektronix 4014 terminal.  
-->
標準的な vt100 (あるいはそれに近いもの) をエミュレートしたい場合を除い
て、Linux で利用できるフリーエミュレーションソフトウェアはあまり多くあ
りません。フリープログラムの minicom や seyon (X-windows 専用) は 
vt100 (あるいはそれに近いもの) をエミュレートできます。seyon はまた 
Tektronix4014 端末もエミュレートします。

<!--
TERM (non-free from Century Software) <url
url="http://www.ecc400.com/censoft/termunix.html"> can emulate Wyse60,
50; VT 220, 102, 100, 52: TV950, 925, 912; PCTERM; ANSI; IBM3101;
ADM-1l; WANG 2110.  Block mode is available for IBM and Wyse.  It runs
on a Linux PC.
-->
TERM (Century Sofware の非フリーソフト) <url
url="http://www.ecc400.com/censoft/termunix.html">は Wyse60,50; VT
220, 102, 100, 52: TV950, 925, 912; PCT
ERM; ANSI; IBM3101;ADM-1l; WANG 2110 をエミュレートできます。IBM と 
Wyse の場合はブロックモードが使えます。それは Linux PC で走ります。

<sect2><!-- Make a non-Linux PC a terminal -->非 Linux PC を端末にする
<p>
<!--
 Emulators exist which run on non-Linux PCs.  They permit you to
use a non-Linux-PC as a terminal connected to a Linux-PC.  Under DOS
there is <tt/telix/ and <tt/procomm/.   Windows comes with
"HyperTerminal" (formerly simply called "Terminal" in Windows 3.x and
DOS).  Competing with this is "HyperTerminal Private Edition" <url
url="http://www/hilgraeve.com/htpe/index.html"> which is non-free to
business.  It can emulate vt-220.  Turbosoft's (Australia) TTWin <url
url="http://www.turbosoft.com.au/"> can emulate over 80 different
terminals under Windows.  
-->
非 Linux-PC で動くエミュレータもあります。それは Linux-PC へ接続する端
末として非 Linux-PC を使うことを可能にします。DOS 用として <tt/telix/ 
と <tt/procomm/ があります。Windows には ``HyperTerminal''(以前は 
Windows 3.x や DOS で単に``Terminal'' と呼ばれていた) があります。これ
に匹敵するものが ``HyperTerminal Private Edition'' <url
url="http://www/hilgraeve.com/htpe/index.html">で、これは商用ソフトで
す。vt-220 がエミュレートできます。Turbosoft(オーストラリア) の TTWin
<url url="http://www.turbosoft.com.au/">は Window s の下で 80 種類の端
末をエミュレートできます。

<!--
For the Mac Computer there is emulation by Carnation Software <url
url="http://www.webcom.com/carn/carnation/panel-default.html">

One place to check terminal emulation products is Shuford's site, but
it seems to lists old products (which may still work OK).  The fact
that most only run under DOS (and not Windows) indicates that this
info is dated.  See <url
url="http://www.cs.utk.edu/~shuford/terminal/term_emulator_products.txt">.
-->
マッキントッシュの場合は、Carnation Software <url
url="http://www.webcom.com/carn/carnation/panel-default.html"> があります。

端末エミュレーション製品をチェックできる場所の一つに Shuford のサイト
がありますが、古い製品 (まだ動きますが) がリストアップされてるようです。
実際、情報は古いものです。<url
url="http://www.cs.utk.edu/~shuford/terminal/term_emulator_products.txt">
をご覧ください。

<sect><!-- Flow Control (Handshaking) -->
フロー制御 (ハンドシェイク)<label id="flow_control">

<p>
<!--
 Flow control (= handshaking = pacing)  is to prevent too fast of a
flow of bytes from overrunning a terminal, computer, modem or other
device.  Overrunning is when a device can't process what it is
receiving quickly enough and thus loses bytes and/or makes other
serious errors.  What flow control does is to halt the flow of bytes
until the terminal (for example) is ready for some more bytes.  Flow
control sends its signal to halt the flow in a direction opposite to
the flow of bytes it wants to stop.  Flow control must both be set at
the terminal and at the computer.
-->
フロー制御 (= ハンドシェイク = 歩調を合せること) とは、あまりに速いバ
イトの流れにより端末、コンピュータ、モデムあるいは他の機器がオーバーラ
ンするのを防ぐことです。オーバーランとは、機器が十分な余裕を持って受信
処理をできない時に、データの損失やその他の重大なエラーが生じることです。
フロー制御が何をするかと言うと、(例えば) 端末がデータ受信の準備ができ
るまでバイトの流れを止めておいたりします。フロー制御とは、バイトの流れ
を止めたい機器とは逆側の機器に対してフロー停止信号を送ることです。フロ
ー制御は端末とコンピュータの両方で設定されねばなりません。

<!--
There are 2 types of flow control: hardware and software (Xon/Xoff or
DC1/DC3).  Hardware flow control uses dedicated signal wires such as
RTS/CTS or DTR/DSR while software flow control signals by sending DC1
or DC3 control bytes in the normal data wires.  For hardware flow
control, the cable must be correctly wired.
-->
フロー制御にはハードウェアとソフトウェア (Xon/Xoff か DC1/DC3) の 2 つ
のタイプがあります。ハードウェアフロー制御は RTS/CTS や DTR/DSR などの
ような専用の信号線を使いますが、ソフトウェアフロー制御は、通常のデータ
線に DC1 や DC3 制御コードを送ります。ハードウェアフロー制御では、ケー
ブルが正しく結線されていなければなりません。

<!--
The flow of data bytes in the cable between 2 serial ports is
bi-directional so there are 2 different flows (and wires) to consider:
<enum>
<item> Byte flow from the computer to the terminal
<item> Byte flow from the terminal keyboard to the computer.
</enum>
-->
2 つのシリアルポート間のデータの流れは 2 方向ですから、以下のような 2 
つの異なるフロー (と結線) を考慮しなければなりません。 
<enum>
<item> コンピュータから端末へのバイトの流れ
<item> 端末のキーボードからコンピュータへのバイトの流れ
</enum>

<sect1><!-- Why Is Flow Control Needed ? -->フロー制御がなぜ必要か ?
<p>
<!--
 You might ask: "Why not send at a speed slow enough so that the
device will not be overrun and then flow control is not needed?"  This
is possible but it's usually significantly slower than sending faster
and using flow control.  One reason for this is that one can't just
set the serial port baud rate at any desired speed such as 14,500,
since only a discrete number of choices are available.  The best
choice is to select a rate that is a little higher than the device can
keep up with but then use flow control to make things work right.  
-->
「なぜオーバランしない程度のそこそこのスピードで送らないの？ そうすれ
ばフロー制御なんて必要ないのに」と尋ねる人もいるでしょう。これは可能な
んですが、フロー制御を使いながら高速で通信するより、はるかに低速になっ
てしまうのです。一つの理由は、シリアルボーレートを 14,500 のようなお望
みのスピードに設定できなくて、飛び飛びの数の選択しかできないからです。
最善の選択は、機器が受信でき得るスピードより少しだけ速いレートを選択し
ておき、それでもうまく動くようにフロー制御を使うことです。

<!--
If one decides to not use flow control, then the speed must be set low
enough to cope with the worst case situation.  For a terminal, this is
when one sends escape sequences to it to do complex tasks that take more
time than normal.  In the case of a modem (with data compression but
no flow control) the speed from the computer to the modem must be slow
enough so that this same speed is usable on the phone line, since in
the worst case the data is random and can't be compressed.  If one
failed to use flow control, the speed (with data compression turned
on) would be no faster than without using any compression at all.
-->
フロー制御を使わないと決めたら、最悪のケースに備えてかなり遅いスピード
に設定しなければなりません。端末では、複雑なやりとりをするためにエスケ
ープシーケンスを送ると通常より時間がかかります。モデムの場合 (データ圧
縮付きでフロー制御なし) は、、コンピュータから端末へのスピードが、電話
線で使用できるのと同じくらいゆっくりしたものでなければならないので、最
悪のケースではデータはランダムであり、圧縮できません。フロー制御に失敗
したら、そのスピード (データ圧縮オンの時の) は圧縮をまったくしない場合
より遅くなります。

<!--
Buffers are of some help in handling worst case situations of short
duration.  The buffer stores bytes that come in too fast to be
processed at once, and saves them for processing later.
-->
バッファは、短い間だけなら最悪の状況を処理する助けとなります。一度に処
理しきれないほど速く飛びこんできたデータをバッファに格納し、後で処理す
るために溜めておくのです。

<sect1><!-- Padding -->パディング<label id="padding">
<p>
<!--
 Another way to handle a "worst case" situation (without using flow
control or buffers) is to add a bunch of nulls (bytes of value zero) to 
escape sequences.  Sometimes DEL's are used instead provided they have
no other function.  See <ref id="rec_del" name="Recognize Del">.
-->
``最悪の場合'' の状況 (フロー制御やバッファを使わない) を処理する別な方
法は、エスケープシーケンスにヌルの束 (値 0) を付け加えるというものです。
他にどんな機能も与えられてないなら、DEL が使われることがあります。<ref
id="rec_del" name=" Del の認識">をご覧ください。

<!--
The escape sequence starts the terminal doing something, and while the
terminal is busy doing it, it receives a bunch of nulls which it
ignores.  When it gets the last null, it has completed its task and is
ready for the next command.  This is called null padding.  These nulls
formerly were called "fill characters".  These nulls are added just to
"waste" time, but it's not all wasted since the terminal is usually
kept busy doing something else while the nulls are being received.  It
was much used in the past before flow control became popular.  To be
efficient, just the right amount of nulls should be added and figuring
out this is tedious.  It was often done by trial and error since
terminal manuals are of little or no help.  If flow control doesn't
work right or is not implemented, padding is one solution.  Some of
the options to the <tt/stty/ command involve padding.
-->
エスケープシーケンスは、端末が何かをするとき始まります。そして、端末が
作業中でビジーになったら、無視してよいヌルの束を端末から受け取ります。
最後のヌルを受け取ったとき、端末が作業を終えて次のコマンド待ちの状態と
なっています。これをヌルパディングと呼びます。このようなヌルを正式には、
``フィルキャラクタ'' と呼びます。このヌルは単に時間を ``浪費'' するだけに
挿入されますが、全てを浪費しているわけではなく、端末が何かをするためビ
ジーとなったら相手はヌルを受信するのです。フロー制御がポピュラーになる
前はよく使われました。効果的であるように適切な数のヌルが挿入されるべき
ですが、長ったらしいものになります。端末のマニュアルにはこれについての
説明が少しだけか、あるいはまるでなかったので、試行錯誤するしかありませ
んでした。フロー制御がうまく働かないか、実装されていなければ、パディン
グが解決策の一つとなるでしょう。<tt/stty/ コマンドのオプションにパディング
があります。

<sect1><!-- Overrunning a Serial Port -->シリアルポートのオーバラン
<p>
<!--
 One might wonder how overrunning is possible at a serial port
since both the sending and receiving serial ports involved in a
transmission of data bytes are set for the same speed (in bits/sec)
such as 19,200.  The reason is that although the receiving serial port
electronics can handle the incoming flow rate, the hardware/software
that fetches and processes the bytes from the serial port sometimes
can't cope with the high flow rate.
-->
19,200 bps (bit/sec) のようなスピードで送信データがセットされている送
受信シリアルポートで、オーバランはどのようにして起り得るのでしょう。理
由は、受信シリアルポートは電気的に入ってくるフローレートを取り扱えます
が、シリアルポートからのバイト列を取り込み処理するハードウェア / ソフ
トウェアが高速なフローレートに対処しきれなくなるからです。

<!--
One cause of this is that the serial port's hardware buffer is
quite small.  Older serial ports had a hardware buffer size of only
one byte (inside the UART chip).  If that one received byte of data in
the buffer is not removed (fetched) by CPU instructions before the
next byte arrives, that byte is lost (the buffer is overrun).  Newer
UART's, namely most 16550's, have 16-byte buffers (but may be set to
emulate a one-byte buffer) and are less likely to overrun.  It may be
set to issue an interrupt when the number of bytes in its buffer
reaches 1, 4, 8, or 14 bytes.  It's the job of another computer chip
(usually the main CPU chip for a computer) to take these incoming
bytes out of this small hardware buffer and process them (as well as
perform other tasks).
-->
原因の一つは、シリアルポートのハードウェアバッファがあまりにも小さいこ
とです。古いシリアルポートのハードウェアバッファサイズは、たった 1 バ
イト (UART チップ内) しかありません。もし受信バッファ内のバイトが次の
バイトを受信する前に CPU 命令で取り除かれなければ (フェッチされなけれ
ば)、それは消え失せます (バッファーオーバーラン)。16550 のような新しい
UART には 16 byte のバッファ (1 byte バッファとしてもエミュレートでき
ます) がありますので、オーバランしそうもありません。バッファに 1,4,8 
または 14 バイトのデータが到着したら割り込みが発生します。他のコンピュ
ータチップ (普通は コンピュータのメイン CPU) が小さなハードウェアバッ
ファから取り出して処理します (他のタスクの振舞いと同じ)。

<!--
When contents of this small hardware receive buffer reaches the
specified limit (one byte for old UART'S) an interrupt is issued.
Then the computer interrupts what it was doing and software checks to
find out what happened.  It finally determines that it needs to fetch
a byte (or more) from the serial port's buffer.  It takes these
byte(s) and puts them into a larger buffer (also a serial port buffer)
that the kernel maintains in main memory.  For the transmit buffer,
the serial hardware issues an interrupt when the buffer is empty (or
nearly so) to tell the CPU to put some more bytes into it to send out.
-->
ハードウェア受信バッファが、指定の制限 (古い UART は 1 byte) 一杯とな
ったら割り込みがかかります。コンピュータはしていたことを中断して、ソフ
トウェアが何が起ったか見つけるためにチェックをします。最後に、シリアル
ポートのバッファから 1byte (かそれ以上) を取り出そうと決めます。これら
のバイトを取り出し、カーネルがメインメモリ内に準備している大きなバッフ
ァ (シリアルポートバッファよりも大きい) に入れます。送信バッファでは、
シリアルハードウェアはバッファが空っぽ (またはそれに近い状態) になった
ら割り込みを発行し、送信データをもっとバッファに入れてよいことを CPU 
に伝えます。

<!--
Terminals also have serial ports and buffers similar to the computer.
Since the flow rate of bytes to the terminal is usually much greater
than the flow in the reverse direction from the keyboard to the host
computer, it's the terminal that is most likely to suffer overrunning.
Of course, if you're using a computer as a terminal (by emulation),
then it is likewise subject to overrunning.
-->
端末にもコンピュータに似たシリアルポートやバッファがあります。端末への
フローレートは、キーボードからホストコンピュータへの逆方向フローよりは
るかに大きな値となるので、オーバーランが起りそうなのは端末側です。もち
ろん、コンピュータを端末として使っているなら (エミュレーション)、同じ
ようにオーバランが発生することがあるでしょう。

<!--
Risky situations where overrunning is more likely are:  1. When
another process has disabled interrupts (for a computer).  2. When the
serial port buffer in main (or terminal) memory is about to overflow.
-->
オーバーランが発生しそうな危険な状況は、1. 他のプロセスが割り込みを不
可にした場合 (コンピュータでの話) か、2. メイン (または、端末) メモリ
のシリアルポートバッファがオバーフローした場合です。 

<sect1><!-- Stop Sending -->送信停止
<p>
<!--
 When its appears that the receiver is about to be overwhelmed by
incoming bytes, it sends a signal to the sender to stop sending.  That
is flow control and the flow control signals are always sent in a
direction opposite to the flow of data which they control (although
not in the same channel or wire).  This signal may either be a control
character (^S = DC3 = Xoff) sent as an ordinary data byte on the data
wire (in-band signalling), or a voltage transition from positive to
negative in the dtr-to-cts (or other) signal wire (out-of-band
signalling).  Using Xoff is called "software flow control" and using
the voltage transition in a dedicated signal wire (inside the cable)
is called hardware flow control.
-->
洪水のように入ってくるデータを受信処理しきれなくなった時に、送信側に送
信停止の信号を送ります。これがフロー制御で、フロー制御信号は、コントロ
ールするデータの流れとは逆側に送ります (同じチャネルでも結線上でもあり
ません)。この信号は、データ線に普通のデータとして送られる制御文字 (^S 
= DC3 = Xoff) か、DTR と CTS (あるいは他の) などの信号線とは別の専用信
号線の正から負への電圧変化として伝送されます。Xoff を使う方法は "ソフ
トウェアフロー制御" と呼び、専用信号線 (ケーブル内) を使った電圧変位に
よる方法はハードウェアフロー制御と呼びます。

<sect1><!-- Keyboard Lock -->キーボードロック<label id="keybrd_lock">
<p>
<!--
 With terminals, the most common case of "stop sending" is where
the terminal can't keep up with the characters being sent to it and it
issues a "stop" to the PC.  Another case of this is where someone
presses control-S.  Much less common is the opposite case where the PC
can't keep up with your typing speed and tells the terminal to stop
sending.  The terminal "locks" its keyboard and a message or light
should inform you of this.  Anything you type at a locked keyboard is
ignored.  
-->
端末でもっともありふれた ``送信停止'' は、端末がこれ以上の文字を送り続
けられない場合で、PC に ``停止'' を送るケースです。別なケースは誰かが 
CTRL + S (訳注 CTRL キーと S キーを同時に押す) を押した場合です。一般
には稀ですが、PC がキーボードのタイプスピードについてゆけずに、端末に
停止を送ることがあります。端末はキーボードを ``ロック'' し、このことを
メッセージかライトで知らせるはずです。キーボードロックがかかったら何を
タイプしても無視されます。

<!--
The term "locked" is also sometimes used for the common case of where
the computer is told to stop sending to a terminal.  The keyboard is
not locked so that whatever you type goes to the computer.  Since the
computer can't send anything back to you, characters you type don't
display on the screen and it may seem like the keyboard is locked.
Scrolling is locked (scroll lock) but the keyboard is not locked.
-->
端末の "ロック" は、コンピュータが端末へ送信停止を告げるときなどの一般
的な場合にもよく使われます。キーボードはロックされていないので、タイプ
した文字はコンピュータに送られます。コンピュータが何も送りかえさなけれ
ば、タイプした文字は表示されず、キーボードがロックしたように思うかもし
れません。スクロールはロック (スクロールロック) しますが、キーボードは
ロックしません。

<sect1><!-- Resume Sending -->送信再開
<p>
<!--
 When the receiver has caught up with its processing and is ready
to receive more data bytes it signals the sender.  For software flow
control this signal is the control character ^Q = DC1 = Xon which is
sent on the regular data line.  For hardware flow control the voltage
in a signal line goes from negative (negated) to positive (asserted).
If a terminal is told to resume sending the keyboard is then unlocked
and ready to use.
-->
受信側が処理に追いついて、データを受信できるようになったら送信側に信号
を送ります。ソフトウェアフロー制御でのこの信号は、正規のデータ線で送出
される制御文字 ^Q = DC1 = Xon です。ハードウェアフロー制御では、信号線
の電圧が負 (否定) から正 (肯定) に変ります。端末に送信再開を告げると、
キーボードのロックが解かれ使用可能となります。

<sect1><!-- Hardware Flow Control (RTS/CTS etc.) -->
ハードウェアフロー制御 (RTS/CTS 等)<label id="hdw_flow_control">
<p>
<!--
 Some older terminals have no hardware flow control while others
used a wide assortment of different pins on the serial port for this.
For a list of various pins and their names see <ref
id="null_modem_pinout" name="Standard Null Modem Cable Pin-out">.  The
most popular pin to use seems to be the DTR pin (or both the DTR pin
and the DSR pin).
-->
古い端末の幾つかにはハードウェアフロー制御がありませんが、他の端末では、
シリアルポートの異なるピンを組み合わせてフロー制御を行ないます。様々な
ピンとその名前のリストについては <ref
id="null_modem_pinout" name="標準的なヌルモデムケーブルのピン配置">を
ご覧ください。かなりポピュラーに使われるピンに DTR ピン (または、 DTR 
ピンと DSR ピンの両方) があります。

<sect2><!-- RTS/CTS, DTR, and DTR/DSR Flow Control -->
RTS/CTS, DTR そして DTR/DSR フロー制御
<p>
<!--
 Linux PC's use RTS/CTS flow control, but DTR/DSR flow control
(used by some terminals) behaves similarly.  DTR flow control (in one
direction only and also used by some terminals) is only the DTR part
of DTR/DSR flow control.
-->
Linux PC は RTS/CTS フロー制御を使いますが、DTR/DSR フロー制御 (いくつ
かの端末で使われる) も同じ働きです。DTR フロー制御では DTR/DSR フロー
制御の DTR 部分だけとなります。

<!--
RTS/CTS uses the pins RTS and CTS on the serial (EIA-232) connector.
RTS means "Request To Send".  When this pin stays asserted (positive
voltage) at the receiver it means: keep sending data to me.  If RTS is
negated (voltage goes negative) it negates "Request To Send" which
means: request not to send to me (stop sending).  When the receiver is
ready for more input, it asserts RTS requesting the other side to
resume sending.  For computers and terminals (both DTE type equipment)
the RTS pin sends the flow control signal to the CTS pin (Clear To
Send) on the other end of the cable.  That is, the RTS pin on one end
of the cable is connected to the CTS pin at the other end.  
-->
RTS/CTS は、シリアルコネクタ (EIA-232) の RTS ピンと CTS ピンを使用し
ます。 RTS は ``送信要求 (Request To Send)'' を意味します。受信側でピンの
状態が肯定(正電圧) である時、「こっちに送ってもいいよ」という意味です。
もし RTS が否定 (負電圧) なら、それは ``送信要求 (Request To Send)'' を
否定することであり、「こっちに送らないで (送信停止)」という意味になり
ます。受信側で受信準備可能となったら、送信再開を他方へ要求するべく RTS
 を肯定 (正電圧) にします。コンピュータと端末で (両方共 DTE タイプの装
置)、RTS ピンはケーブルの反対側の CTS ピン (Clear To Send) にフロー制
御信号を送ります。すなわち、ケーブルの一方の RTS ピンはもう一方の CTS 
ピンに接続されるのです。

<!--
For a modem (DCE equipment) it's a different scheme since the modem's
RTS pin receives the signal and its CTS pin sends.  While this may
seem confusing, there are valid historical reasons for this which are
too involved to discuss here.  
-->
モデム (DCE 装置) の場合は、RTS ピンが信号を受信し、CTS ピンは送信する
ので、また違うやり方となります。これについて紛らわしく思われるかもしれ
ませんが、ここでの議論の必要がないほど歴史的に正当な理由があるのです。

<!--
Terminals usually have either DTR or DTR/DSR flow control.  DTR flow
control is the same as DTR/DSR flow control but it's only one-way and
the DSR pin is not used.  For DTR/DSR flow control at a terminal, the
DTR signal is like the signal sent from the RTS pin and the DSR pin is
just like the CTS pin.
-->
端末は普通、DTR か DTR/DSR のどちらかのフロー制御を使います。 DTR フロ
ー制御は DTR/DSR フロー制御と同じですが、一方向のみで、DSR ピンは使わ
れません。端末での DTR/DSR フロー制御では、DTR 信号は RTS ピンから送ら
れる信号のようであり、DSR ピンは CTS ピンのような働きです。

<sect2><!-- Connecting Up DTR or DTR/DSR Flow Control -->
DTR か DTR/DSR フロー制御で接続
<p>
<!--
 Some terminals use only DTR flow control.  This is only one-way
flow control to keep the terminal from being overrun.  It doesn't
protect the computer from someone typing too fast for the computer to
handle it.  In a standard null modem cable the DTR pin at the terminal
is connected to the DSR pin at the computer.  But Linux doesn't
support DTR/DSR flow control (although drivers for some multiport
boards may support DTR/DSR flow control.)  A way around this problem
is to simply wire the DTR pin at the terminal to connect to the CTS
pin at the computer and set RTS/CTS flow control (stty crtscts).  The
fact that it's only one way will not affect anything so long as the
host doesn't get overwhelmed by your typing speed and drop RTS in a
vain attempt to lock your keyboard.  See <ref id="keybrd_lock"
name="Keyboard Lock">.  For DTR/DSR flow control (if your terminal
supports this two-way flow control) you do the above.  But you also
connect the DSR pin at the terminal to the RTS pin at the computer.
Then you are protected if you type too fast.
-->
端末の幾つかは DTR フロー制御だけを使います。これは、端末のオーバラン
を防ぐ一方向のフロー制御にすぎません。誰かが、コンピュータが扱える以上
に速くタイプし過ぎると、コンピュータを守れなくなります。標準的なヌルモ
デムケーブルでは、端末側の DTR ピンをコンピュータ側の DSR ピンに接続し
ますが、Linux では DTR/DSR フロー制御はサポートしていません (マルチポ
ートボードのドライバが DTR/DSR フロー制御をサポートしているかもしれま
せん)。この問題の迂回策は、端末側の DTR ピンとコンピュータ側の CTS ピ
ンとを接続して、 RTS/CTS フロー制御をセットする (stty crtscts) ことで
す。なんら影響を受けない唯一の方法をとれば、ホストは洪水のようなタイプ
から免れるし、キーボードをロックするために RTS を落すような無駄な試み
もしなくてよいでしょう。<ref id="keybrd_lock"
name="キーボードロック"> をご覧ください。DTR/DSR フロ
ー制御 (端末が 2 方向のフロー制御をサポートしているなら) で上記のよう
なことをするには、端末の DSR ピンをコンピュータの RTS ピンに接続します。

<sect2><!-- Old RTS/CTS Handshaking Is Different -->
古い RTS/CTS ハンドシェイクは異なる
<p>
<!--
 What is confusing is that there is the original use of RTS where
it means about the opposite of the previous explanation above.  This
original meaning is: I Request To Send to you.  This request was
intended to be sent from a terminal (or computer) to a modem which, if
it decided to grant the request, would send back an asserted CTS from
its CTS pin to the CTS pin of the computer: You are Cleared To Send to
me.  Note that in contrast to the modern RTS/CTS bi-directional flow
control, this only protects the flow in one direction: from the
computer (or terminal) to the modem.
-->
混乱するのは、RTS のそもそもの使い方には上記で説明したのと反対の意味が
あることです。オリジナルの意味は「送信要求」で、送信要求は、端末 (また
は、コンピュータ) からモデムに送られます。要求を許可するなら、「送信要
求を確認しました (Cleared To Send)」との意味で CTS を肯定してコンピュ
ータ側の CTS ピンに送り返します。最近の RTS/CTS 双方向フローと比較する
と、コンピュータ (や、端末) からモデムへの単方向のフローに対する保護で
しかありません。

<!--
For older terminals, RTS may have this meaning and goes high when the
terminal has data to send out.  The above use is a form of flow
control since if the modem wants the computer to stop sending it drops
CTS (connected to CTS at the computer) and the computer stops sending.
-->
古い端末での RTS にはこんな意味があり、端末がデータを送信する時に正電
圧をかけます。上記の使い方がフロー制御の方式の一つですから、モデムがコ
ンピュータに送信を停止してほしい場合は、CTS (コンピュータ側の CTS に接
続) 信号を落すと、コンピュータが送信を止めます。

<sect2><!-- Reverse Channel -->リバースチャネル
<p>
<!--
 Old hard-copy terminals may have a reverse channel pin (such as
pin 19) which behaves like the RTS pin in RTS/CTS flow control.  This
pin but will also be negated if paper or ribbon runs out.  It's often
feasible to connect this pin to the CTS pin of the host computer.
There may be a dip switch to set the polarity of this signal.
-->
古いハードコピー端末にはリバースチャネルピン (19番ピンのような) があり、
これは RTS/CTS フロー制御での RTS ピンのような働きです。この端子は、紙
やリボンがなくなった時にも否定になります。このピンはまた、ホストコンピ
ュータの CTS ピンとも接続したりします。信号極性を変えるディップスイッ
チがあるかもしれません。

<sect1><!-- Is Hardware Flow Control Done by Hardware ? -->
ハードウェアフロー制御はハード的になされるか？
<p>
<!--
 Some think that hardware flow control is done by hardware but
(unless you are using an intelligent serial card with several serial
ports) it's actually done by your operating system software.  UART
chips and associated hardware usually know nothing at all about
hardware flow control.  When a hardware flow control signal is
received, the signal wire flips polarity and the hardware gives an
electrical interrupt signal to the CPU.  However, the hardware has no
idea what this interrupt means.  The CPU stops what it was doing and
jumps to a table in main memory that tells the CPU where to go to find
a program which will find out what happened and what to do about it.
-->
一部の人は、ハードウェアフロー制御はハード的になされていると考えていま
す (複数のポートを備えたインテリジェントシリアルカードを使ってない場
合)が、実際はオペレーティングシステムが行っているのです。UART チップと
関連のハードウェアは、ハードウェアフロー制御について何も知りませんから。
ハードウェアフロー信号を受信すると、信号線の極性が変り、ハードウェアは
電気的な割り込みを CPU に与えます。しかし、ハードウェア自体は割り込み
の意味について関知しません。CPU は何をしていようが停止して、メインメモ
リ内の割り込みテーブルのある場所へジャンプし、そこで割り込みプログラム
の場所を知ります。このプログラムは、なにが起こり何をすればよいかを知っ
ています。

<!--
There's another way this could have been implemented since when the
polarity flips the hardware could have been configured to send an
electrical interrupt signal to the CPU.  Then the CPU would stop what
it was doing, jump to a service routine of the serial driver, check
registers in the serial hardware to find out what happened, and make a
note not to resume the flow after the service routine is exited.  This
might be a little more efficient, but it seems that Linux doesn't
do it this way.  I once thought it did.
-->
別な手段で実装されているのは、極性が変ったときに CPU に電気的な割り込
み信号を送る方法です。それが発生したら CPU は現在の作業を一時中断し、
シリアルドライバのサービスルーチンへ処理が移り、何が起ったかを知るため
にシリアルハードウェアのレジスタを調べます。そのサービスルーチンの処理
が終了した後は、フローを再送出しないように指令します。こちらの方法のほ
うがいくらか効率的ですが、Linux ではこのようにしていません。私は一時、
Linux ではそうしていると思っていました。

<!--
Note that with either method the flow of bytes stops nearly instantly.
However, any bytes (up to 16) which were already in the serial port's
hardware transmit buffer will still get transmitted.  Using software
flow control requires that each incoming byte be checked to see if
it's an "off" byte.  These bytes are delayed by passing thru the
16-byte receive buffer.  If the "off" byte was the first byte into
this buffer, there could be a wait while 15 more bytes were received.
Then the 16 bytes would get read and the "off" byte found.  This
extra delay doesn't happen with hardware flow control.
-->
どちらの方法でもバイトの流れがほぼ即座に止ることに注意してください。し
かし、シリアルポートのハードウェア送信バッファ内にすでにあるバイト (最
大 16 バイト) は送り続けられるでしょう。ソフトウェアフロー制御を使うな
ら、受信データに ``オフ'' バイトがあるかチェックする必要があります。こ
れらのバイトが 16 バイトの受信バッファを通ることで遅延が生じます。``オ
フ'' バイトがこのバッファの最初にあっても、15 以上のバイトを受信してい
る間ウエイトし、16 バイト全部を読んだら、``オフ'' バイトを見つけるでし
ょう。このような特殊な遅延はハドウェアフロー制御では起りません。

<sect1><!-- Obsolete ?? ETX/ACK or ENQ/ACK Flow Control -->
ETX/ACK や ENQ/ACK フロー制御はもはや廃れかけてる ??
<p>
<!--
 This is also software flow control and requires a device driver
that knows about it.  Bytes are sent in packets (via the async serial
port) with each packet terminated by an ETX (End of Text) control
character.  When the terminal gets an ETX it waits till it is ready to
receive the next packet and then returns an ACK (Acknowledge).  When
the computer gets the ACK, it then send the next packet.  And so on.
This is not supported by Linux ??   Some HP terminals use the same
scheme but use ENQ instead of ETX.
-->
これもソフトウェアフロー制御で、それができるデバイスドライバが必要です。
バイトはパケットとして送られ (非同期シリアルポートを経由して)、各パケ
ットの終端には ETX (End of Text) 制御コードがあります。端末が ETX を受
信したら、次のパケットを受信する準備ができるまで待ち、それから ACK(Ack
nowledge) を返します。コンピュータは ACK を受信すると、次のパケットを
送ります。以上のことを繰り返します。これは Linux ではサポートされてい
ないのでしょうか ?? HP の端末では ENQ の代りに ETX を使って同じことを
します。

<sect><!-- Physical Connection -->物理的な接続<label id="cable">
<p>
<!--
 Multiport boards allow many terminals (or modems) to be connected
to one PC computer.  A terminal may be connected to its host computer
either by a direct cable connection, via a modem, or via a terminal
server.
-->
マルチポートボードは、1 台の PC に沢山の端末 (や、モデム) を接続できま
す。端末とホストコンピュータは、ケーブル直結かモデム経由、またはターミ
ナルサーバ経由で接続されるでしょう。

<sect1><!-- Multiport I/O Cards (Adapters) -->マルチポート I/O カード
<p>
<!--
 Additional serial cards may be purchased which have many serial
ports on them called "multiport boards".  These boards are not covered
in this HOWTO but there is quite a lot of coverage in the Serial-HOWTO
One company which had (in 1998) below average prices is <url
url="http://www.byterunner.com/cgi-bin/goto.cgi?FILE=iocards.html"
name="ByteRunner">.  
-->
追加のシリアルカードは、沢山のシリアルポートを持つ ``マルチポートボー
ド'' という名で購入できるかもしれません。本書ではこのようなボードにつ
いて触れていませんが、Serial-HOWTO でかなり詳しく述べています。ある会
社の平均価格 (1998 年現在) は <url
url="http://www.byterunner.com/cgi-bin/goto.cgi?FILE=iocards.html"
name="ByteRunner"> にあります。

<sect1><!-- Direct Cable Connection. -->ケーブルでの直接接続
<p>
<!--
 The simplest way to connect a terminal to a host computer is via a
direct connection to a serial port on the computer.  You may also use
some the info in this section for connecting one computer to another
(via the serial port).  Most PC's come with a couple of serial ports,
but one is usually used by a mouse.  For the EIA-232 port, you need a
null modem cable that crosses over the transmit and receive wires.  If
you want hardware flow control, you will probably use the DTR pin (or
both the DTR and DSR pins).
-->
端末とホストコンピュータを結ぶ最も簡単な方法は、ホストコンピュータのシ
リアルポートへ直接接続することです。コンピュータと他の機器を (シリアア
ルポートを経由して) 接続するなら、本章の情報を活用できます。ほとんどの
 PC にはシリアルポートが 2 つありますが、1 つはマウス用です。 EIA-232 
ポート用として、送信と受信線がクロスしたヌルモデムケーブルが必要です。
ハードウェアフロー制御をしたいなら、おそらく DTR ピン (または、DTR ピ
ンと DSR ピンの両方) を使うことになります。

訳注：現在の PC ではマウスポートは別にあり、2 つあるシリアルポートは両
方とも使用できるか、一方は内蔵のモデムボードが使用しています。

<!--
Make sure you have the right kind of cable.  A null modem cable
bought at a computer store may do it (if it's long enough), but it
probably will not work for hardware flow control.  Such a cable may be
labeled as a serial printer cable.  See this to help determine if you
should <ref id="buy_or_make_cable" name="Buy or Make"> your own cable.
Make sure you are connecting to your PC's serial port at the male DB25
or the DB9, and not your parallel port (female DB25).
-->
ケーブルの種類が正しいことを確認してください。お店で買ったヌルモデムケ
ーブルなら大丈夫でしょう (長さが十分ならば)。しかし、ハードウェアフロ
ー制御はうまく働かないかもしれません。そんなケーブルはシリアルプリンタ
ーケーブルなどとラベルが貼られてることでしょう。あなたご自身のケーブル
を <ref id="buy_or_make_cable" name="買うか作るか">は、ここを参考にし
て決めてください。オスの DB25 か DB9 のシリアルポートの PC への接続に
は注意してください。それと パラレルポート (メスの DB25) に間違ってつな
がないように。

<sect2><!-- Null Modem Cable Pin-out (3, 4, or 5 conductor) -->
ヌルモデムケーブルのピン配置 (3,4,5 番端子)
<p>
<!--
 These 3 diagrams are for real text-terminals.  But you could use
them to connect up 2 PCs if you substitute RTS for DTR and CTS for
DSR.  (Don't use 4-conductors for PC-to-PC).  For terminals, if you
only have DTR flow control (one-way) you may eliminate the RTS-to-DSR
wire.  If you have no hardware flow control, then you may also
eliminate the CTS-to-DTR wire.  Then if you have 2@ twisted pairs, you
may then use 2 wires for signal ground per <ref id="twist_pair_kludge"
name="A Kludge using Twisted-Pair Cable">.  For a DB25 connector on
your PC, you need:
-->
下図の 3 つは本当のテキスト端末用ですが、RTS を DTR に、CTS を DSR に
置き換えれば 2 台の PC の接続にも使えます (PC と PC の接続に 4 線式を
使わないでください)。端末用として、DTR フロー制御だけを使うなら、 RTS 
と DSR 間を配線しないでください。2 組のツイステッドペア線なら、<ref
id="twist_pair_kludge" name="ツイステッドペア線を使ったかしこいやり方
">にあるように、2 つの線を信号グランドとして使ってください。

<!--
<tscreen><verb> 
  PC male DB25				Terminal DB25
    TxD   Transmit Data       2 &#045;&#045;> 3       RxD   Receive Data
    RxD   Receive Data        3 <&#045;&#045; 2       TxD   Transmit Data
    SG    Signal Ground       7 &#045;&#045;- 7       SG    Signal Ground
    CTS   Clear To Send       5 <&#045;&#045;20       DTR   Data Terminal Ready  
    RTS   Request To Send     4	&#045;&#045;> 6       DSR   Data Set Ready
</verb></tscreen>
-->
<tscreen><verb> 
  PC オス DB25                          端末 DB25
    TxD   送信データ          2 --> 3       RxD   受信データ
    RxD   受信データ          3 <-- 2       TxD   送信データ
    SG    信号グランド        7 --- 7       SG    信号グランド
    CTS   送信可              5 <--20       DTR   端末レディ
    RTS   送信要求            4 --> 6       DSR   データレディ
</verb></tscreen>

<!--
If you have a DB9 connector on your PC, try the following:
<tscreen><verb>
	PC DB9   			       Terminal DB25 
    RxD   Receive Data        2 <&#045;&#045; 2	    TxD   Transmit Data
    TxD   Transmit Data       3 &#045;&#045;> 3	    RxD   Receive Data
    SG    Signal Ground       5 &#045;&#045;- 7 	    SG    Signal Ground
    CTS   Clear To Send       8 <&#045;&#045;20       DTR   Data Terminal Ready  
    RTS   Request To Send     7	&#045;&#045;> 6       DSR   Data Set Ready   **
</verb></tscreen>
--> 
あなたの PC が DB9 コネクタなら以下を試してみてください。 

<tscreen><verb>
  PC DB9                                端末 DB25
    RxD   送信データ          2 --> 2       TxD   受信データ
    TxD   受信データ          3 <-- 3       RxD   送信データ
    SG    信号グランド        5 --- 7       SG    信号グランド
    CTS   送信可              8 <--20       DTR   端末レディ
    RTS   送信要求            7 --> 6       DSR   データセットレディ
</verb></tscreen>

<!--
If you have a DB9 connector on both your serial port and terminal:
<tscreen><verb>
	PC DB9   			       Terminal DB9 
    RxD   Receive Data        2 <&#045;&#045; 3	    TxD   Transmit Data
    TxD   Transmit Data       3 &#045;&#045;> 2	    RxD   Receive Data
    SG    Signal Ground       5 &#045;&#045;- 5 	    SG    Signal Ground
    CTS   Clear To Send       8 <&#045;&#045; 4       DTR   Data Terminal Ready  
    RTS   Request To Send     7	&#045;&#045;> 6       DSR   Data Set Ready   **
</verb></tscreen>
-->
あなたの PC と端末の両方共、DB9 コネクタなら以下のように接続します。 

<tscreen><verb>
  PC DB9                                端末 DB9
    RxD   送信データ          2 --> 3       TxD   受信データ
    TxD   受信データ          3 <-- 2       RxD   送信データ
    SG    信号グランド        5 --- 5       SG    信号グランド
    CTS   送信可              8 <-- 4       DTR   端末レディ
    RTS   送信要求            7 --> 6       DSR   データセットレディ
</verb></tscreen>

<!--
The above don't have modem control lines so be sure to give a "local"
option to getty (which is equivalent to "stty clocal").  Also if you
need hardware flow control it must be enabled at your computer (use a
-h flag with agetty) ( equivalent to "stty crtscts" ).
-->
上図の結線にはモデムコントロール線がありませんから、getty に ``local''
 オプションが設定されていること (stty clocal と同じ) を確認しておいて
ください。それとハードウェアフロー制御が必要なら、コンピュータ側でも可
能にしなければなりません (agetty の -h オプションを使って。 ``stty
crtscts'' と同じです)。

<sect2><!-- Standard Null Modem Cable Pin-out (7 conductor) -->
標準ヌルモデムケーブルのピン配置 (7 線式)<label id="null_modem_pinout">
<p>
<!--
 The following 3 diagrams show full "standard" null modem cables.
One that you purchase is apt to be wired this way.  They will work
fine for computer-to-computer connections.  They also work for real
terminals using software (Xon/Xoff) flow control (or no flow control).
However, they don't work for terminal hardware flow control since most
real terminals support DTR or DTR/DSR flow control (handshaking) but
Linux doesn't.
-->
以下の 3 つの図は、フル ``スタンダード'' ヌルモデムケーブル用の結線図
です。購入したケーブルはこんな風に結線して接続します。これはコンピュー
タ同士でも良好に接続できるでしょう。そして本当の端末でもソフトウェア 
(Xon/Xoff) フロー制御 (あるいはフロー制御無し) を使って接続できます。
しかし、端末でハードウェアフロー制御はうまく働かないでしょう。本物の端
末のほとんどは DTR か DTR/DSR フロー制御 (ハンドシェイク) をサポートし
ていますが、Linux ではサポートされてないからです。

<!--
<tscreen><verb>
PC male DB25     			Terminal DB25
TxD   Transmit Data         2 &#045;&#045;> 3     RxD   Receive Data
RxD   Receive Data          3 <&#045;&#045; 2     TxD   Transmit Data
RTS   Request To Send       4 &#045;&#045;> 5     CTS   Clear To Send
CTS   Clear To Send         5 <&#045;&#045; 4     RTS   Request To Send
DSR   Data Set Ready        6
                            |
DCD   Carrier Detect        8 <&#045;&#045; 20    DTR   Data Terminal Ready
SG    Signal Ground         7 &#045;&#045;- 7     SG    Signal Ground
                                  6     DSR   Data Set Ready
                                  |
DTR   Data Terminal Ready  20 &#045;&#045;> 8     DCD   Carrier Detect
</verb></tscreen>
-->
<tscreen><verb>
PC オス DB25                            端末 DB25
TxD   送信データ            2 --> 3     RxD   受信データ
RxD   受信データ            3 <-- 2     TxD   送信データ
RTS   送信要求              4 --> 5     CTS   送信可
CTS   送信可                5 <-- 4     RTS   送信要求
DSR   データセットレディ    6
                            |
DCD   キャリア検出          8 <-- 20    DTR   端末レディ
SG    信号グランド          7 --- 7     SG    信号グランド
                                  6     DSR   データセットレディ
                                  |
DTR   端末レディ           20 --> 8     DCD   キャリア検出
</verb></tscreen>
<label id="DB_pin-out">
<!--
Alternatively, a full DB9-DB25 null modem cable (will not  work
with terminal hardware handshaking; see above):
<tscreen><verb>
PC DB9      				Terminal DB25
RxD   Receive Data          2 <&#045;&#045; 2     TxD   Transmit Data
TxD   Transmit Data         3 &#045;&#045;> 3     RxD   Receive Data
                                  6     DSR   Data Set Ready
                                  |
DTR   Data Terminal Ready   4 &#045;&#045;> 8     DCD   Carrier Detect
GND   Signal Ground         5 &#045;&#045;- 7     GND   Signal Ground
DCD   Carrier Detect        1
                            |
DSR   Data Set Ready        6 <&#045;&#045; 20    DTR   Data Terminal Ready
RTS   Request To Send       7 &#045;&#045;> 5     CTS   Clear To Send
CTS   Clear To Send         8 <&#045;&#045; 4     RTS   Request To Send
(RI   Ring Indicator        9 not needed)
</verb></tscreen>
(Yes, the pins 2 and 3 <em/really do/ have the opposite meanings in 
DB9 connectors than in DB25 connectors!)
-->
代わりにフル DB9-DB25 ヌルモデムケーブルを使った場合です (端末でのハー
ドウェアハンドシェイクはうまく働きません - 上記をご覧ください)。
<tscreen><verb>
PC DB9                                  端末 DB25
RxD   受信データ            2 <-- 2     TxD   送信データ
TxD   送信データ            3 --> 3     RxD   受信データ
                                  6     DSR   データセットレディ
                                  |
DTR   端末レディ            4 --> 8     DCD   キャルア検出
GND   信号グランド          5 --- 7     GND   信号グランド
DCD   キャリア検出          1
                            |
DSR   データセットレディ    6 <-- 20    DTR   端末レディ
RTS   送信要求              7 --> 5     CTS   送信可
CTS   送信可                8 <-- 4     RTS   送信要求
(RI   リング表示            9 不要)
</verb></tscreen>
(そう、DB9 コネクタ の 2 番、3 番ピンは DB25 コネクタとは逆の意味になっ
ています!)

<!--
Here's how to null-modem connect two DB9's together (but DTR flow 
control will not work):
<tscreen><verb>
PC DB9      				DB9
RxD   Receive Data          2 <&#045;&#045; 3     TxD   Transmit Data
TxD   Transmit Data         3 &#045;&#045;> 2     RxD   Receive Data
                                  6     DSR   Data Set Ready
                                  |
DTR   Data Terminal Ready   4 &#045;&#045;> 1     DCD   Carrier Detect
GND   Signal Ground         5 &#045;&#045;- 5     GND   Signal Ground
DCD   Carrier Detect        1
                            |
DSR   Data Set Ready        6 <&#045;&#045; 4     DTR   Data Terminal Ready
RTS   Request To Send       7 &#045;&#045;> 8     CTS   Clear To Send
CTS   Clear To Send         8 <&#045;&#045; 7     RTS   Request To Send
RI   Ring Indicator         9 (not used)
</verb></tscreen>
-->
2 つの DB9 コネクタをヌルモデムで接続する方法がこれです (でも DTR フロ
ー制御はうまく働きません)。 
<tscreen><verb>
PC DB9                                  DB9
RxD   受信データ            2 <-- 3     TxD   送信データ
TxD   送信データ            3 --> 2     RxD   受信データ
                                  6     DSR   データセットレディ
                                  |
DTR   端末レディ            4 --> 1     DCD   キャリア検出
GND   信号グランド          5 --- 5     GND   信号グランド
DCD   キャリア検出          1
                            |
DSR   データセットレディ    6 <-- 4     DTR   端末レディ
RTS   送信要求              7 --> 8     CTS   送信可
CTS   送信可                8 <-- 7     RTS   送信要求
RI    リング表示            9 (未使用)
</verb></tscreen>

<!--
Using the above 2 connections provide full modem control signals and
seemingly allow one to set "stty -clocal".  Then one must turn on the
terminal first (asserts DTR) before the port may be opened in a normal
manner by getty, etc.  But there is likely to be trouble if you fail
to turn on the terminal first (see <ref id="fast_respawn" name="Getty
Respawning Too Rapidly">).  For this reason one should use "stty
clocal" which is the default (ignores modem control lines) and the
additional wires in these cables then serve no useful purpose.
-->
上記 2 つのコネクタを使うとフルモデムコントロール信号を備えているので、
``stty -clocal'' をセットすればそれができそうに思えます。getty 等が通
常の方法でポートをオープンする前に、端末の電源が入ってないといけません
 (DTR をアサートにする)。でも、最初に端末の電源を入れ損なうとトラブル
の元です ( <ref id="fast_respawn" name="getty は即座に再起動する">をご
覧ください)。そんな理由で、``stty clocal'' はデフォルト (モデムコント
ロール線を無視する)で使うべきで、これらのケーブルに追加した信号線はそ
の目的を果たしてはいません。

<!--
In olden days when it may not have been this easy to ignore modem
control signals etc, the following "trick" was done for cables that
lacked conductors for modem control: on your computer side
of the connector, connect RTS and CTS together, and also connect DSR,
DCD and DTR together.  This way, when the computer needs a certain
handshaking signal to proceed, it will get it (falsely) from itself.
-->
昔はモデムコントロール信号などを無視するのは簡単ではなかったので、次の
ような ``トリック'' を行なっていました。それは、コンピュータ側のモデム
コントロール線をつながずに、RTS と CTS を短絡したり、あるいは DSR と D
CD と DTR を短絡したりするといったことです。この結果、コンピュータがあ
るハンドシェイク信号を処理する必要がある時に、コンピュータ自身で (偽り
の) 処理することになります。

<sect2><!-- Length Limitations -->長さの制限
<p>
<!--
 A cable longer than a 50 feet or so may not work properly at high
speed.  Much longer lengths sometimes work OK, especially if the speed
is low and/or the cable is a special low-capacitance type and/or the
electronics of the receiving end are extra sensitive.  It is claimed
that under ideal conditions at 9600 baud, 1000 feet works OK.  One way
to cover long distances is to install 2@ line drivers near each serial
port so as to convert unbalanced to balanced (and conversely) and then
use twisted pair cabling.  But line drivers are expensive.
-->
50 フィート (約 15 メートル) 以上のケーブルは高速ではうまく働かないか
もしれません。この長さ以上でも大丈夫なのは、特に、低速で、低い静電容量
のケーブルを使い、受信端の電気的特性の感度が良好な場合です。9600 ボー 
で理想的は状態であれば、1000 フィート (約 300 メートル) でも通信できる
とのことです。遠距離をカバーする一つの方法は、各シリアルポートの近くに
 2 つのラインドライバを設置して、非平衡型から平衡型に変換 (および逆変
換) するとともに、ツイステッドペアケーブル線を使用することです。でもラ
インドライバは高価ですが。

<sect2><!-- Hardware Flow Control Cables -->ハードウェアフロー制御ケーブル
<p>
<!--
 If you expect to use hardware flow control (handshaking) you will
likely need to make up your own cable (or order one made).  Of course,
if the connecters on the ends of a used cable remove, you might rewire
it.  See <ref id="db_conn_install" name="Installing DB Connectors">.
You will need to determine whether or not the terminal uses the
DTR pin for this, and if not, what pin (or pins) it uses.  The set-up
menus may give you a clue on this since there may be an option for
enabling "DTR handshaking" (or flow control) which of course implies
that it uses the DTR pin.  It may also use the DSR pin.  See <ref
id="hdw_flow_control" name="Hardware Flow Control"> for a detailed
explanation of it.  Older terminals may have no provision for hardware
flow control.
-->
ハードウェアフロー制御 (ハンドシェイク) を望み通りに使いたいなら、自作
ケーブル (またはオーダーメイド品) を使う必要があります。もちろん使用中
のケーブルのコネクターが取り外せるなら、そうして配線し直してもかまいま
せん。<ref id="db_conn_install" name="DB コネクタのイン ストール">をご
覧ください。DTR ピンを使うかどうか、使わないのならどのピン (ピン類) を
使うのか決める必要があります。セットアップメニューには DTR ピンの使用
を意味する ``DTR ハンドシェイク'' があるので、これについての糸口になり
ます。DSR ピンも使うかもしれません。詳説は<ref
id="hdw_flow_control" name="ハードウェアフロー制御">をご覧ください。古
い端末にはハードウェアフロー制御が備わっていないものもあるでしょう。

<sect2><!-- Cable Tips -->ケーブルの両端
<p>
<!--
 The normal "straight thru" cable will not work unless you are using it
as an extension cable in conjunction with either a null modem cable or
a null modem adapter.  Make sure that the connectors on the cable ends
will mate with the connectors on the hardware.  One may use telephone
cable which is at least 4-conductor (and possibly twisted pair).
Shielded, special low-capacitance cable computer cable is best.
-->
ノーマルな ``ストレートスルー'' ケーブルは、ヌルモデムケーブルかヌルモ
デムアダプタと結合した延長ケーブルにしないとうまく働かないでしょう。ケ
ーブル端のコネクターがハードウェアのコネクタと合っていることを確認して
ください。最低 4 芯 (ひょっとすると、ツイステッドペア) の電話線を使う
人がいるかもしれません。シールドしてあって、特別に低い静電容量のコンピ
ュータケーブルがベストです。

<sect2><!-- A Kludge using Twisted-Pair Cable -->
ツイステッドペア線を使った賢いやりかた<label id="twist_pair_kludge">
<p>
<!--
  Although none of the EIA-232 signals are balanced for twisted pair
one may attempt to use twisted-pair cable with it.  Use one pair for
transmit and another for receive.  To do this connect signal ground to
one wire in each of these 2 pair.  Only part of the signal ground
current flows in the desired wire but it may help.  Due to the lower
inductance of the twisted pair circuit (as compared to ground return
current by some other path)  more return (ground) current will confine
itself to the desired twisted pair than one would expect from only
resistance calculations.  This is especially true at higher
frequencies since inductive impedance increases with frequency.  The
rectangular wave of the serial port contains high frequency harmonics.
-->
EIA-232 信号は平衡型ではないので、ツイステッドペアケーブルの使用には注
意を要します。一つのペアは送信用で、もう一つは受信用です。こうするには
各 2 つのペアの 1 本の線を信号グランドに接続します。信号のグラウンド電
流だけが、(ツイステッドペアの一方をグラウンドに接続した)線を流れますが、
これでも役に立つでしょう。「(グラウンドへ戻る別の回路に比べて) 目的の
ツイステッドペア回路は低インダクタンスであるため、実際にこの回路を経由
する帰還 (グランド) 電流は、純抵抗成分 (直流抵抗) だけから計算した場合
よりも多くなります。周波数が高くなるほど、誘導インピーダンスが増加する
ので、これは特に高周波領域で顕著に現れます。そしてシリアルポートの矩形
波には高調波が含まれてるんですよ。

訳注：著者の言いたいことは要はこういうことです。「ツイステッドペアの2
本の線は一方は信号に、他方はグラウンドに接続すべきです。このように接続
することで、線に流れる電流に依って生じる磁界が互いに打ち消し有って、外
部からのノイズの影響を受けにくくなりますし、線に流れる矩形波電流が含む
高調波を外部へまき散らすことも少なくなるからです。」

<sect2><!-- Cable Grounding -->ケーブルの接地
<p>
<!--
 Pin 1 (of a DB25) should be chassis ground (also earth ground) but
on cheap serial ports it may not even be connected to anything.  A
9-pin connector doesn't even have a chassis ground.  The signal ground
is pin 7 and is usually grounded to chassis ground.  This means that
part of the signal current will flow thru the ground wires of the
building wiring (undesirable).  Cable shields are supposed to be only
grounded at one end of the cable, but it may be better to ground both
ends since it's better to have current in the shield than in the
building wiring ??
-->
1 番ピン (DB 25 の) はフレームグランド (接地でもある) ですが、安いシリ
アルポートではどこにも接続さえしていません。9 ピンコネクタなどは接地用
の端子さえないのです。信号グランドは 7 番ピンで、普通はフレームグラン
ドに接地されます。これは信号電流の一部が屋内配線の接地線に流れる (望ま
しくない) ことを意味します。ケーブルのシールドは、ケーブルの片方のコネ
クタだけで接地されることになっていますが、ケーブルのシールドを両方のコ
ネクタに接地したほうが、屋内配線の接地線に電流が流れ込まないので、良い
方法かもしれません ??

訳注：屋内配線に接地線がついている国でのお話です。日本では、特別な場合
を除いて接地線は配線されていません。

<sect1><!-- Modem Connection -->モデム接続
<p>
<!--
 Using a terminal-modem combination (without a computer) one may
connect to BBS's.  Some BBS's (such a free-nets) permit Internet
access via the text browser lynx which will work on text terminals.
Thus with an old terminal and external modem, one may connect to the
Internet.  If one connects to a host computer on which one has an
account, then one may sometimes store ones work (or downloads) there.
-->
端末とモデムを組み合せて (コンピュータなしで) BBS に接続できます。いく
つかの BBS (フリーネットのような)では、テキスト端末で動く lynx みたい
なテキストブラウザを使ったアクセスを許しています。従って、古い端末と外
付けモデムでインターネットへも接続できます。アカウントのあるコンピュー
タに接続したなら、ホストコンピュータ上での作業の保存 (や、ファイルのダ
ウンロード) ができるでしょう。

<sect2><!-- Dialing Out From a Terminal -->端末からの発信
<p>
<!--
 Instead of connecting a terminal (or computer emulating a
terminal) directly to a host computer using a cable it may be
connected to the host via a telephone line (or dedicated private line)
with a modem at each end of the line.  The terminal (or computer) will
usually dial out on a phone line to a host computer. 
-->
ケーブルを使って端末 (あるいは端末をエミュレートするコンピュータ) とホ
ストコンピュータを直結して接続する代りに、電話線 (あるいは専用線) とモ
デムを使ってホストに接続できます。普通は端末 (またはコンピュータ) がホ
ストコンピュータに電話を使って発信します。

<!--
Most people use a PC and modem for dialing out.  The PC could have a
terminal connected to a serial port and the person at the terminal
may dial out using the PC.   Connecting a real terminal directly to an
external modem is more difficult since the real terminal isn't very
intelligent and doesn't give as much feedback to the user.  For
dialing out, many terminals can store one or more telephone numbers as
messages which may be "set-up" into them and are sent out to the modem
by pressing certain function keys.  Many modems can also store phone
numbers.  The modem initiation sequence must precede the telephone
number.  When the outgoing call is answered by another modem at the
other end of the phone line, the the host computer on this modem may
run a getty program to enable you to log in. 
-->
ほとんどの人は発信に PC とモデムを使います。PC にはシリアルポート接続
した端末があって、端末を使う人が PC を使って発信できます。本物の端末は
あまりインテリジェントではなく、ユーザにフィードバックすることもないの
で、外付けのモデムを端末に接続するのは難しいことです。発信では、端末の
多くは 1 つ以上の電話番号を ``セットアップ'' しておけるメッセージとし
て記憶しておき、あるファンクションキーを押したらモデムに送ります。多く
のモデムもまた電話番号を記憶しておけます。モデムの初期化シーケンスは電
話番号に先立って行なわれなければなりません。電話回線の向こう側から応答
が返ってきたら、こっち側のモデムに繋がるホストコンピュータはログインで
きるよう getty プログラムを動かします。

<sect2><!-- Terminal Gets Dialed Into -->端末は着信を受けつける
<p>
<!--
 It's common for a computer running Linux to get dialed into.  The
caller gets a login prompt and logs in.  At first glance, it may seem
strange how a dumb terminal (not connected to any computer) could
accept an incoming call, but it can.  One possible reason for doing
this is to save on phone bills where rates are not symmetric.  Your
terminal needs to be set up for dial-in: Set the modem at your
terminal for automatic answer (Register S0 set to 2 will answer on the
2nd ring).  You turn on the terminal and modem before you expect a
call and when the call comes in you get a login prompt and log in.
-->
Linux が動くコンピュータでは着信を受けるのはあたりまえのことで、呼び出
し側はログインプロンプトの表示後、ログインします。初めて見ると、ダム端
末 (どのコンピュータにも接続していない) がどうして着信を受けられるのか
奇妙に思うかもしれませんが、できるんですよ。このようなことをする理由の
一つは、料率が違う電話料金を節約することです。端末で ``着信'' の設定を
し、端末側のモデムを自動着信 (レジスタ S0 に 2 をセットすると 2 回ベル
が鳴ったら自動応答します) にするなど着信用の設定が必要です。着信前に端
末とモデムの電源を入れておいて、電話がかかってくると、ログインプロンプ
トが表示されログインできます。

<!--
The host computer that dials out to your terminal needs to do
something quite unusual.  As soon as your modem answers, it needs to
run login (getty).   A host may do this by running the Linux program
"callback" sometimes named "cb".  Callback is for having computer A
call computer B, and then B hangs up and calls A back.  This is what
you want if you are using computer A to emulate a terminal.  For the
case of a real terminal this may be too complex a task so the host may
utilize only the "back" part of the callback program.  The setup file
for callback must be properly configured at the host.  Callback makes
the call to the terminal and then has mgetty run a login on that port.
Mgetty by itself (as of early 1998) is only for dial-in calls but
there is work being done to incorporate callback features into it and
thus make it able to dial-out.  As of early 1999 it didn't seem to have
been done.
-->
端末に電話をかけるホストコンピュータには、ちょっと普通じゃないことをす
る必要があります。端末側のモデムが応答するとすぐに、ホストはログイン 
(login) を動かす必要があります。ホストは ``コールバック (callback)'' 
時には ``cb'' と呼ぶ Linux プログラムを起動してこれを行います。コール
バックとは、コンピュータ A がコンピュータ B に電話をかけ、コンピュータ
 B が一旦電話を切った後、コンピュータ A に電話をかけ直すことです。端末
 をエミュレートするコンピュータ A を使っているならやりたいのではないで
しょうか。コールバックプログラムの ``かけ直し'' の部分にしかホストを利
用できないので、本当の端末にとって複雑な作業となるはずです。コールバッ
クのセットアップファイルはホスト側で正しく設定されなければなりません。
コールバックは端末に電話をかけさせ、そのポートで mgetty を動かします。
mgetty 自体 (1998年前半現在) は着信を受けることしかできなかったけど、
コールバック機能を組み込んで、発信もできるようになりました。1999年前半
の段階でこれができるとは思えませんでしたが。

<sect1><!-- Terminal Server Connection -->ターミナルサーバとの接続
<p>
<!--
 One use for terminal servers is to connect many terminals (or
modems) to a high speed network which connects to host computers.  Of
course the terminal server must have the computing power and software
to run network protocols so it is in some ways like a computer.  The
terminal server may interact with the user and ask what computer to
connect to, etc. or it may connect without asking.  One may sometimes
send jobs to a printer thru a terminal server.
-->
ターミナルサーバの使い方の一つは、ホストコンピュータが繋っている高速通
信ネットワークに沢山の端末 (や、モデム) を接続することです。もちろん、
ターミナルサーバには処理能力とネットワークプロトコルを話すソフトウェア
が必要で、ある点でコンピュータに似ています。ターミナルサーバは、どんな
コンピュータを接続するか等についてユーザと対話したり、あるいはそのよう
なことをせずに接続できるものがあります。ターミナルサーバを経由してプリ
ンターにジョブを送ったりもします。

<!--
A PC today has enough computing power to act like a terminal server
for text terminals except that each serial port should have its own
hardware interrupt.  PC's only have a few spare interrupts for this
purpose and since they are hard-wired you can't create more by
software.  A solution is to use an advanced multiport serial card
which has its own system of interrupts (or on lower cost models,
shares one of the PC's interrupts between a number of ports).  See
Serial-HOWTO for more info about such cards.  If such a PC runs Linux
with getty running on many serial ports it might be thought of as a
terminal server.  It is in effect a terminal server if it is linked to
other PC's over a network and if its job is mainly to pass thru data
and handle the serial port interrupts every 14 (or so) bytes.
Software called "radius" is sometimes used.
-->
今日の PC は、各シリアルポート自身にハードウェア割り込みが必要であるこ
とを除けば、テキスト端末用のターミナルサーバとしての処理能力は十分にあ
ります。PC をこの用途に使うには、割り込みが少なく、割り込みはハード的
に配線されていますので、ソフトウェア的に割り込みを増やすことも出来ませ
ん。解決策はカード自体が割り込みシステムを持っている高機能マルチポート
シリアルカードを使用することです (あるいは廉価版なら、PC の割り込みを
各ポートで共有するものがあります)。このようなカードについての詳しい情
報は Serial-HOWTO をご覧ください。Linux の下で、たくさんのシリアルポー
トに対して getty が走る PC はターミナルサーバだと考えてもいいのです。
ネットワーク越しに他の PC と連携したり、主な役目がデータを通過させたり
 14 バイト (か、それ以上) 毎にシリアルポートの割り込みを扱うのであれば、
それは事実上ターミナルサーバと言えます。``redius'' と呼ぶソフトウェア
が時々使われます。

<!--
Terminal servers evolved to serve more than just terminals.  They also
serve PC's which emulate terminals, and were sometimes connected to a
bank of modems connected to phone lines.  With the advent of 56k
digital modems that require a digital connection to service an
incoming phone call, a digital interface to the telephone company was
needed.  This (and more) is provided today by "remote access servers"
which have replaced the terminal server.  Instead of many individual
telephone line cables connected to a terminal server, one now finds
just a few cables with many digitized telephone calls on a each cable
(multiplexed).  The multitude of connectors needed for large numbers
of terminals or modems is no longer present on a remote access server
and thus the successor to the terminal server can't readily serve
text-terminals anymore.
-->
ターミナルサーバは端末だけでなく、それ以外にもサービスを提供するよう進
化しました。それは端末をエミュレートする PC にも役に立つし、時々は電話
線をつないだモデムプールにも接続されました。電話の着信にたいしてサービ
スするデジタル接続を必要とする 56 K モデムの出現で、電話会社へのデジタ
ルインターフェースが必要となりました。これは (そしてより以上のものが) 、
ターミナルサーバをリプレースする ``リモートアクセスサーバ'' によって今
日供給されています。ターミナルサーバに接続されている多くの独立した電話
線の代りに、(多数あるうちにの) 各 1 本にたくさんのデジタル電話の着信を
受けられるので、少ないケーブルですみます。リモートアクセスサーバ上では
たくさんの電話番号や端末が必要な多数の接続者達はもはや存在せず、従って
ターミナルサーバの後継はたやすくテキスト端末をサービスできません。

<sect1><!-- Connector and Adapter Types -->コネクタとアダプタのタイプ
<p>
<!--
 A connector is more-or-less permanently attached to the end of a
cable or to a hardware unit.  There are two basic types of connectors
used in serial communications: 1. DBxx with pins (such as DB25) and 2.
modular telephone-style connectors. 
-->
コネクタは半永久的にケーブル端かハードウェアユニットに取り付けられます。
シリアル通信で使うコネクタには 2 つの基本的なタイプがあります。それは、
 1. ピン付きの DBxx (DB25 のような) と、2. 電話線に使うモジュラー型の
コネクタです。

<!--
An adapter looks about like a connector but it has two ends.  It is
just like a cable that is so short that there is no cable part left at
all &#045;&#045;just different connectors on each end is all that remains.  The
adapter just plugs in on each side.  It allows two incompatible
connectors to mate with each other by going in between them.
Sometimes the purpose of the adapter is to interchange wires.
Obviously, one may use a special cable (perhaps homemade) as a
substitute for an adapter.  
-->
アダプタはコネクタのように見えますが、両端についています。ケーブルのよ
うなものですが、コネクタ以外の残りの部分はケーブルではなく、長くはあり
ません。アダプタの両端はプラグになっています。それを使えば互換性のない
コネクタ同士を接続することができます。アダプタは配線の変更にも使用しま
す。アダプタの代用品として特別な (多分、自作の) ケーブルを使うこともあ
ります。

<sect2><!-- Sex of Connector/Adapters -->コネクタ / アダプタの性別
<p>
<!--
 Connectors (or one side of adapters) are either male or female.
The connectors that have pins are male and the ones that have sockets
(sometimes also called pins) are female.  For modular connectors, the
ones with exposed contacts are plugs while the ones with internal
contacts (not easy to see) are jacks.  Plugs are male; jacks are
female.  
-->
コネクタ (あるいはアダプタの一端) は、オスかメスのどちらかです。ピンに
なっているコネクタがオスで、ソケット (これもピンと呼ぶ場合があります) 
の方はメスです。モジュラーコネクタの場合、端子が露出している方がプラグ
で、内側に端子があるもの (見えにくい) がジャックです。プラグがオスで、
ジャックがメスです。

<sect2><!-- Types of Adapters -->アダプタのタイプ
<p>
<!--
 There are three basic types of adapters: null modem, gender
changers and port adapters.  Some adapters perform more than one of
these three functions.
<itemize> 
<item> null modem adapter: Reroutes wires.  Like a null modem cable.
<item> gender changer: Changes the sex of a cable end.  Two connectors
 of the same sex can now connect (mate) with each other.
<item> port adapter: Goes from one type of connector to another (DB9
 to DB 25, etc.)
</itemize> 
-->
アダプタには、ヌルモデム、ジェンダチェンジャー、ポートアダプタの 3 つ
の基本的なタイプがあります。幾つかのアダプタには、この 3 つの機能の内 
1 つ以上があります。
<itemize> 
<item> ヌルモデムアダプタ : 内部で配線を変える。ヌルモデムケーブルのようなも
の。
<item> ジェンダーチェンジャ : コネクタの性別 (オス、メス) を変換する。同じ性
別の 2 つのコネクタを互いに接続 (装着) できる。
<item> ポートアダプタ : コネクタのタイプを別なものに変換する (DB9 から DB 25 
などのように)。 
</itemize> 

<sect2><!-- DB Connectors -->DB コネクタ<label id="db_conn">
<p>
<!--
 (For how to install a DB connector on the ends of a cable see <ref
id="db_conn_install" name="Installing DB Connectors">.)  These come in
9 or 25 pins.  The EIA-232 specs. call for 25 pins but since most of
these pins are not used on ordinary serial ports, 9 pins is
sufficient. See <ref id="DB_pin-out" name="DB9-DB25"> for the pin-out.
The pins are usually numbered if you look closely enough or use a
magnifying glass.
-->
(ケーブル端に DB コネクタを取り付けるには DB コネクタの取り付けをご覧
ください。) コネクタは 9 ピンか 25 ピンです。EIA-232 の規格上は 25 ピ
ンですが、これらのピンのほとんどはシリアルポートでは普通は使われないの
で、9 ピンで十分なのです。ピン配置については DB9-DB25をご覧ください。
普通、ピンには番号が振られていて、目を近づけるか、拡大鏡を使って見るこ
とができます。

<sect2><!-- RJ Modular Connectors -->
RJ モジュラーコネクタ<label id="rj_conn">
<p>
<!--
 These look like modern telephone connectors but are sometimes not
compatible with telephone connectors.  See also <ref
id="rj_conn_install" name="Installing RJ Connectors">.  They may be 6,
8, or 10 conductor.  RJ11/14 is a 4-6 conductor telephone plug.  A
look-alike is a MMJ connector (6-conductor) used on later model VT
(and other) terminals.   MMJ has an offset tab and is not compatible
with RJ11/14.  However, some connectors have been made that are
compatible with both MMJ or RJ11/14.  The MMJ pin-out is: 1-DTR,
2-TXD, 3-TXD GND, 4-RXD GND, 5-RXD, 6-DSR.
-->
現代的な電話コネクタのような外見ですが、必ずしも電話コネクタとの互換性
はありません。<ref
id="rj_conn_install" name="RJ コネクタの取り付け">をご覧ください。これ
には 6 個か 8 個または 10 個の端子がついています。 RJ11/14 は 4-6 端子
付きの電話プラグで、外見は VT (または他の) 端末の後期モデルで使われて
いる MMJ コネクタ (6 端子) に似ています。MMJ にはオフセットタブがあり、
RJ11/14 とは互換性がありません。しかし幾つかのコネクタは、 MMJ か 
RJ11/14 の両方と互換性があるように作られています。MMJ のピン配置は 
1-DTR,2-TXD, 3-TXD GND, 4-RXD GND, 5-RXD, 6-DSR となります。

<!--
A null-modem cable with MMJ (or RJ11/14) connectors will connect: 1-6,
2-5, and 3-4.  Note that such a cable support DTR/DSR flow control
which is not supported (yet) by Linux.  Making up your own 6-conductor
null-modem cable is very simple if you understand that the ordinary
4-conductor telephone cable from the wall to your telephone, used in
hundreds of millions of homes, is also a null-modem cable.  Find one
and wire your cable the same way.  
-->
MMJ (または、RJ11/14) コネクタ付きのヌルモデムケーブルは、1 と 6、2 と
 5 そして 3 と 4 を接続します。DTR/DSR フロー制御線を結んだケーブルを
使っても、Linux では (まだ) サポートされていないことに注意しておいてく
ださい。何千万軒もの家庭で使われている壁から電話に配線された 4 端子の
電話線について理解しているなら、6 端子のヌルモデムケーブルを自作するの
は簡単なことです。電話線もヌルモデムケーブルですから。それをよく見て、
同じ方法で結線すればよいのです。

<!--
If you lay such a cable (or your terminal null-modem cable) flat on
the floor (with no twists) you will note that both plugs on the ends
have their gold contacts facing up (or both facing down).  Although
it's symmetrical, it is also null- modem if you think about it a bit.
One may put a few such cables together with inline couplers and
everything works OK because each inline coupler is also a null-modem
adapter.  Two null-modem devices in series result in a straight-thru
connection.
-->
平らな床面に (ねじれをつけないで) そのケーブル (もしくは端末のヌルモデ
ムケーブル) を置いたら、ケーブルの両端のプラグには上向き (あるいは両方
共下向き) の金色の端子があるのに気がつくでしょう。ヌルモデムなのになぜ
左右対象になってるんだろうとちょっと考えるかもしれません。インラインカ
プラを二三のケーブルと一緒に使うかもしれませんが、各インラインカプラも
またヌルモデムアダプタなので、すべてうまく動くでしょう。2 つのヌルモデ
ムデバイスを一列に繋ぐならストレートな接続にします。

<!--
RJ45 and RJ48 are usually 8-conductor modular telephone plugs.
However some are 10-conductor and are allegedly wider and will not
mate with 8-conductor ones.  They are used for both flat telephone
cable and round twisted pair cable.  The cable end of the connector
may be different for round and flat cable and both RJ45 and RJ48 may
be 8 or 10 conductor so make sure you get the right one.  RJ48 has an
extra tab so that a RJ48 plug will not push into a RJ45 jack (but a
RJ45 plug will mate with a RJ48 jack).  They're used on some multiport
serial cards and networks.  Heres the pin numbers for an 8-conductor:
-->
RJ45 と RJ48 には通常 8 つの端子の電話プラグがあります。しかし、なかに
は 10 端子のものがあって、10 端子のコネクタは幅が広いので、8 端子のコ
ネクタには合わないでしょう。電話線のようなフラットケーブルや、丸いツイ
ストペアケーブルの両方で使われています。コネクタのケーブル側は、丸ケー
ブルとフラットケーブルで違っており、また RJ45 と RJ48 共に 8 か 10 端
子のものがあるので、間違えないよう気を付けてください。RJ48 には特殊な
タブがあるので、RJ48 プラグは RJ45 ジャックには挿しこめないでしょう (R
J45 プラグは RJ48 ジャックに合います)。それはマルチポートシリアルカー
ドやネットワーク装置で使われます。8 端子のピン番号を示します。
<!--
<tscreen><verb>
  Plug                          Jack
  (Looking at the end           (Looking at the cavity
   end of a cable)               in a wall)
     .__________.                   .__________.
     | 87654321 |                   | 12345678 |
     |__.    .__|                   |__.    .__|
        |____|                         |____|
</verb></tscreen>
-->

<tscreen><verb>
  プラグ                        ジャック
  (ケーブル端の外観)           (壁面の穴の外観)

     .__________.                   .__________.
     | 87654321 |                   | 12345678 |
     |__.    .__|                   |__.    .__|
        |____|                         |____|
</verb></tscreen>

<sect1><!-- Making or Modifying a Cable -->ケーブルを作るか、改造する
<sect2><!-- Buy or Make ? -->買うか作るか ?<label id="buy_or_make_cable">
<p>
<!--
 You may try to buy a short, null modem cable.  They are often
labeled as serial printer cables (but serial printers are not very
popular today and neither are the cables).  Unfortunately, they will
probably not work for hardware flow control.  Make sure the connectors
on the cable ends will fit the connectors on your computer and
terminal.  
-->
短かいヌルモデムケーブルを購入しようとする場合、それにはよくシリアルプ
リンタケーブルとラベルが貼ってあります (でもシリアルプリンタは現在では
あまりポピュラーではなく、ケーブルもそうです)。残念ながら、ハードウェ
アフロー制御用にはおそらく使えないでしょう。ケーブル端のコネクターが、
あなたのコンピュータや端末のコネクタに合うかどうか確認してください。

<!--
But if you need longer cables to connect up terminals or need hardware
flow control, how do you get the right cables?  The right ready-made
cables may be difficult to find (you might find them by searching the
Internet), especially if you want to use a minimum (say 4) of
conductors.  One option is to get them custom made, which is likely to
be fairly expensive although you might find someone to make them at
prices not too much higher than ready-made cable (I did).  Another
alternative is to make your own.  This may require special tools.  If
you can find it, used cable can be a real bargain but you will
probably need to rewire the connectors.  Most connectors that come
with short cables are permanently molded to the cable and can't be
rewired but most custom-made and homemade cables have connectors that
can be rewired.  One advantage of making your own cable is that the
skills you learn will come in handy if a cable breaks (or goes bad) or
if you need to make up another cable in a hurry.
-->
端末を接続するのに長いケーブルが必要だったり、ハードウェアコントロール
の必要がある時に、それに見当ったケーブルを得るにはどのようにすればよい
のでしょう ? 正しい既成ケーブルを見つけるのは難しいことで (インターネ
ットで探せば見つかるかもしれません)、特に最小限の配線 (4 本) なら尚さ
らです。選択肢の一つは注文製作品を使うことで、少し高価になりますが、誰
か作ってくれる人がいるなら既製品と比べてそんなに高くはなりません (私は
そうしました)。もう一つの選択肢は自分で作ることです。これには特別なツ
ールが必要です。それを見つけたら、使用済みのケーブルなんて安い買物です
が、おそらくコネクタ部分の配線を繋ぎ直す必要があります。短かいケーブル
についているのは固定された成形コネクタで、再配線できないようになってい
ますが、注文生産品や自作のコネクタなら配線をやり直すことができます。自
作ケーブルの長所は、ケーブルが壊れた (あるいは調子が悪い) ときや、急に
他のケーブルを作る必要があるときにあなたの技量でもって作れることです。

<sect2><!-- Pin Numbers -->ピン番号
<p>
<!--
 The numbers of the pins should be engraved in the plastic of the
connector.  Each pin should have a number next to it.  You may need a
magnifying glass to read them.
-->
ピン番号はコネクタのプラスチック部に刻まれています。各ピンの近くにあっ
て、見るには拡大鏡が必要になるでしょう。

<sect2><!-- Installing DB Connectors on Cable Ends -->
ケーブル端に DB コネクタを取り付ける<label id="db_conn_install">
<p>
<!--
 See <ref id="db_conn" name="DB Connectors"> for a brief description
of them.  Unfortunately, most cables one purchases today have molded
connectors on each end and can't be modified.  Others have connectors
which unscrew and can be rewired.  If you are making up cable or
modifying an existing one then you need to know about pins.  There are
two types: soldered and crimped.
-->
<ref id="db_conn" name="DB コネクタ">に簡潔な説明があります。残念なが
ら、最近のケーブルのほとんどは成形コネクタなので、改造はできません。ネ
ジを外して、線を付け替えられるものもあります。ケーブルを作ったり、既存
のものを作り直したりするなら、ピンについて知っておかねばなりません。ピ
ンには半田付けタイプと裸線をかしめるタイプ の 2 つがあります。

<!--
The crimped pins require a special crimping tool and also need an
"insertion/extraction" tool.  But once you have these tools, making up
and modifying cable may be faster than soldering.  If you are
connecting two wires to one pin (also needed if you want to jumper one
connected pin to another pin) then soldering is faster (for these
pins).  This is because the crimped pins can only take one wire each
while the soldered ones can accept more than one wire per pin.
-->
かしめ式ピンは、かしめるための特別な工具と``挿入 / 引出し'' 工具も必要
です。これらのツールを一旦入手すれば、半田付けによる製作より早いでしょ
う。2 本の線を 1 つのピンに挿すなら (接続済みのピンと他のピンをジャン
パーする場合も)、半田付けのほうが早いでしょうけど。なぜなら、かしめ式
ピンは各 1 本の線にひとつだけしか付けられませんが、半田付けのほうは 1 
つのピンに対して 1 本以上つけられるからです。

<!--
To insert crimped pins just push them in by hand or with the tool.
Removing a pin with the tool is a little tricky.  These directions can
be best understood if you have both the tool and wires in front of
you.  You must put the tool tip around a wire at the the back of a pin
and insert it as far as it will go into the hole (about 1 1/2 cm.).
Some tools have a mark (such as a tiny hole) on them to indicate how
far to insert it.  The tool tip should have a tapered gap so that you
may get the tip around the wire by starting it in where the gap is
wider than the wire.  The tool may have 2 tips.  The one that is the
most difficult to get around the wire is also the one that removes the
wire the easiest since it almost completely envelops the wire.
-->
かしめ式ピンを挿入するには手か工具を使って挿し込みます。工具でピンを取
り外すには少しこつがいります。目の前に工具と線があれば、これからの指示
はすぐ理解できます。まず、ピンの後ろの線の周りに工具の先を押しつけ、コ
ネクタの穴にとどくまで (およそ 1.5 cm) 挿入します。どれだけ挿入するか
を示すマークがついている工具もあります。工具の先には先細りした切れ目が
あるので、線より広い切れ目から始めて、工具の先を電線に押しつけます。工
具には先が 2 つあります。電線をはさみ込みにくい方は、電線をほぼ完全に
覆うので容易に電線を引き抜けます。

<!--
With the tip properly inserted pull on both the tool and the wire
with a gentle pull.  If it doesn't come out, the tool was likely not
inserted correctly so either push it in more or twist it to a
different position (or both).   Perhaps you should have used the other
tip that goes more around the pin.  Using this tool, one may readily
convert a straight-thru cable to a null-modem cable, etc.
-->
先端が適切に挿入された状態で、工具と電線をゆっくり引いてみてください。
出てこないなら、工具が正しく挿入されていないので、もうすこし押し込むか、
違う位置にねじってみてください (あるいは両方とも試してみる)。もしかし
たらピンを動かすのに違う種類の工具を使ってるのかもしれません。この工具
を使えば、ストレートケーブルをヌルモデムケーブルにしたりすることができ
ます。

<!--
There can be problems using the "insertion/extraction" tool.  If the
tools will not insert on the back of the pin, it could be that the pin
was not neatly crimped to the wire and is sort of square where it
should be round, etc.  If a pin starts to come out but will not pull
out all the way, the pin may be bent.  Look at it under a magnifying
glass.  Straightening a pin with needle-nose pliers may damage the gold
plating.  Sometimes a stuck pin may be pushed out with a thick
screwdriver blade tip (or the like) but if you push too hard you may
gouge the plastic hole or bend the pin:.
-->
``挿入 / 引き抜き'' 工具の使用には問題があります。工具がピンの後部に挿
入できないなら、ピンが線をきちんとかしめておらず、工具の先が丸まってな
くて角っぽくなってるからでしょう。ピンが出始めてもすべて引き抜けないな
ら、ピンが曲ってるのかもしれません。拡大鏡で見てください。プライヤでピ
ンをまっすぐにしようとすると、金めっきを傷めるかもしれません。たまに太
いスクリュードライバのブレードの先 (またはそれに似たもの) で押しつけた
りしますが、あんまり強く押しつけるとプラスチックの穴を削ったり、ピンを
曲げてしまうかもしれません。

<!--
Don't try soldering unless you know what you're doing or have read
about how to do it.
-->
やり方を知らずに、あるいは説明書を読まずに半田付けをするのはやめましょ
うね。

<sect2><!-- Installing RJ Connectors -->
RJ コネクタの取り付け <label id="rj_conn_install">
<p>
<!--
 These are telephone modular connecters one type of which is used
for most ordinary telephones.  But there are many different types (see
<ref id="rj_conn" name="RJ Modular Connectors">).
-->
これはすごくありふれた電話で使われる電話用のモジュラージャックコネクタ
です。しかし違うタイプのものもたくさんあります ( <ref id="rj_conn"
name="RJ モジュラー コネクタ">をご覧ください)。

<!--
These are not easy to reuse.  You might be able to pull the wires out,
push in something wedged that would lift up the gold-colored contacts
and reuse the connector.  There are special crimping tools used to
install them; a different tool for each type.  
-->
この種のタイプの再利用は簡単ではありません。線を引っ張り出して、金色の
端子を上げることができるくさび型のものを押し込めば、コネクタは再利用で
きます。取り付けには特別な締め付け工具が各コネクタタイプ毎に必要です。

<!--
If you don't have a crimping tool, installation is still possible (but
difficult) using a small screwdriver (and possibly a hammer).  Push in
the cable wires and then push each gold-colored contact down hard with
a small screwdriver that will just fit between the insulating ridges
between the contacts.  You may damage it if you fail to use a
screwdriver with a head almost the same thickness as the contacts or
if the screwdriver slips off the contact as you are pushing it down.
You may also use a small hammer to pound on the screwdriver (push
first by hand).
-->
もし締めつけ工具がなくても、小さなドライバー (それとハンマー)を使えば
取り付けられます (ちょっと難しいけど)。ケーブルの電線をコネクタの中に
入れて、絶縁体の間と端子の間にピッタリ収まるように、各端子毎に小さなド
ライバーで強く押しつけます。端子の幅とほぼ同じドライバーヘッドを使わな
かったり、押しつけた時にドライバーが滑ったりすると失敗しますよ。小さな
ハンマーでドライバーを強く叩いてもよいかもしれません (最初は手で押しま
す)。

<!--
Be sure to not hurt the "remove lever" on the connecter when you push
in the contacts.  Don't just set it down on a table and push in the
contacts.  Instead, put a shim (about 1 mm thick) that fits snugly
in the crevice between the lever and the body.  For such a shim you
may use thick cardboard, several calling cards, or wood.  Since the
bottom of the connector (that you will put on the table) isn't level
(due to the "remove lever), make sure that the table top has something
a little soft on it (like a sheet of cardboard) to help support the
non-level connector.  Even better would be to put another 1mm shim
under the first 6mm of the connector, supporting it just under where
you see the contacts.  A soft tabletop wouldn't hurt either.  Another
method (I've never done this) is to hold the connector in a vice but
be careful not to break the connector.
-->
端子を押している時に、コネクタの取り外しレバーを傷つけないよう注意して
ください。机にそれを乗せて、端子を押さないでください。代りに、レバーと
ボディの間の裂け目にぴったり合う詰めもの (薄さ約 1 mm) を詰めて おいて
ください。詰めものには、厚いボール紙か数枚の名刺、または板を使えばよい
と思います。コネクタの底 (机の上に置いたときに) は平らじゃないので (取
り外しレバーがあるため) 、そんなコネクタを支えるような少し柔らかいもの
 (1 枚のボール紙のようなもの) を机上に乗せておくようにしてください。よ
り良いのは、最初の 6 mm厚のコネクタの下に別な 1 mm 厚の詰めものを入れ
て、端子を支えるようにすることです。表面が柔らかなテーブルでも傷めない
でしょう。別な方法 (私は試したことありませんが) は、万力でコネクタを固
定しておくことですが、コネクタを壊さないように注意してください。

<!--
As compared to using a crimping tool, installing it per above takes a
lot longer and is much more prone to errors and failure but it's sometimes
more expedient and a lot cheaper than buying a special tool if you
only have one or two connectors to install.
-->
締めつけ工具を使うのと比べて上記の作業で取り付けると時間がかかり、誤り
や失敗を犯しがちですが、1 つか 2 つのコネクタを取り付けるだけなら、特
別な工具を買うよりはるかに安上りで、得策です。

<sect><!-- Set-Up (Configure) in General -->
一般的なセットアップ (設定) <label id="setup_">
<sect1><!-- Intro to Set-Up -->イントロ
<p>
<!--
 Configuring (Set-Up) involves both storing a configuration in the
non-volatile memory of the terminal, and putting commands in start-up
files (on you hard disk) that will run each time the computer is
powered on (or possibly only when the run-level changes).  This
section gives an overview of configuring and covers the configuring of
the essential communication options for both the terminal and the
computer.  The next two major sections cover in detail the
configuration of the terminal (see <ref id="term_conf_details"
name="Terminal Set-Up"> and the computer (see <ref  id="comp_conf_details"
name="Computer Set-Up (Configure) Details">.
-->
設定 (セットアップ) には、端末の不揮発性メモリに設定内容を記憶させるこ
とと、コンピュータの電源が入った (あるいは、ランレベルが変った) 時に実
行するスタートアップファイル (ハードディスク上にある) にコマンドを記述
しておくことの 2 つがあります。本章では設定のあらましについてと、端末
とコンピュータの両方に不可欠な通信オプションについて説明します。続く 2
 つの章において、端末の設定 ( <ref id="term_conf_details"
name="端末セットアップ">をご覧ください) と、コンピュータの設定 ( <ref
id="comp_conf_details" name="コンピュータセットアップ (設定)の詳細">を
ご覧ください) を詳細に説明します。

<sect1><!-- Terminal Set-Up (Configure) Overview -->
端末のセットアップ (設定) の概要<label id="term_conf_ov">
<p>
<!--
 When a terminal is installed it's necessary to configure the
physical terminal by saving (in its non-volatile memory which is not
lost when the terminal is powered off) the characteristics it will
have when it is powered on.  You might be lucky and have a terminal
that has already been set-up correctly for your installation so that
little or no terminal configuration is required.
-->
端末を設置する場合は、電源投入直後の端末の設定を(端末の電源が切られて
も、設定内容が消えない不揮発性メモリに) 記憶させ、物理的に端末の設定を
する必要があります。正しく設定してある端末をお持ちなら幸運ですよ。あな
たの環境に合った正しい設定を少しだけすればよいか、あるいはまったく必要
ないからです。

<!--
There are two basic ways of configuring a terminal.  One is to sit at
the terminal and go thru a series of set-up menus.  Another is to send
escape sequences to it from the host computer.  Before you can send
anything to the terminal (such as the above escape sequences), its
<ref id="commun_config" name="Communication Interface">) options such
as the baud rate must be set up to match those of the computer.  This
can only be done by sitting at the terminal since the communications
must be set up right before the computer and the terminal can "talk"
to each other.  See <ref id="term_conf_details" name="Terminal
Set-Up">.
-->
端末の設定には 2 つの基本的なやり方があります。一つは端末の前に座って、
一連のセットアップメニューに従ってやっていく方法です。もう一つはホスト
コンピュータからエスケープシーケンスを送る方法です。端末に何かを (エス
ケープシーケンスのような) 送る前に、<ref id="commun_config" name="通信
インターフェイス"> のオプションのボーレートオプションをコンピュータの
それと合うように設定しておかなければなりません。コンピュータと端末が互
いに ``会話'' する前に通信が正しく設定されてないといけないので、端末の
前で設定を行ないます。詳細は<ref id="term_conf_details" name="端末のセッ
トアップ"> をご覧ください。

<sect1><!-- Computer Set-Up (Configure) Overview -->
コンピュータセットアップ (設定) の概要
<p>
<!--
 Besides possibly sending escape sequences from the computer to
configure the terminal, there is the configuring of the computer
itself to handle the terminal.  If your lucky, all you need to do is to
put a "getty" command in the /etc/inittab file so that a "login:" prompt
will be sent to the terminal when the computer starts up.  See <ref
id="getty_" name="Getty (in /etc/inittab)"> for details.
this for the computer. 
-->
また、コンピュータから端末に設定用のエスケープシーケンスを送ることがで
きる場合、コンピュータだけで、端末を使えるように設定ができます。運が良
ければ /etc/inittab ファイルに ``getty'' コマンドを記述しておくことで、
必要なことが全てできますよ。コンピュータが起動した時に、``login:'' プ
ロンプトを端末に対して送りますから。詳細は<ref
id="getty_" name="Getty (/etc/inittab にある)"> をご覧ください。

<!--
The computer communicates with the terminal using the device driver
software (part of the kernel).  The serial device driver has a default
configuration and is also partly (sometimes fully) configured by the
getty program before running "login" at each terminal.  However,
additional configuration is sometimes needed using programs named "stty"
and "setserial".  These programs (if needed) must be run each time the
computer starts up since this configuration is lost each time the
computer powers down.  See <ref id="comp_conf_details" name="Computer
Set-Up (Configure) Details">.  
-->
コンピュータはデバイスドライバ (カーネルの一部) を使って端末と通信しま
す。シリアルデバイスドライバにはデフォルトの設定があり、
端末で ``login'' が動く前にそのうちの一部 (時には全部) が
getty プログラムにより設定
されます。しかし、追加の設定には ``stty'' と ``setserial'' と呼ぶプロ
グラムが必要になる時があります。コンピュータの電源を切る度にこの設定が
消えるので、これらのプログラムを (もし必要なら) 毎回動かさなければなり
ません。<ref id="comp_conf_details" name="コンピュータセットアップ (設
定) の詳細">をご覧ください。

<sect1><!-- Many Options -->多くのオプション
<p>
<!--
 There are a great many configuration options for you to choose
from.  The communication options must be set right or the terminal
will not work at all.  Other options may be set wrong, but will cause no
problem since the features they set may not be used.  For example, if
you don't have a printer connected to the terminal it makes no
difference how the printer configuration parameters are set inside the
terminal.  This last statement is not 100% correct.  Suppose that you
have no printer but the compute (by mistake) sends the terminal a
command to redirect all characters (data) from the computer to the
printer only.  Then nothing will display on the screen and your
terminal will be dead.  Some terminals have a configuration option to
inform the terminal that no printer is attached.  In this case the
terminal will ignore any command to redirect output to the "printer"
and the above problem will never happen.  However, this doesn't help
much since there are many other erroneous commands that can be sent to
your terminal that will really foul things up.  This is likely to
happen if you send the terminal a binary file by accident.
-->
選択可能なオプションはかなりたくさんあります。通信オプションが正しく設
定されていないと、端末はまったく動かないでしょう。別なオプションを間違
って設定しても、使われてない機能なら問題ありません。例えば、端末にプリ
ンタが接続されてなければ、プリンタの設定パラメータが端末内でどのように
設定されようと違いはありません。最後の文は 100% 正しいわけではありませ
ん。端末にプリンタが接続されてないのに、コンピュータからプリンタに文字
 (データ) を全てリダイレクトするコマンドを送ったとしましょう。そうする
と画面にはなにも表示されず、端末が死んでしまいます。幾つかの端末には、
 プリンタが接続されていないことを示す設定オプションがあります。この場
合 `` プリンタ'' への出力をリダイレクトするどんなコマンドも無視するの
で、上記のような問題は起こりません。しかし、端末を本当に変にしてしまう
誤ったコマンドが他に多くあるので、これはたいした助けにはならないでしょ
う。誤ってバイナリファイルを端末に送ったような状況に似ています。

<!--
In some cases a wrong setting will not cause any problem until you
happen to run a rare application program that expects the terminal to
be set a certain way.  Other options govern only the appearance of the
display and the terminal will work fine if they are set wrong but may
not be as pleasant to look at.
-->
いくつかの場合では、端末がある状態に設定されていると思っているまれなプ
ログラムを動かさない限りは、誤った設定によるこの種の問題は起らないでし
ょう。表示上の外観のみを決める別なオプションがあり、間違った設定がなさ
れた場合、端末はうまく動くはずですが見た目がおかしくなります。

<!--
Some options concern only the terminal and do not need to be set at
the computer.  For example: Do you want black letters on a light
background?  This is easier on the eyes than a black background.
Should a key repeat when held down?  Should the screen wrap when a
line runs off the right end of the screen?  Should keys click?
-->
幾つかのオプションは端末にのみ影響するもので、コンピュータで設定する必
要はありません。例えば、明るい背景に黒字で表示したいですか ? 背景が黒
いより目に優しいですよね。押し続けられたキーを繰り返すようにしますか ?
行が画面の右端に来たら画面を折り返しますか ? キークリック音を鳴らしま
すか ?

<sect1><!-- Communication Interface Options -->
通信インターフェイスのオプション <label id="commun_config">
<p>
<!--
 Some of these communication settings (options) are for both the
terminal and the computer and they must be set exactly the same for
both: speed, parity, bits/character, and flow control.  Other
communication options are only set at the terminal (and only a couple
of these are essential to establish communications).  Still others
such as the address and interrupt (IRQ) of the physical port ttyS2 are
set only at the computer using the "setserial" command.  Until all of
the above essential options are compatibly set up there can be no
satisfactory serial communication (and likely no communication at all)
between the terminal and the computer.  For the terminal, one must set
these options manually by menus at each terminal (or by using some sort
of special cartridge at each terminal).  The host computer is
configured by running commands each time the computer is powered up
(or when people log in).  Sometimes the getty program (found in the
/etc/inittab file) which starts the login process will take care of
this for the computer.  See <ref id="getty_" name="Getty (in
/etc/inittab)">
-->
通信設定 (オプション) の幾つかは端末とコンピュータの両方にあり、通信速
度、パリティ、キャラクター長やフロー制御などは両者で正しく設定されなけ
ればなりません。通信オプションには端末側でのみ設定されるものもあります
 (この組み合せでのみ通信するのに不可欠なものです)。物理ポート ttyS2 の
ポートアドレスや割り込み番号 (IRQ) のようなオプションは、 ``setserial''
コマンドを使ってコンピュータ側でのみ設定されます。以上の基本的なオ
プションが全て矛盾なく設定されるまで、端末とコンピュータの通信は満足に
できません (まったくできないのと同じ)。端末では、各端末毎にメニューを
使って (もしくは各端末で特別なカートリッジを使って) 手作業でこれらのオ
プションを設定しなければなりません。ホストコンピュータは、電源投入のた
び (もしくは誰かがログインした時) にコマンドを発行して設定をおこないま
す。ログインプロセスが動かす (/etc/inittab で指定した) getty プログラ
ムがコンピュータの設定を行なうこともあります。<ref id="getty_" 
name="Getty (in /etc/inittab)"> をご覧ください。

<!--
The settings for both the computer and the terminal are:
<itemize>
<item> <ref id="speed" name="Speed (bits/second) ">
<item> <ref id="parity_" name="Parity">
<item> <ref id="ch_size" name="Bits per Character ">
<item> <ref id="flow_control" name="Flow Control ">
</itemize>
-->
コンピュータと端末の両方の設定です。
<itemize>
<item> <ref id="speed" name="通信速度 (ビット / 秒)">
<item> <ref id="parity_" name="パリティ">
<item> <ref id="ch_size" name="キャラクタ長">
<item> <ref id="flow_control" name="フロー制御">
</itemize>

<!--
Some essential settings for the terminal alone are:
<itemize> 
<item> <ref id="port_select" name="Port Select"> 
<item> Set communication to full duplex (=FDX on Wyse terminals)
</itemize> 
-->
端末だけの基本的な設定です。 
<itemize> 
<item> <ref id="port_select" name="ポートの選択"> 
<item> 全 2 重通信の設定 (Wyse 端末では FDX)
</itemize> 

<!--
If the  <ref id="getty_" name="Getty (in /etc/inittab)"> program can't
set up the computer side the way you want, then you may need to use
one (or both) of the <ref id="stty_setserial" name="Stty & Setserial">
commands.  
-->
<ref id="getty_" name="Getty (in /etc/inittab)"> が、あなたの望むよう
にコンピュータ側の設定ができないなら、 Stty と Setserialコマンドの一つ 
(あるいは両方) を使う必要があります。

<sect2><!-- Speed -->通信速度<label id="speed">
<p>
<!--
 These must be set the same on both the terminal and the computer.
The speed is the bits/sec (bps or baud rate).  Use the highest speed
that works without errors.  Enabling flow control may make higher
speeds possible.  There may be two speeds to set at the terminal:
Transmit and Receive, sometimes abbreviated T and R.  Usually they are
both set the same since stty in Linux doesn't seem to have the option
yet of setting them differently.  (There is an option to do this with
the "stty" command but it seems to actually set them both the same.)
Common speeds are 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, ...
The slower speeds (like 600) are for printers and hard-copy terminals.
-->
端末とコンピュータの両方で同じ設定にしなければなりません。通信速度はビ
ット / 秒 (bps または ボーレート) で表します。エラーなしで高速通信する
にはフロー制御をしたほうがよいでしょう。端末側では送信 (Transmit) と受
信 (Receive) -- 時々 T,R と省略します -- の 2 つの速度が設定でき、普通
は両方が同じ速度に設定するので、Linux の stty ではまだ別々に設定できる
ようになってないと思われます (``stty'' コマンドのオプションでこれがで
きますが、実際は両方とも同じ設定にします)。 共通の速度は 300, 600, 120
0, 2400, 4800, 9600, 19200, 38400 などがあり、低速 (600 のような) はプ
リンタやハードコピー端末用です。

<sect2><!-- Parity & Should You Use It ? -->
パリティ、それを使うべきか ? <label id="parity_">
<p>
<!--
 For a definition see <ref id="parity_def" name="Parity Explained">.
Parity-disabled is often the default.  To enable parity, you must both
enable it and then select either even or odd parity.  It probably
makes no difference if it's odd or even.  For terminals there are
sometimes settings for both transmit and receive parity.  You should
set both of these the same since stty at the computer doesn't permit
setting them differently.  The PC serial port usually can't support
different parities either.  Some terminal are unable to set receive
parity and will simply always ignore received parity bits.  On some
older terminals if you use 8-data-bits per byte then parity will not
work since there is no room in the hardware for the extra parity bit.
-->
パリティの定義については<ref id="parity_def" name="パリティの説明">を
ご覧ください。たいていはパリティ禁止がデフォルトです。パリティを許可す
るなら、端末とコンピュータの両方で許可して、偶数パリティか奇数パリティ
のどちらかを選択します。偶数、奇数のどちらを選んでも大差ありません。端
末では時々、送信と受信のパリティの両方を設定します。コンピュータでの 
stty は異なった設定を許さないので両方とも同じ設定にすべきです。普通、
PC のシリアルポートは異なるパリティをサポートしません。幾つかの端末で
は受信パリティを設定できませんから、受信パリティビットを単に無視します
。1 文字を 8 bit として扱う古い端末は、ハードウェア的にパリティビット
の拡張ができないので、パリティチェックもできません。

<!--
Should you use parity  at all?  Parity, while not really necessary, is
nice to have.  If you don't have parity, then you may get an incorrect
letter here and there and wind up trying to correct spelling errors
that don't really exist.  However parity comes at a cost.  First, it's
more complicated to set up since the default is usually no parity.
Secondly, parity will slow down the speed with which bytes travel over
the serial cable since there will be one more bit per byte.  This may
or may not slow down the effective speed.
-->
パリティを使うべきでしょうか ? パリティは、必然性はないけどもあれば尚
良しといったところです。パリティがなければ不正な文字をあちこちで受信し
て、存在しない文字のスペルミスを補正しようとするでしょう。しかし、パリ
ティにはコストがかかります。第一に、デフォルトがパリティなしなので設定
が少々複雑です。第二に、1 バイト毎に 1 ビット以上のパリティビットが付
加されるので、通信ケーブルを通過するスピードが低下するでしょう。これに
よって有効速度が低下するかどうかはわかりませんが。

<!--
For example, a hard-copy terminal is usually limited by the mechanics
of the printing process.  Increasing the bytes/sec when the computer
(its UART chip) is transmitting only results in more flow-control
"halt" signals to allow the mechanical printing to catch up.  Due to
more flow-control waits the effective speed is no better without
parity than with it.  The situation is similar for some terminals:
After you implement parity there may be fewer flow-control waits per
unit time resulting in more bits/sec (average).  However, due to the
added parity bits the bytes/sec (average) stays the same.
-->
例えば、ハードコピー端末は印刷処理で機械的に制限されます。コンピュータ
 (のUART チップ) が送る 1 秒当りのバイト量が増えると、機械的な印刷処理
に追いつくようにフロー制御の ``停止'' 信号が頻繁に送られることになるで
しょう。フロー制御による待機があっても、効果的な速度を保つにはパリティ
以外にはありません。幾つかの端末でも状況は同じです。パリティを実装した
後で、1 秒当りのビット数 (平均) が少し増えたために、単位時間当りでは少
しはフロー制御によって待機することになります。しかし、追加したパリティ
ビットのせいで 1 秒当りのバイト数 (平均) は同数となります。

<!--
One option is to install terminals with no parity.  Then if parity
errors are noticed, it can be implemented later.  To spot possible
errors with no parity, look for any spelling errors you don't think
you made.  If you spot such an error, refresh the screen (retransmit
from the computer).  If the error goes away, then it's likely a parity
error.  If too many such errors happen (such as more than one every
few hundred screens) then corrective action is needed such as:  Enable
parity and/or reduce speed, and/or use a shorter/better cable.
Enabling parity will not reduce the number of errors but it will tell
you when an error has happened.
-->
一つのオプションはパリティなしで端末をインストールしてしまうことです。
パリティエラーに気付いた後で、それを設定するのです。パリティなしの時に
発生するエラーに目ぼしをつけるには、身に覚えのないスペルミスを探すこと
です。そんなエラーに気づいたら、画面をリフレッシュ (コンピュータから再
送信する) してください。エラーがなくなったら、それはパリティエラーです。
そのようなエラーが多発したら (数百画面に 1 つ以上)、パリティを有りにし
たり、通信速度を落したり、また、より短かく品質の良いケーブルを使用する
などの適切な策をとる必要があります。パリティ有りにしてもエラーの数は減
りませんが、エラーがいつ発生したかはわかります。

<!--
Just the opposite policy is to initially enable parity.  Then if no
parity errors (error symbols on the CRT) are ever seen (over a
reasonable period of time, say a month or two) it may be safely
disabled.
-->
まさに正反対の方針は、最初からパリティ有りにしておくことです。それで、
パリティエラー (CRT の文字化け) が発生しなければ (一ヶ月か二ヶ月の一定
期間)、パリティ無しにしても安全です。

<sect2><!-- Bits/Character -->キャラクター長<label id="ch_size">
<p>
<!--
 This is the character size (the number of data bits per
character excluding any parity bit).  For ASCII it's 7,  but it's 8
for ISO character sets.  If you are only going to use ASCII
characters, then select 7-bits since it's faster to transmit 7 bits
than 8.  Some older terminals will only display 7-bit characters.
-->
これは文字のサイズです (パリティビットを除く 1 文字当りのデータビット
の数)。ASCII では 7 ビット、ISO 文字セットなら 8 ビットです。もし ASCI
I キャラクタしか使わないのなら、8 ビット長より転送速度が早いので、 7 
ビット長を選択しましょう。幾つかの古い端末は 7 ビット文字しか表示でき
ません。

<sect2><!-- Which Flow Control (Handshaking) ? -->
どのフロー制御にする (ハンドシェイク) ?
<p>
<!--
 The choice is between "hardware" (for example  dtr/cts)
or "software" (Xon/Xoff) flow control.  (The Adds terminal menu
incorrectly use "Xon/Xoff" to mean any kind of flow control.)  While
hardware flow control may be faster (if the one or two extra wires for
it are available in the cable and if the terminal supports it) in most
cases Xon/Xoff should work OK.  Some people report that they solved
disturbing problems (see below) by converting to hardware flow control
but software flow control has worked fine at other installations (and
for me personally).
-->
フロー制御は、``ハードウェア''(例えば DTR/CTS) か、``ソフトウェア'' (X
onn/Xoff) のどちらかの選択となります。(Adds の端末メニューでは、どちら
のフロー制御にも ``Xon/Xoff'' と間違った使い方をしています)。(ケーブル
に 1 本か 2 本の余分な線があって、端末がサポートするなら) ハードウェア
フロー制御のほうが速く動作しますが、Xon/Xoff もそれ程悪くはありません。
何人かの人がハードウェアフロー制御に変えることで、気がかりな問題を解決
したこと (以下を見てください) を報告していますが、ソフトウェアフロー制
御は別な設定で良好に動作します (私自身の場合ですが)。

<!--
If you use software (Xon/Xoff) flow control and have users who don't
know about it, then they may accidentally send an Xoff to the host and
lock up their terminal.  While it's locked, they may type frantically
in a vain attempt to unlock it.  Then when Xon is finally sent to
restore communication, all that was typed in haste gets executed,
perhaps with unexpected results.  They can't do this with hardware
flow control.  See <ref id="flow_control" name="Flow Control"> for an
explanation of flow control.
-->
もしソフトウェア (Xon/Xoff) フロー制御を使い、ユーザがそれについて何も
知らないなら、ホストにうっかり Xoff を送ったり、端末をロックしたりする
と思います。端末がロックしている間、ユーザは端末をアンロックしようと無
駄な試みながら、大慌てでいろんなキーをタイプすることでしょう。そして通
信を回復するために Xon が送られた時、急いでタイプした全てが実行されて、
恐らく予期せぬ結果が生じるのです。ハードウェアフロー制御ならこんなこと
は起こりません。フロー制御の説明は<ref id="flow_control" name="フロー
制御"> をご覧ください。

<sect2><!-- Port Select -->ポートの選択<label id="port_select">
<p>
<!--
 Since most terminals have two or more connectors on the back, it
is usually possible to assign one of these connecters to connect to
the host computer and assign another connector to be the printer port.
The connector may have a name next to it (inspect it) and this name
(such as Aux, Serial 2, or Modem) may be assigned to either be the
main host connection or the printer connection (or the like).
-->
ほとんどの端末には背面に 2 つ以上のコネクタがあるので、通常、1 つのコ
ネクタをホストコンピュータとの接続用に、もう 1 つをプリンタとの接続用
に割り当てることができます。コネクタの近くには名前があって (調べてみて
ください)、この名称 (Aux,Serial 2 あるいは Modem) はホストかプリンター
のどちらかの接続 (あるいはそれに類するもの) に割り当てられます。

<sect1><!-- Quick Attempt -->すぐに試してみるには
<p>
<!--
 While all the above may seem overly complex, to get a terminal
working is often fairly simple.  The <ref id="quick_install"
name="Quick Install"> section describes a simple way to try to do
this.  But if that doesn't work or if you want to make the display
look better and perform better, more reading will be needed.
-->
上記のことは全てひどく複雑に思えますが、端末を動作させるのはかなり簡単
なものですよ。 クイックインストールの章では、これを試す簡単な方法につ
いて述べています。でもうまく動かなかったり、より良い表示にしたくなった
り、あるいは性能を上げたければもっと深く読む必要があります。

<sect><!-- Terminal Set-Up (Configure) Details -->
端末のセットアップ (設定) の詳細 <label id="term_conf_details">
<p>
<!--
 Except for the next subsection on sending escape sequences to the
terminal, this section mainly presents the details of setting up the
terminal manually by sitting at the terminal and going thru menus.  If
you haven't already done so, you should read <ref id="term_conf_ov"
name="Terminal Set-Up (Configure) Overview">.  It's best if you have a
terminal manual, but even it you don't there is information here on
many of the options which you might possibly need to set.
-->
``端末へエスケープシーケンスを送る''という次の小節を除いて、本章では主
に、端末の前でメニューを使って手作業によるセットアップの詳細について述
べます。まだやったことがないのなら、<ref id="term_conf_ov"
name="端末セットアップ (設定)の概要">を読んでください。端末のマニュア
ルがあれば一番いいのですが、それさえも設定する必要のある多くのオプショ
ンについての情報が載っているわけではありません。

<!--
The communication parameters such as its baud rate must always be set
up at the terminal since if this is not done there can be no
communication with the terminal.   Once communication is established
you have two choices for doing the rest the terminal configuration.
You may continue to configure manually at the terminal and save the
results in the terminal's non-volatile memory or you may do
this by sending escape sequences to the terminal from the computer
each time the terminal is powered on (or the like). 
-->
ボーレートのような通信パラメータは、もし設定されなかったら端末との通信
がうまくいかないので、端末で常に設定されてなければなりません。一度通信
が確立したら、端末の設定を保存させるために 2 つの選択肢があります。端
末で手作業の設定を繰り返して端末の不揮発性メモリに書き込んでおくか、あ
るいは端末の電源が入るたびに (あるいはそれに似た状態になると)、コンピ
ュータから端末へエスケープシーケンスを送るようにすることです。

<!--
If you know how to set up and save a good configuration inside the
terminal it may be the best way.  If you don't, you might want to just
send the init string from terminfo to your terminal each time you use
the terminal.  Perhaps doing nothing will still give you a usable
terminal.  You (or an application program) can always change
things by sending certain escape sequences to the terminal.
-->
もし、端末のセットアップと良好な設定を端末に保存する方法を知っているな
ら、それが最善のやりかただと思います。その方法を知らないのなら、端末を
使う度に terminfo の初期化文字列を端末に送ることでしょう。多分何もしな
くても端末は使いやすいものだと思いますよ。あなた (かアプリケーションプ
ログラム) は、端末にあるエスケープシーケンスを送ることでいつでも設定を
変更することができます。

<sect1><!-- Send Escape Sequences to the Terminal -->
端末へエスケープシーケンスを送る
<p>
<!--
 Once the communication interface is established, the rest of the
configuration of the terminals may sometimes be done by sending
escape sequences to the terminals from the computer.  If you have a
large number of terminals, it may be worthwhile to write (or locate) a
shell script to automatically do this.  There may (or may not) be a
command you can send to a terminal to tell it to save its current
set-up in its non-volatile memory so that it will be present the next
time the terminal is powered on.
-->
一度通信インターフェースが確立すると、端末の設定はコンピュータから端末
へエスケープシーケンスを送ることで保存します。かなり多くの端末があるの
なら、自動的に実行するシェルスクリプトを書く価値があると思います。それ
は端末の不揮発性メモリに正しいセットアップを保存するように指示するコマ
ンドなので (そうじゃないかもしれない)、次に端末の電源が入ったときに設
定が反映しているでしょう。

<!--
There is an simple way to send these escape sequences and a complex
way.  Using the simple way, you never look up escape sequences but
issue commands that automatically find an appropriate escape sequence
in the terminfo database and send that.  Unfortunately, not all the
escape sequences which you might want to send are always in the
terminfo database.  Thus the more complex (but possibly better) way is
to directly send escape sequences.  
-->
エスケープシーケンスを送るには簡単な方法と複雑な方法があります。簡単な
方法を使うと、terminfo データベースから適切なエスケープシーケンスを見
つけてきて自動的にコマンドを発行し、送信してくれるので、エスケープシー
ケンスを探す必要はありません。残念ながら、送りたいエスケープシーケンス
が全て terminfo データベースにあるとは限りません。従って、より複雑な 
(でも、より良い) 方法はエスケープシーケンスを直接送ることです。

<!--
For this complex method you'll need an advanced manual.  Old terminal
manuals once included a detailed list of escape sequences but newer
ones usually don't.  To find them you may need to purchase another
manual called the "programmers manual" (or the like) which is not
supplied with the terminal.  A <ref id="esc_seq_list" name="Esc
Sequence List"> for some terminals is on the Internet but it's terse
and likely incomplete.  
-->
複雑な方法を使うには高度なマニュアルが必要になります。かつて古い端末の
マニュアルにはエスケープシーケンスの詳細な表が含まれていましたが、新し
いものには普通は記載されていません。それを見つけるために、端末には付い
てこない ``プログラミングマニュアル'' (またはそれに類するもの) と呼ぶ
別なマニュアルを購入する必要があるかもしれません。幾つかの端末のために
<ref id="esc_seq_list" name="エスケープシーケンスリスト">がインターネッ
トにありますが、簡潔なもので、不備な点もあります。

<!--
Even without a manual or the like, you may still send commands to
configure the terminal by using the programs "tput" and "setterm".
See <ref id="term_settings" name="Changing the Terminal Settings">.
You could just send the terminal an init string from the terminfo
entry if the init string sets up the terminal the way want it.  See
<ref id="init_string" name="Init String">.  Unless you plan to have
these sequences sent from the computer to the terminal each time the
terminal is powered on, you must somehow save the settings in the
non-volatile memory of the terminal.
-->
マニュアルかそれに類するものがなくても、``tput'' と ``setterm'' プログ
ラムを使って端末の設定をするためのコマンドを送ることができますよ。<ref
id="term_settings" name="端末の設定の変更">をご覧ください。初期化文字
が端末に対して希望の設定を行なうなら、terminfo のエントリにある初期化
文字を端末へ送るにちがいありません。<ref id="init_string" name="初期化
文字">をご覧ください。端末の電源が入る度にコンピュータから端末にエスケー
プシーケンスを送るようにしなくても、端末の不揮発性メモリにどうにかして
保存しておけばよいのです。

<sect1><!-- Older Terminals Set-Up --> より古い端末のセットアップ
<p>
<!--
 On older terminals look at the keyboard for labels just above the
top row of numeric keys.  If they exist, these labels may be what
these keys do in set-up mode.  Some older terminals may have only one
"set-up" menu.  Still older ones have physical switches.  In some
cases not all the switches are well labeled but they may be well
concealed.  Of course, if you set something with a switch, it's
"saved" and there is no need to save the setting in non-volatile
memory. 
-->
古い端末の数字キーの最高列のすぐ上のラベルを見てください。もしあれば、
このラベルはセットアップモードで使用できます。幾つかの古い端末では、``
セットアップ'' メニューが一つだけかもしれません。なお古いものには物理
的なスイッチがついています。いくつかの場合では、全てのスイッチにラベル
があるわけではないのですが、隠されてるかもしれません。もちろん、スイッ
チで何かを設定したら、それは ``保存'' されており、不揮発性メモリなどに
設定を保存する必要はありません。

<sect1><!-- Getting Into Set-Up (Configuration) Mode -->
セットアップ (設定) モードの情報を得る<label id="enter_setup">
<p>
<!--
 To select options (configure) at the terminal, you must first
enter "set-up" mode and then select options (i.e. configure) using
menus stored inside the terminal and displayed on the screen.  To do
this, the terminal does not even need to be connected to a computer.
How to get into set-up mode is covered in the terminal's manual, but
here's some hints that may help:
-->
端末でオプション (設定) を選択するためには、最初に ``セットアップ'' モ
ードにしなければならず、それから端末に記憶され画面に表示されたメニュー
を使ってオプション (すなわち設定) を選択します。設定時には、端末はコン
ピュータに接続される必要はありません。いかにセットアップモードにするか
については端末のマニュアルに記載されていますが、ここで幾つかのヒントを
挙げておきます。

<!--
If there's a "set-up" key try pressing it.  Also try it shifted.
<itemize>
<item> Wyse: First try the shifted "Select" key; then substitute 
 Ctrl for shifted in all of the above.  
<item> VT, Dorio: F3 may be the set-up key.  On VT420 and later models
 this key may have been programmed to do something else so turn off the
 power.  When you turn on the power again, hit the F3 key as soon as
 you get an initial screen message.
<item> IBM: 3151: Ctrl-ScrollLock.  3153: Ctrl-Minus_on_Keypad (or
 like 3151)
</itemize>
-->
``セットアップ'' キーがあるなら押してみてください。そしてまたそのモー
ドに移ってみてください。
<itemize>
<item>Wyse: 最初にシフトを押しながら ``select'' キーを押してください。それか
ら上記の全てで Ctrl キーの代りにシフトキー押してください。 
<item>VT,Dorio: F3 がセットアップキーだと思います。VT420 とその後継モデルで
は、F3 キーは他の機能に割付を変更されてるかもしれないので、一度電源を
切ってください。再び電源を投入して初期画面が表示された直後に F3 キーを
押してください。 
<item>IBM: 3151: Ctrl-ScrollLock を押します。3153 は Ctrl-テンキーのマイナス
 (または 3151 と同じ) を押します。 
</itemize>

<!--
To move around in the set-up menus, try the arrow keys.  Use Return,
Space, or a special key ("toggle" on old terminals) to select.
To exit set-up mode select exit from a menu (or on some older
terminals press the set-up key again).
-->
セットアップメニューで移動するには矢印キーを試してみてください。選択す
るには リターンキー か スペースバー または特殊キー (古い端末なら ``tog
gle'' キー) を使います。セットアップモードから抜けるにはメニューで終了
を選択します (あるいは古い端末なら再びセットアップキーを押します)。 

<sect1><!-- Communication Options -->通信オプション
<p>
<!--
 For the terminal to work at all, speed, parity, bits/character,
and communication mode must be set correctly.  Incorrect flow control
may cause loss and/or corruption of data seen on the screen. The
essential communication options were dealt with (for both the terminal
and computer) in another section:  See <ref id="commun_config"
name="Communication Interface">.  The following list provides some
links to that section, as well as some additional communication
options set only at the terminal.
-->
端末で完全に動くようにするには、通信速度、パリティ、データ長や通信モー
ドが正しく設定されてないといけません。不正なフロー制御は、データの欠落
や画面で文字化けの原因となります。必須の通信オプションは他の章 (端末と
コンピュータの両方共) で扱います 。<ref id="commun_config"
name="通信インターフェイス">のオプションをご覧ください。以下のリストは
他の章へのリンクであり、加えて付加的な通信オプションは端末側でのみ設定
します。

<!--
<itemize>
<item> <ref id="speed" name="Speed (bits/second) "> 
 (baud rate): 9600, 19200, etc.
<item> <ref id="parity_" name="Parity"> none, even, odd, mark, space
<item> <ref id="ch_size" name="Bits per Character "> {Data}: 7 or 8
<item> <ref id="flow_control" name="Flow Control:"> or Handshake
 {Hndshk}: none, Xon-Xoff, or hardware (DTR, etc). 
  <itemize>
  <item> Receiver Handshake {Rcv Hndshk} protects data being Received
   by the terminal by transmitting flow-control signals to the host.
  <item> Transmitter Handshake {Xmt Hndshk} is protection of data being
   Transmitted by the terminal.   The terminal receives flow-control
   signals (and locks/unlocks the keyboard).  Includes "Incoming Xon/Xoff".
  </itemize>
<item> number of stop bits: 1 or 2. See <ref id="byte_seq" name=
 "Voltage Sequence for a Byte">
<item> Flow control level {Rcv Hndshk Level} {{Xoff at ...}}: Flow
 control will send "stop" when this number of bytes in the terminal's
 buffer is exceeded.  
<item> <ref id="half_duplex" name="Communication Mode"> {Comm}: <ref
 id="half_duplex" name="Full Duplex {FDX}, Half Duplex {HDX}"> {{Local
 Echo}}, <ref id="local_mode" name="Local Mode"> {{Online/Local}}
<item> Transmit Rate (Speed) Limit {Xmt Lim}: limits the transmit rate
 to the specified cps (chars/sec) even though the baud rate setting may
 be at a higher speed.
<item> Function-Key Rate Limit: as above but for function key
 messages.
<item> <ref id="port_select" name="Port Select">: Which physical connecter
 is for the host {Host Port} ?
</itemize>
-->
<itemize>
<item> <ref id="speed" name="通信速度 (ビット / 秒)"> (ボーレート)
9600、19200 など。
<item> <ref id="parity_" name="パリティ">なし、偶数、奇数、マーク、スペース 
<item> <ref id="ch_size" name="キャラクタ長"> {Data}: 7 or 8
<item> <ref id="flow_control" name="フロー制御">またはハンドシェイク 
{Hndshk}: なし, Xon-Xoff またはハードウェア (DTR 等)
  <itemize>
  <item> 受信ハンドシェイク {Rcv Hndshk} は、フロー制御信号をホストヘ
送ることで端末で受信されるデータを保護します。
  <item> 送信ハンドシェイク {Xmt Hndshk} は端末から送信されるデータを
保護するものです。端末はフロー制御信号を受信 (そして、キーボードをロッ
ク / アンロック) します。``Xon/Xoff の受信'' を含みます。
  </itemize>
<item> ストップビットの数 : 1 か 2 。<ref id="byte_seq" name= "バイト
のための電圧シーケンス">をご覧ください。
<item> フロー制御レベル {Rcv Hndshk Level} {{Xoff at ...}}: フロー制御は端末
の受信バッファのバイト数、この数と等しくなったら ``停止'' を送ります。
<item> <ref id="half_duplex" name="通信モード"> {Comm}: <ref
 id="half_duplex" name="全二重 {FDX}, 半二重 {HDX}"> {{Local
 Echo}}, <ref id="local_mode" name="ローカルモード"> {{Online/Local}}
<item> 転送率 (速度) の制限 {Xmt Lim}: いくら通信速度を上げても、送信
は指定した文字数以下に制限されます。
<item> ファンクションキーレートの制限: 上記のようなもので、ファンクシ
ョンキーのメッセージを制限します。 
<item> <ref id="port_select" name="ポートの選択">: どのポートをホスト
との通信に使用するか {Host Port} ? 
</itemize>

<sect1><!-- Saving the Set-up -->セットアップの保存
<p>
<!--
 Your set-up must be saved in the non-volatile memory of the
terminal so that it will be effective the next time you turn on the
terminal.  If you fail to save it, then the new settings will be lost
when you turn off the terminal.  Before you go to the trouble of
setting up a terminal, make sure that you know how to save the
settings.  For modern terminals the save command is done via a menu.
In some older terminals, only the manual tells how to save.  For many
of these you press Ctrl-S to save.
-->
セットアップした内容が次回端末の電源を入れたときに有効となるように、不
揮発性メモリに保存しておけなければなりません。もしセーブし損なったら、
端末の電源を落としたときに新しいセットアップの内容が消えてしまいますよ。
端末のセットアップでトラブルを起こす前に、セットアップ内容の保存方法を
確認しておきましょう。最近の端末では、メニューを使って保存します。古い
端末には手作業で保存するのもがあります。ほとんどが Ctrl-S キーを押して
保存します。

<sect1><!-- Set-Up Options/Parameters -->
オプションとパラメータのセットアップ<label id="set_up_pars">
<p>
<!--
 See the Teemworld's <url
url="http://www.pericom-usa.com/twdocs/doc/twusec7.htm"
name="Set-Up"> for a description of many of these parameter as used in
terminal emulation.  Emulation is often a little different than an
actual terminal.  
-->
端末エミュレーションで使用するこれらのパラメータの多くは Teemworld の 
<url
url="http://www.pericom-usa.com/twdocs/doc/twusec7.htm"
name="Set-Up">を参照してください。エミュレーションは本当の端末と少し違
いがあります。

<!--
What follows in this section describes some of the options which are
available in the set-up menus of many terminals.  Options are also
called parameters or features.  Many options may be called "modes".
Setting options is often called "configuring".  Many of these options
may also be set by sending certain escape sequences to the terminal.
Different models and brands of terminals have various options and the
same option may be called by different names (not all of which are
given here) Terse names used by Wyse are enclosed in {...}.  Names
used mostly for VT terminals are enclosed in {{...}}.
-->
本章で続いて述べることは、多くの端末のセットアップメニューで設定可能な
オプションについてです。オプションはパラメータや特性などとも呼びます。
多くのオプションは ``モード'' と呼ばれます。設定オプションは ``設定'' 
とも呼んでいます。多くのオプションは、端末へあるエスケープシーケンスを
送ることで設定できるでしょう。端末の型式やメーカの違いで様々なオプショ
ンがありますが、同じオプションは異なる名称で呼ばれています (ここで全部
は示しません)。Wyse 端末の略称は {...} で囲み、ほとんどの VT 端末は {
{...}} で囲みます。

<sect1><!-- Emulation {Personality} {{Terminal Modes}} -->
エミュレーション {Personality} {{Terminal Modes}}
<p>
<!--
 Most modern terminals can emulate several other terminals.  The
terminal can likely do more if it is set to emulate itself (actually
no emulation) {native personality}.   Sometimes there are 2 different
emulations for the same model of terminal.  For example VT220-7
emulates a VT220 with 7-bits/byte while VT220-8 emulates a VT220 with
8-bits/byte (256 possible characters).  
-->
最近のほとんどの端末は各種の端末をエミュレートできます。端末は自分自身
もエミュレート出来ますが、エミュレートしないほう {native personality} 
が、多くのことができるでしょう。時々、同じ端末のモデルに対して 2 つの
異るエミュレーションがあります。例えば、VT220-7 は 7 ビットコードの VT
220 をエミュレートし、VT220-8 は 8 ビットコード (256 文字表現が可能) 
の VT220 をエミュレートします。

<!--
Older models of terminals usually have fewer features than newer
models.  Suppose one wanted to emulate an old terminal but also wanted
some of the advanced capabilities of the later model terminal they are
sitting at.  This is sometimes possible (to some degree).  This
feature is sometimes called {Enhance} (or Enhanced ??).
-->
普通、端末の古い機種には新しい機種ほどの機能はありません。古い端末をエ
ミュレートしたいが、最近の機種の高度な能力の一部も使いたいこともあるで
しょう。これは (ある程度) 可能ですよ。この機能は {Enhance} (あるいは 
Enhanced ??) と呼んでいます。

<sect1><!-- Display Options -->表示オプション
<sect2><!-- Character Cell Size {Char Cell} -->
キャラクタセルのサイズ {Char Cell}
<p>
<!--
 This is the size of the cell in which a character fits.  It is
measured in pixels (=tiny dots).  The more dots, the better the
resolution.   10x16 is 10 dots wide by 16 dots high (16 rows and 10
columns).  Note the notation is inverted as compared to the notation
for matrix dimensions which gives rows (height) first..  Also, the
character cell includes rows and columns of pixels allocated for the
space between adjacent characters so the cell size which defines the
boundaries of an actual character may be smaller.
-->
文字に適したセルのサイズのことです。単位はピクセル (= 小さなドット) で、
ドットより解像度は良いです。10x16 は 幅 10 ドット、高さ 16 ドット (16 
行 10 列) となります。行 (高さ) が最初にある行列の次元の表記と比べると、
この表現は逆になってることに注意してください。また、文字サイズには隣り
合う文字間のスペースに割当てられた行と列のピクセルも含まれるので、実際
の文字境界を定義するセルサイズはもう少し小さくなります。

<sect2><!-- Columns/Lines -->列 / ライン
<p>
<!--
 Usually 80 columns and 24 or 25 lines.  This means that there may
be up to 80 characters in a row (line) on the screen.   Many terminals
have a 132 column option but unless you have a large screen, the tiny
characters may be hard to read. {{Set 132 column mode}}.  If you set
25 lines, make sure that this is in the terminfo.  You should also
put "export LINES=25" into /etc/profile.  If you don't it might result
in a scrolling problem (see <ref id="no_scroll_25" name="Terminal 
doesn't scroll">
-->
普通は 80 列で 24 か 25 ラインです。これは、画面上の 1 行 (ライン) 当
り 80 文字という意味です。多くの端末のオプションには 132 列があります 
{{Set 132 column mode}} が、大きな画面じゃないと小さな文字は読みにくい
かもしれません。25 ラインにするなら、terminfo にあることを確認してくだ
さい。それと、/etc/profile に ``export LINES=25'' を追加しなければなり
ません。そうしなかったら、スクロールに問題が起きますよ ( <ref
id="no_scroll_25" name="端末でスクロールしない">をご覧ください)。

<sect2><!-- Cursor -->カーソル
<p>
<!--
 The cursor may be set to appear as a rectangle (= block) {Blk}.
Other options are underline {Line} or blinking.  I prefer non-blinking
{Steady} block since it's big enough to find quickly but there is no
distractive blinking.  If you set it invisible (an option on some
terminals) it will disappear but new letters will appear on the screen
as you type at the invisible cursor.
-->
カーソルは長方形 (= ブロック) で表示されます {Blk}。他のオプションで下
線 {Line} にしたり点滅させたりできます。非点滅の {Steady} ブロックモー
ドを気にいってるのは、惑わせるような点滅がないために,すばやく見つけら
れるからです。もし非表示 (幾つかのオプションにあります) の設定にすると、
表示されませんが、非表示カーソル上でタイプした新たな文字は画面上に表示
します。

<sect2><!-- Display Attributes (Magic Cookies) -->
表示属性 (マジッククッキー)
<p>
<!--
 <ref id="display_attributes" name="Display Attributes"> may either
be magic cookies or be attribute bytes assigned to each character.
For magic cookies, there is a limit to their extent: Are they in
effect to the end of the line or to the end of the page?  It's best to
use attribute bytes (which could actually be half-bytes = nibbles).
-->
<ref id="display_attributes" name="表示属性">はマジッククッキーか各文
字に割当てる属性バイトのどちらかになります。マジッククッキーなら、影響
範囲には限界があります。行の終わりまでか、ページの終わりまでにしたいで
すか ? もっともいいのは、属性バイト (実際は 半バイト = ニブルになりま
す) を使うことです。

<sect2><!-- Display Control Characters {Monitor} -->
表示制御文字 {Monitor} 
<p>
<!--
 May be called various names such as "Display Controls".  When off
(normal) it's "Interpret Controls".  When set on, you see the escape
sequences from the host (which you normally never see on the screen).
So that these sequences may be viewed in sequence on a line, they are
not acted upon (interpreted) by the terminal.  Except that a CR LF
sequence creates a new line.  See <ref id="control_codes"
name="Control Codes">.
-->
``表示制御'' のような名前で呼ばれたりもします。オフ (通常) なら、``制
御文字を解釈しなさい'' ということです。オンなら、ホストから送られたエ
スケープシーケンス (普段は決して画面上で見ることはない) を表示します。
エスケープシーケンスは 1 行に並んで表示され、端末では実行 (解釈) され
ません。改行を指示する CR LF シーケンスは除きます。<ref id="control_codes"
name="制御コード">をご覧ください。

<sect2><!-- Double Width/Height -->2 倍の幅 / 高さ
<p>
<!--
 Some terminals can have their characters double width and/or
double height.  This feature is seldom needed.  When changing a line
to double width (DW) the right half (RH) is pushed off the screen and
there is the question of whether or not to delete (erase) it.
"Preserve" means to keep the RH of DW lines.  When in double height
mode, it may be necessary to send each such line twice (the 2nd time
down one row) in order to get a double-height line on the screen.
-->
幾つかの端末には 2 倍幅と、2 倍高さの文字があります。この特性はめった
に必要ありませんが。1 行を 2 倍幅 (DW) に変えると、右半分 (RH) が画面
から押しだされて削除される (消える) のではとの疑問が浮かびます。``保存'' は
DW 行の RH をキープしておくことを意味します。2 倍高さモードでは、
画面上で 2 倍高を表示するために、各行を 2 度 (2 度目は下の行) 送る必要
があります。

<sect2><!-- Reverse Video {Display} (Background Light/Dark) -->
反転表示 {Display} (背景の明 / 暗)

<p>
<!--
 Normal video is light (white, green, amber) letters (foreground)
on a dark (black) background.  Reverse video {Display Light} is the
opposite: black text on a light background.  This is easier on the
eyes (unless the room is dark).
-->
通常のビデオは、暗い (黒) 背景に明るい (白、緑、黄色) 文字 (前景)です。
反転は {Display Light} は、反対に明るい背景に黒字となります。これは目
に優しいと思います (部屋が暗くなければ)。

<sect2><!-- Status Line -->ステータス行
<p>
<!--
 A status line is a line at the top or bottom of the screen that
displays info about the application program you are running.  It's
often highlighted in some way.  With a status line enabled, an
application can send the terminal a special escape sequence which
means that the text that follows is for the status line.  However,
many applications don't use this feature but instead only simulate a
real status line by direct cursor positioning.  The ordinary user
looking at it doesn't know the difference.
-->
ステータス行は画面の先頭か最終行にあり、動いているアプリケーションプロ
グラムの情報などを表示します。しばしば何らかの方法でハイライト表示され
ます。ステータス行が有効な状態で、アプリケーションは、続くテキストをス
テータス行に表示することを意味する特別なエスケープシーケンスを送ること
ができます。しかし、多くのアプリケーションはステータス行の機能を使うか
わりに、ステータス行が表示されている位置にカーソルを移動させて、文字を
表示させています。普通のユーザはその違いに気付きません。

<sect2><!-- Upon 80/132 Change: Clear or Preserve? -->
80/132 の切り替え : クリアするか残すか ?
<p>
<!--
 When switching the number of columns from 80 to 132 (or
conversely) should the data displayed in the old format be erased
(cleared) or preserved? {80/132 Clr} {{Screen Width Change}}.  It
should make no difference how you set this option since if an
application program uses 132 columns, it should set this option
appropriately via a control sequence.
-->
桁数を 80 から 132 (あるいは逆) に切り換えるとき、前回の形式の表示デー
タを消すべきか (クリアーする)、残すべきか ? {80/132 Clr} {{Screen Widt
h Change}} どちらに設定しても違いのないようにすべきですが、アプリケー
ションプログラムが 132 桁を使うなら、制御シーケンス経由で適切に設定す
べきです。

<sect1><!-- Page Related Options -->ページに関連付いたオプション
<p>
<!--
 For a Wyse terminal to be able to access multiple pages of display
memory {Multipage} must be set to on.
-->
Wyse 端末が表示メモリの複数ページにアクセスできるように、{Multipage} 
をオンにしなければなりません。

<sect2><!-- Page Size -->ページサイズ
<p>
<!--
 The terminal memory may be divided up into a number of pages.  
See <ref id="pages_" name="Pages"> and <ref id="pages_def" name="Pages
(definition)"> for explanations of pages.  You may partition the page
memory into a number of pages of selected length.  Linux applications
don't seem to use pages at present so it shouldn't make much
difference how you set this up.
-->
端末メモリはページ単位で分割されます。ページの説明は、<ref id="pages_"
 name="ページ">と<ref id="pages_def" name="ページ (定義)"> をご覧くだ
さい。選択した長さでページメモリを仕切ることもできます。現在のところ、
Linux アプリケーションはページを使わないと思われますので、この設定をし
てもあまり効果はありません。

<sect2><!-- Coupling (of cursor & display) -->結合 (カーソルと表示の)
<p>
<!--
 The terminal memory may be divided up into a number of pages.  
See <ref id="pages_" name="Pages"> and <ref id="pages_def" name="Pages">
for explanations of pages.  When the cursor is moved to a location in
video memory not currently displayed (such as another page, or on the
same page but to a location not displayed on the screen) should the
display change to let one view the new cursor location?  If so, this
is called "Coupling".  For cursor movement within the same page there
is "Vertical Coupling" and "Horizontal Coupling".  For movement to
another page there is "Page Coupling".
-->
<!--?? 最初の行は前のパラグラフにもあるので割愛 -->
カーソルが現在は表示されていない (他のページや、同じページの画面に現わ
れていない個所) ビデオメモリに移ったとき、表示も新しいカーソルの位置へ
切り変えるべきでしょうか ? そうだとすればこれは``結合'' と呼ばれるもの
です。同じページ内のカーソルの移動は、``垂直結合'' と ``水平結合'' で
す。他のページへの移動は ``ページ結合'' です。

<sect1><!-- Reporting and Answerback -->報告と応答
<p>
<!--
 The terminal will identify itself and its state, or send out a
pre-recorded message in response to certain escape sequences.
-->
端末はあるエスケープシーケンスに対して、それ自身とその状態を認識するか、
あるいは事前に記録されたメッセージを送るでしょう。

<sect2> <!-- Answerback Message (String) -->応答メッセージ (文字列)
<p>
<!--
 You may write a short message during set-up which may optionally
be sent to the host at power-up or be sent to the host in response to
a request from the host (perhaps the ENQ (inquire) control character).
-->
端末の電源が入ったときや、ホストからの要求 (たぶん ENQ (要求) 制御文字
です) に応じてホストに送る短かいメッセージをセットアップで書いてもいいです。

<sect2><!-- Auto Answerback -->自動応答
<p>
<!--
 If set, sends the answerback message to the host at power-on
without the host asking for it.  Do any "getty" processes look for
this ??
-->
設定したら、ホストが求めなくても電源投入で応答メッセージを送ります。あ
る ``getty'' プロセスはこれを待ってるのでしょうか ??

<sect2><!-- Answerback Concealed -->応答キャンセル
<p>
<!--
 If set, will never let anyone see the answerback message (except
of course the host computer).  If it needs to be changed, deselect
"answerback concealed" and the formerly concealed message will be
destroyed so you then may enter a new message (but you don't get to
see the old one).
-->
設定したら、誰にも応答メッセージを見せません (もちろんホストコンピュ
ータを除いてですが)。変更が必要なら ``応答キャンセル'' を再度選択しま
す。そうすると前の応答キャンセルメッセージは破棄されるので、新たなメッ
セージを入力してもよいでしょう (でも、古いメッセージはもう見られません
よ)。

<sect2><!- Terminal ID {ANSI ID} -->端末 ID {ANSI ID} 
<p>
<!--
 The terminal send this reply in answer to a request for identity.
-->
端末は識別情報の要求に答えてこの返事を送ります。

<sect1><!-- Keyboard Options -->キーボードオプション
<sect2><!-- Keyclick -->キークリック
<p>
<!--
 When set, pressing any key makes a click (broadcast by a tiny
loudspeaker in the keyboard).  These clicks annoy some people and I
think it's best to set keyclick off.
-->
設定したとき、キーを押せばクリック音が鳴ります (キーボードの小さなスピ
ーカから発する)。クリック音を聞いていらいらする人もいるので、私はオフ
にしておく方が良いと思います。

<sect2><!-- Caps Lock {Keylock} -->キャップスロック {Keylock}
<p>
<!--
 When the Caps-Lock key is down, should only the alphabetic keys
generate shifted characters?  If set to {Caps} or upper-case-only
then hitting a number key with the Caps-Lock on will type the number.
To get the symbol above the number one must manually hold down the 
shift key.  This is the normal mode.  If set to {Shift} then all keys
type the shifted character when Caps-Lock is on (hitting the 5 key
should type % without holding down Shift, etc.).
-->
Caps-Lock キーが押されたら、アルファベットキーだけに文字の入れ替えが起
るべきなのでしょうか ? もし {Caps} か大文字のみの設定なら、Caps-Lock 
がオンで数字キーが押されたときに数字がタイプされます。数字キーの上の記
号をタイプするにはシフトキーを押しながら数字キーを押します。もし {Shif
t} が設定されていたら、全てのキーは Caps-Lock がオンの時にシフトを押し
ながらタイプしたのと同じ文字になります (5 のキーを押したらシフトキーな
しでも % をタイプします。他も同じ)。

<sect2><!-- Auto Repeat {Repeat} -->オートリピート {Repeat}
<p>
<!--
 If a key is held down then that key is repeatedly "typed".  This
is handy for repeatedly typing the same character to create a line across
the page.
-->
キーを押し続けるとそのキーを繰り返し *タイプ* します。これはページ境界
線を書くために同じ文字を繰り返しタイプする際に便利です。

<sect2><!-- Margin Bell -->マージンベル
<p>
<!-- When the cursor is 8 columns away from the right side of the
display, a bell is rung (like on an old typewriter).  Almost all
editors will automatically create a new line if needed (no need to
hit the Return key) so this feature is seldom needed.
-->
カーソルがディスプレイの右端から 8 列離れるとベルが鳴ります (古いタイ
プライタのように)。ほとんどのエディタは必要に応じて自動で改行できる 
(リターンキーを押す必要がない) ので、この機能はめったに必要ありません。

<sect2><!-- Remapping the Keys -->キーの再定義
<p>
<!--
 The code sent to the host when a key is pressed is normally the
ASCII code for that key (depends also on Shift and Control key).  On
some terminals you may make any key send any code you wish.  That is,
you may completely remap the keyboard by setting up the terminal that
way.  This may be useful for some foreign languages and Dvorak
keyboard layouts, etc. which permit one to type faster.
-->
キーが押されたときにホストに送られるコードは、通常は ASCII コードです 
(シフトキーやコントロールキーにもよりますが)。幾つかの端末では、キーが
押された時にお望みのコードをホストに送るようにすることができます。つま
り、端末を設定することで、キーの再配置を行なうことができるのです。これ
は、他国語やドボルザークのキーボードレイアウトをすばやく変更するのに便
利です。

<sect2><!-- Corner Key (for Wyse only) -->コーナーキー (Wyse 専用)
<p>
<!--
 Wyse terminals have a key near the lower left corner which may be
set to do various things.  Its may be labelled "Funct", "Compose
Character", "Alt", "Hold" or "Scroll Lock".  Early models don't have
all of the following options:  When set to {Hold} No-Scroll it stops
the flow of data (using flow control) to the terminal.  Hitting the
key again restores normal flow.  When set to {Compose} it permits one
to generate a limited number of pre-defined non-Latin characters.
When set to Meta, it makes it a meta shift key which sets the
high-order bit on each byte.  When set to {Funct} (and pressed) any
alphanumeric key pressed gets a header (SOH) and trailer (CR) byte
framing the ASCII byte code.  When set to {Kpd Compose} (and pressed)
then typing a decimal number on the numeric keys (followed by "enter")
sends out the same number in hexadecimal ??
-->
Wyse 端末には、左下隅の近くに様々なことをするために設定できるキーがあ
ります。そのキーには ``Funct''、``Compose''、``Character''、``Alt''、 
``Hold''あるいは ``Scroll Lock'' などのラベルを貼っておけます。初期の
モデルには次のオプションの全てがあるわけではありません。{Hold} が設定
されると端末へのデータの流れが止ります (フロー制御を使います)。キーを
もう一度押すとデータフローを再開します。{Compose} が設定されると、制限
された数の事前に定義してある非ラテン文字を発生することを許します。メタ
に設定されると、各バイトの上位ビットがセットされたメタシフトキーになり
ます。{Funct} が設定されると (そして押せば)、どんな英数字キーもヘッダ
ー (SOH) とトレイラー (CR) バイトが加った ASCII バイトコードのフレーム
となります。{Kpd Compose} が設定されると (そして押せば)、数字キーで 10
進数を押したら 16 進数を送ります ??

<sect2><!-- Numeric Keypad or Arrow Keys Sends -->
数字キーパッドか、矢印キーを送る
<p>
<!--
 The numeric keypad (the rectangle of mostly numeric keys to the
right of the main part of the keyboard) can be set to send special
codes which will do special things in certain application programs.
Ditto for the arrow keys.  There is thus a "normal" mode where they
send what is shown on the keycap (or the normal code sequence for an
arrow-key) and an "application" mode where a special escape sequence
is sent.  In some cases there is a "hex" numeric mode which is almost
like normal numeric mode except that 6 non-numeric keys send the
letters A-F.  Thus one may type for example "B36F" on the numeric
keypad.
-->
数字キーパッド (キーボードの主部の右側にあるほとんが数字キーの長方形の
部分) は、あるアプリケーションプログラムで特別な役目をするために特別な
コードを送るよう設定できます。矢印キーも同上。このように、キーキャップ
に印刷してある文字 (または、矢印キーのためのノーマルコードシーケンス) 
を送る ``ノーマル'' モードと、特別なエスケープシーケンスを送る ``アプ
リケーション'' モードがあります。いくつかの場合では、6 つの非数字キー
が A から F の文字を送るのを除いて、ほぼノーマルな数字モードである ``16 進''
モードがあります。したがって、数字キーパッド上で、例えば ``B36F''
をタイプできるでしょう。

<sect2><!-- What does shifted-del and shifted-bs send? -->
Shift + Delete や Shift + Backspace は何を送るか ?
<p>
<!--
 Depending on how they're set up shifted-del sometimes sends the
control character CAN and shifted backspace sometimes sends DEL.
-->
どのように設定されているかにもよりますが、Shift + Delete は制御文字 
CAN を送り、Shift + Backspace は DEL を送ります。

<sect2><!-- PC Scan Codes -->PC 走査コード
<p>
<!--
 Newer terminals can emulate a PC keyboard by sending PC scan codes
(see Keyboard-and-Console-HOWTO) instead of ASCII codes.  This would
be used if you were directly connected to a PC running Dos/Windows.
Set {Keycode} to {Scan}.  Emulating the Dec "PCTerm" should do this 
and more.  A serial port under Linux can't cope with such scan codes.
-->
新しい端末は、ASCII コードの代りに PC 走査コードを送ることで PC キーボ
ードをエミュレートできます (Keyboard-and-Console-HOWTO をご覧ください)。
 Dos/Windows が走っている PC に直接接続した場合に使います。 {Keycode} 
 を {Scan} に設定してください。DEC の ``PCTerm'' をエミュレートするな
らこの設定をすべきです。Linux のシリアルポートは、このような走査コー
ドに対処できません。

<sect2><!-- Alternate Characters -->代替文字
<p>
<!--
 Some keys may have alternative letters on them.  When keys is set
to "Typewriter" they send what they would normally send on a
typewriter.  When keys is set to something else the alternative
characters are sent.
-->
キーのいくつかはそれを代替する文字があります。キーが ``タイプライター''
 として設定されたら、タイプライタに送る文字を送ります。キーが他の何か
に設定されると、代替文字が送られます。

<sect1><!-- Meaning of Received Control Codes -->受信した制御コードの意味
<sect2><!-- Auto New Line {Newline} -->自動ニューライン {Newline}
<p>
<!--
 In this case "New Line" means a new line starting at the left
margin below the current line.  In Linux and C "new line" (NL) may
have a different meaning: the line-feed control character LF also
called new-line or NL.  This is because in Linux text files, the LF
character means a "new line starts here" so it's labeled NL.
Normally, a LF (NL) sent to a terminal only results in the cursor
jumping down one line below where is was and does not move the cursor
back to the start of this "new line".
-->
この場合、``ニューライン'' は現在行の下の左マージンで新しい行を開始す
ることを意味します。Linux と C 言語での ``ニューライン'' には別な意味
があり、ラインフィード制御文字 LF もまたニューラインとか NL と呼びます。
 Linux のテキストファイルでは、LF 文字は ``新しい行をここから開始する''
という意味なので、NL ラベル付けしてあるのです。通常、LF (NL) は 1 行
下へカーソルを飛ばすためだけに端末へ送られるもので、カーソルを ``新し
い行'' の先頭に移動させるものではありません。

<!--
If Auto New Line is set, the above "normal" situation is canceled and
a physical new line is created on the display upon receiving a LF from
the host.  This is exactly what one wants in Linux.  Except that (when
Auto New Line is set) the Return (or Enter) key sends a CR LF sequence
to the host (for Wyse and VT100, but for VT420 ??).  Since Linux uses
LF as a "new line" marker in files, Linux would like only a LF to be
sent (and not a CR LF).  Thus the "New Line" option is seldom used.
Instead, the required translations are made by the serial port device
driver by default.  It is as if one gave the command "stty onlcr
icrnl".  But you don't need to do this since it's the default.
-->
自動ニューラインが設定されると、上述の ``ノーマル'' な状況は取り消され
て、ホストから LF を受信することで画面に物理的なニューラインを生成しま
す。これはまさに Linux で必要なものです。ただし、(自動ニューラインが設
定された時に) Return (か、Enter) キーがホストに CR LF シーケンスを送る
ことを除いては (Wyse と VT100 ではそうなんですが、VT420 は違う ??)。 L
inux はファイル内の ``ニューライン'' マーカとして LF を使うので、LF だ
け (CR LF ではなくて) を送ってもらいたいのです。したがって、``ニューラ
イン'' オプションはめったに使用されません。代りに、シリアルポートデバ
イスドライバが、必要な変換をデフォルトで行います。まるで ``stty onlcr 
icrnl'' コマンドを実行したようです。しかし、デフォルトの動作なのでそん
なことをする必要はありません。

<sect2><!-- Auto Line Feed {Rcv CR} -->自動改行 {Rcv CR}
<p>
<!--
 This is just another type of "Auto New Line".  When a CR (carriage
return) character is received, a LF (line feed) action is added
resulting in a new line being displayed.  Since Linux marks the end of
lines with LF, this option is not used.
-->
これは ``自動ニューライン'' の別なタイプです。CR 文字 (復帰) を受信し
たら、新しい行の表示の時に LF (改行) 動作を付加します。Linux では LF 
が行の終わりなので、このオプションは使われていません。

<sect2><!-- Recognize Del (Wyse Only ??) or Null -->
Del (Wyse だけ ??) または Null の認識 <label id="rec_del">
<p>
<!--
 If off, the DEL character received by the terminal is ignored.  If
on the DEL performs a destructive backspace.  Null characters are
usually ignored in any case.  Both DEL and NULL are sometimes used for
padding.  See <ref id="padding" name="Padding">
-->
オフなら端末で DEL 文字を受信しても無視し、オンなら DEL は消去式のバッ
クスペースとなります。NULL 文字はどんなケースでも普通は無視されます。D
EL と NULL は両方共、パディング文字として時々使用されます。<ref
id="padding" name="パディング">をご覧ください。

<sect1><!-- Where New Text Goes -->新しいテキストの挿入
<sect2><!-- Line Wrap -->行のラップ
<p>
<!--
 Also called "Auto Wrap(around)".  What happens when the right edge
of the screen is reached (col. 80, etc) and no return character (or
the like) has been sent from the host?  If Line Wrap is set, then the
rest of the line displays on the line below, etc.  Otherwise, the rest
of the line is lost and is not seen on the screen.  Any good
application should handle the situation correctly (provided the
terminfo knows how Line Wrap is set).  Thus even if Line Wrap is not
set, the application should either wrap the screen for long lines or
provide another way for you to view the cutoff tail of long lines (by
use of the arrow keys, etc).  But a raw copy command (and other
situations) may not do this so it's often best to set line wrap.
-->
``オートラップ'' とも呼ばれています。画面の右端に行き着いて (80 桁目な
ど)、ホストから改行文字 (かそれに類するもの) が送られなければ何が起る
でしょうか ? 行ラップが設定されているなら、次の行に残りの文字を表示し
ます。そうでなければ、行の残りは消えて画面では見えないでしょう。どんな
良いアプリケーションでも (行ラップがどう設定されているかを把握する 
terminfo が提供される) 状況を正確に捉えるべきです。従って、行ラップが設定
されてなくても、アプリケーションは長い行を折り返すか、(矢印キーなどを
使って) 長い行のカットされた端を見せるような方法をとるべきです。しかし、
生のコピーコマンド (及び別の状況) ではこのようなことは起らないので、普
通は行ラップを設定しておくのが良いでしょう。

<!--
For an 80 col. screen, most terminals only wrap if the 81st character
from the host is a graphic (printable) character.  This allows for the
case where 81st character from the host might be "return" or a
"newline" (non-graphic characters) which means that the application is
handing the wrapping OK and intervention by the terminal is not
needed.
-->
80 桁の画面では、ホストからの 81 番目の文字がグラフィック (印字可能) 
文字ならほとんどの端末はラップだけとなります。これはホストからの 81 番
目の文字が ``復帰'' か ``ニューライン'' である場合に許します。ニューラ
インは、アプリケーションがラップすることができ、端末による介入が必要で
ないことを意味します。

<sect2><!-- Scrolling -->スクロール
<p>
<!--
 Scrolling {Scrl} is where all the lines on the screen move up or
down.  Its also called "panning" which includes movement sideways.  In
ordinary scrolling lines roll off the bottom or top of the screen and
disappear, and new lines from the host appear at the opposite edge
(top or bottom).  There are 3 types of this: smooth, jump, or burst.
Burst is not really scrolling since its an instant replacement of an
old screenfull by a new one (although some lines on the new screen may
be from the old screen).  Jump is where new lines jump into view one
at a time.  Smooth {Smth} is where the text moves at a steady speed
upward or downward.  If the smooth scroll rate is slow enough, one may
read the newly visible lines when they are still scrolling (in motion).
-->
スクロール {Scrl} とは、画面の全ての行が上や下に動くことです。横方向の
移動も含むものは ``パン'' とも呼ばれます。普通のスクロールでは、行が画
面の最下行か先頭行をめくることで見えなくなり、ホストからの新しい行が反
対側の端 (先頭か最下行) に現れます。スクロールには、スムース、ジャンプ
そしてバーストの 3 つのタイプがあります。バーストは、新しい画面で古い
画面を瞬時に塗り変えるので、本当のスクロールとは言えません (けれど新し
い画面の数行は古い画面のものです)。ジャンプは一度に画像を新しい行にジ
ャンプします。スムース {Smth} はテキストを滑かなスピードで上下に移動し
ます。スムーススクロール率がとてもゆっくりなら、まだスクロールしている
最中 (動作中) に新しい行を見ることができるでしょう。

<!--
Smooth scrolling on slow terminals was once useful since one could
continue reading as the display was scrolling.  But with higher baud
rates, jump scroll is so fast that little time is lost as the new
display appears.  Since it takes a little longer to read scrolling
text than fixed text, it may actually waste more time if smooth
scrolling is selected.
-->
遅い端末でのスムーススクロールは、画面がスクロール中でも読んでいられる
のでかつては役に立つものでした。しかし、高速のボーレートではジャンプス
クロールはすごく速いので、新しい表示に変るのに少しの時間しかかかりませ
ん。スクロールしながらテキストを読むには、停止したテキストの場合より時
間がかかるので、スムーススクロールを選ぶと無駄な時間が増えるかもしれま
せん。

<!--
If (auto)scrolling {Autoscrl} is disabled, then new text from the host
must go somewhere so it is put at the top of the display.  If the old
text is not erased, the new text merges (nonsensically) into the old.
If the old text is erased, then the new text is out of context.  So
keep (auto)scrolling enabled.
-->
もし (自動) スクロール {Autoscrl} が無効なら、ホストからの新しいテキス
トは画面の先頭になるので、どこかへ行ってしまうにちがいありません。古い
テキストが消えなければ、新しいテキストは古いものと (無意味に) 混在して
しまいます。古いテキストが消えるなら、新しいテキストは内容から外れるの
で (自動) スクロールを有効にしておきましょう。

<sect2><!-- New Page? -->新しいページ ?
<p>
<!--
 See <ref id="pages_" name="Pages"> and <ref id="pages_def"
name="Pages"> for explanations of pages.  When the current page is
full (the last line is finished) should the page scroll, or should a
new page be created (leaving the previous page stored in the
terminal's display memory).  If {Autopage} is set, then a new page is
created.  Since you are probably not using pages, you should probably
set this to off.
-->
ページの説明は<ref id="pages_" name="ページ">と<ref id="pages_def"
name="ページ (定義)"> をご覧ください。現在のページが一杯 (最終行が終了
した) なら、ページスクロールするか、新しいページが生成されるべきです 
(端末の表示メモリ内に記憶された全ページは消える)。もし {Autopage} が設
定されていれば新しいページが生成されます。おそらくページを使わないので、
これはオフにしておくべきです。

<sect1><!-- Function Keys -->ファンクションキー <label id="funct_keys">
<p>
<!--
 These are the keys labeled F1, F2, etc.  On older terminals they
may be labeled PF1, PF2, etc. where the P stands for Programmable.
Some keyboards have both.  One may program (redefine) these keys to
send out a string of user-defined bytes.  They may often be easily
"programmed" using a certain set-up menu {FKey}.  On some terminals,
one may also specify where this string is sent to when the key is
pressed.  In "normal" mode, pressing the key is just like typing the
string at the keyboard.  In "local" mode pressing the key sends it to
the terminal (just like if the terminal was in local mode).  This may
be used to send escape sequences to the terminal so as to configure it
in a special way.  In "remote" mode, the string is always sent out the
serial port to the host computer (even if the terminal is in local
mode).
-->
F1 や F2 などとラベルのついたキーがあります。古い端末では、PF1 や PF2 
などであり、P はプログラム可能ということです。幾つかのキーボードでは両
方あります。ユーザが定義した文字を送るようにプログラム (再定義) できま
す。あるセットアップメニュー {FKey} を使えば簡単にプログラムできること
が多いです。幾つかの端末でも、キーが押されたときに文字列を送るよう指定
できます。``ノーマル'' モードでキーを押すと、キーボードで文字をタイプ
したように見えます。``ローカル'' モードでキーを押すと、端末に文字列を
送ります (端末がローカルモードであったかのように)。特別な方法で設定し
て、端末にエスケープシーケンスを送るのに使います。``リモート'' モード
では、文字列はシリアルポートからホストへいつも送られます (例え端末がロ
ーカルモードであっても)。

<sect1><!-- Block Mode Options -->ブロックモードオプション
<p>
<!--
 Some options are only for the case of <ref id="block" name="Block
Mode">.  This option is powerful since it provides forms and takes
load off the host computer by transmitting in bursts.  But it's more
complicated to set up and is thus not used too much.
-->
幾つかのオプションは、<ref id="block" name="ブロックモード">の場合だけ
のものです。フォームを供給したり、まとめて送信することでホストコンピュー
タの負荷を減らすので、このオプションは強力です。しかし、セットアップは
かなり複雑なので、あまり使用されません。

<sect2><!-- Forms Display -->フォーム表示
<p>
<!--
 In block mode some regions of the screen are for the text of forms
and are thus write-protected "Prot" {WPRT}.  Options may set the characters
in these regions to appear dim, reverse video {WPRT Rev}, and/or
underlined {WPRT Undrln}.  {WPRT Intensity} may be set to dim, normal,
or even blank (invisible)
-->
ブロックモードで、いくつかの画面の領域はフォームの文字のためにあり、こ
の部分は書き込み禁止 ``Prot'' {WPRT} となっています。この領域の文字を
薄暗くしたり、反転したり {WPRT Rev} 、また下線をつけたり {WPRT Undrln}
 等の見え方を設定するオプションがあります。{WPRT Intensity} はグレー表
示やノーマルあるいは黒 (非表示)に設定されるでしょう。

<sect2><!-- Send Entire Block ? -->ブロック全体を送る ?
<p>
<!--
 Should write-protected text (the original text in the form) be
sent to the host upon transmission of a block: {Send All} or is 
write-protected text also read-protected: {Send Erasable}
-->
書きこみ禁止のテキスト (フォーム内のオリジナルテキスト) は、ブロック単
位でホストに送られ {Send All} 、あるいは書き込み禁止テキストはまた読み
込み禁止であるかもしれません {Send Erasable}。

<sect2><!-- Region to Send -->送る領域
<p>
<!--
 Should the entire screen be sent or just the scrolling region?
{Send Area}.  Should the sending stop when the current cursor position
is reached?  If {Xfer Term} is set to Cursor, only the data on the
screen up to the cursor is sent.
-->
スクリーン全体か、あるいはスクロール領域が送られるべきですか ?{Send Ar
ea} 現在のカーソル位置に達したら送信は停止するべきですか ? {Xfer Term}
がカーソルに設定されたら、カーソルのところ迄の画面データだけを送りま
す。

<sect2><!-- Block/Page terminator -->ブロック / ページ の終端
<p>
<!--
 What is the termination symbol to be appended to a block of data?
{Blk End} or at the end of a page {Send Term}ination.
-->
ブロックデータに追加される終端記号は何でしょう ? {Blk End} か、ページ
の終わりに終端コードを送ります {Send Term}。 

<sect1><!-- Locks -->ロック
<p>
<!--
 There are various types of Locks.  One is the Locked keyboard due
to flow control.  See <ref id="keybrd_lock" name="Keyboard Lock">
Another lock {Feature Lock} is that which prohibits the host computer
from changing the terminal set-up by sending certain escape sequences
to the terminal.  Placing such a lock may result in unexpected
behavior as application programs send escape sequences to the
terminals that are ignored.  Not all set-up parameters lock.  Unless
you have a good reason to do so, you should not enable such locking. 
-->
ロックには様々なタイプがあります。フロー制御のためのロックキーもその一
つです。<ref id="keybrd_lock" name="キーボードロック">をご覧ください。
別なロック として {Feature Lock} は、ホストから端末にあるエスケープシー
ケンスを送ることで、端末設定の変更を禁止します。端末が無視するようなエ
スケープシーケンスをアプリケーションプログラムが送ることで、そのような
ロック状態にすると予期せぬ結果となるでしょう。全ての設定パラメータがロッ
クされるわけではありません。正当な理由の無いかぎりは、ロックを有効にす
べきではありません。

<!--
A Function Key lock will prohibit the computer from redefining what a
programmable function key sends.  You may want to use this if you have
something important programmed into the function keys.
-->
ファンクションキーロックは、プログラム可能なファンクションキーが何を送
るかをコンピュータが再定義することを禁止します。ファンクションキーに何
か重要な機能を持たせた場合に、この機能を使いたくなるでしょう。

<sect1><!-- Screen Saver {Scrn Saver} -->スクリーンセーバ {Scrn Saver}
<p>
<!--
 Also called "CRT Saver".  This turns off (or dims) the screen
after the terminal is not used for a period of time.  It prolongs the
life of the screen and may save some energy.  Hitting any key will
usually restore the screen and may "execute" that key so it's best to
hit the shift-key, etc.
-->
``CRT セーバ'' とも呼ばれます。これは端末がしばらく使用されなければ、
スクリーンの電源を落とす (あるいは薄暗くする) ことです。こうすることで
スクリーンの寿命を長引かせ、節電できます。何かのキーを打つと、スクリー
ンは復帰してそのキーを実行するので、シフトキーなどを押すのがベストでし
ょう。

<sect1><!-- Printer -->プリンター
<p>
<!--
 For Wyse, if there is no {Printer Attached} set it to Off.  It's
not essential to do this, but if you do it any escape sequence to send
text to the printer (instead of the terminal) will be ignored.
-->
Wyse 端末では、プリンタがなければ {Printer Attached} をオフに設定して
ください。必ず必要なことでもありませんが、プリンタに対するどんなエスケ
ープシーケンスが送られても (端末の代りに)、無視するでしょう。

<!--
Setting up the printer port is about the same (usually simpler) as
setting up the communications on the main port.  There are a couple of
options specific to the printer.  Is the printer a serial or parallel
printer?  If it's parallel it should be designated as such in setup
and connected to the parallel port on the terminal (if there is one).
Should a FF (form feed) be sent to the printer at the end of a print
job?  If {Print Term} is set to FF, this will happen.
-->
プリンタを設定するのは、主なポートの通信用の設定と同じようなものです 
(普通はもっと簡単)。プリンタには特定の一組のオプションがあります。プリ
ンタはシリアルまたはパラレルのどちらですか ? もしパラレルなら設定でそ
のことをセットして、端末のパラレルポート (もしあれば) に接続します。プ
リントジョブの最後にプリンタに対して FF (フォームフィード) を送るので
すか ? {Print Term} が FF にセットされているなら、そうなるでしょう。

<sect><!-- Computer Set-Up (Configure) Details -->
コンピュータセットアップ (設定) の詳細 <label id="comp_conf_details">
<p>
<!--
 There are various files to edit to set up the computer for
terminals.  If you're lucky, you'll only need to edit /etc/inittab.
One does this by editing at the console (or from any working terminal).
-->
端末のためにコンピュータをセットアップするには各種ファイルを編集します。
幸運な場合は、/etc/inittab を編集するだけですむでしょう。コンソール 
(または、作業用端末) で編集することになります。

<sect1><!-- Getty (in /etc/inittab) -->
Getty (/etc/inittab ファイル) <label id="getty_">
<p>
<!--
 In order to have a login process run on a serial port when the
computer starts up (or switches run levels) a getty command must be
put into the /etc/inittab file.  Getty GETs a TTY (a terminal) going.
Each terminal needs its own getty command.  There is also at least one
getty command for the console in every /etc/inittab file.  Find this
and put the getty commands for the real terminals next to it.  This
file may contain sample getty lines for text terminals that are
commented out so that all you need to do is to uncomment them (remove
the leading #) and change a few arguments.  
-->
コンピュータの起動時(あるいはランレベルを切り変えた時) に、シリアルポ
ート上でログインプロセスが走った状態にしておくには、/etc/inittab ファ
イル内に getty コマンドを書いておかなければいけません。getty は GET TT
Y (端末) のことで、端末の状態を調べます。各端末には専用の getty コマン
ドが必要です。どんな /etc/inittab ファイルにも、コンソール用の getty 
コマンドが少なくとも 1 つはあります。これを見つけて、その隣りに本当の
端末用の getty コマンドを追加してください。このファイルにはコメントに
されたテキスト端末用の getty のサンプル行があるので、そこをコメントで
はないようにして (先頭の # を消す)、2、3 の引数を変更する必要がありま
す。

<!--
The arguments which are permitted depend on which getty you
use:<newline>
Two gettys best for directly connected terminals are:
<enum> 
<item> agetty (sometimes just called getty): Very easy to set up. No config
 files.  See <ref id="agetty_" name="Agetty">
<item> <ref id="getty_ps" name="getty (part of getty_ps)">
</enum>
Two gettys best for modems (avoid for terminals) are:
<enum> 
<item> mgetty: the best one for modems; works for terminals too but inferior
<item> uugetty: for modems only; part of the getty_ps package
</enum> 
A simple getty to use only where the monitor is the console.  Most
Linux users with a text interface have this setup and don't use a real
text-terminal.
<enum> 
<item> mingetty: for monitor-consoles only
</enum> 
-->
使用可能な引数は、あなたが使う getty によります。<newline>
端末の直接接続に最適な getty を 2 つ挙げます。
<enum> 
<item>agetty (時々 getty とだけ呼ばれる): かなりセットアップしやすくて、設定
ファイルもありません。<ref id="agetty_" name="Agetty">をご覧ください。 
<item> <ref id="getty_ps" name="getty (getty_ps の一部)">をご覧ください。
</enum>
モデム用に最適な getty を 2 つ挙げます。 
<enum> 
<item> mgetty: モデムに最も的しています。 端末用としても動きますが、少し劣り
ます。 
<item> uugetty: モデム専用で、getty_ps パッケージの一部です。 
</enum> 
モニターがコンソールである場合にだけ使えるシンプルな getty です。テキ
ストインターフェースを使うほとんどの Linux ユーザは、これをセットアッ
プして、本当のテキスト端末は使いません。 
<enum> 
<item> mingetty: モニターコンソール専用です。 
</enum> 

<!--
If you don't have the getty you want check other distributions and the
<tt/alien/ program to convert between RPM and Debian packages.  The source
code may be downloaded from <url url=
"http://sunsite.unc.edu/pub/Linux/system/serial/" name="Serial
Software">.
-->
使いたい getty を持っていない場合、他のディストリビューションを調べま
す。もし、それが RPM や Debian の package ならば、alianプログラムを使
えば RPMにも、debにも、tar ballにも相互に変換できます。 (紹介した gett
y たちの)ソースコードは<url url=
"http://sunsite.unc.edu/pub/Linux/system/serial/" name="Serial
Software">からダウンロードできるでしょう。

<!--
If you are not using modem control lines (for example if you only use
the minimum number of 3 conductors: transmit, receive, and common
signal ground) you should let getty know this by using a "local" flag.
The format of this depends on which getty you use.
-->
モデムコントロール線を使わないのなら (例えば、最小限の 3 つの端子 -- 
送信、受信、信号グランド -- を使うなら)、``ローカル'' フラグ を使って
getty に認識させなさい。このフォーマットは使用する getty に依存します。

<sect2><!-- Agetty (may be named getty) -->
Agetty (多分 getty という名前でしょう)<label id="agetty_">
<p>
<!--
 An example line in /etc/inittab: <newline>
-->
/etc/inittab のサンプル行です。<newline>
<tscreen><verb>
S1:23:respawn:/sbin/getty -L 19200 ttyS1 vt102
</verb></tscreen>

<!--
S1 is from ttyS1.  23 means that getty is run upon entering run levels
2 or 3.  respawn means that if getty is killed, it will automatically
start up (respawn) again.  /sbin/getty is the getty command.  The -L
means Local (ignore modem control signals).  -h (not shown in the
example) enables hardware flow control (same as stty crtscts).  19200
is the baud rate.  ttyS1 means /dev/ttyS1 (COM2 in MS-DOS).  vt102 is
the type of terminal and this getty will set the environment variable
TERM to this value.  There are no configuration files.  Type "init q"
on the command line after editing getty and you should see a login
prompt.
-->
S1 は ttyS1 を示します。23 は、ランレベル 2 か 3 で getty を起動するこ
とを意味します。respawn は、getty が kill されたら自動的に再起動すると
いうことです。/sbin/getty はgetty コマンドファイルです。 -L は、ローカ
ル (モデムコントロールを無視する) という意味です。-h (例にはありませ
ん) は、ハードウェアフロー制御を有効にします (stty crtscts と同じ)。
19200 はボーレートです。ttyS1 は /dev/ttyS1 のことです (MS-DOS での 
COM2)。vt102 は端末タイプで、getty が環境変数 TERM をこの値にセットします。
設定ファイルはありません。getty を編集した後で、コマンドラインで 
``init q'' とタイプすれば、ログインプロンプトを見ることができます。

<sect3><!-- Agetty's detection of parity -->Agetty のパリティ検出
<p>
<!--
 The <tt/agetty/ program will auto-detect any parity set inside the
terminal.  Except it will not work if you use 8-bit data bytes with
1-bit parity.  See <ref id="parity_8-bit" name="Agetty's parity with
8-bit data bytes">.  If you use <tt/stty/ to set parity, <tt/agetty/
will automatically unset it since it wants the parity bit to come thru
as if it was a data bit.  This is because it needs to get the last bit
(possibly a parity bit) as you type your login-name so that it can
auto-detect parity.  Thus if you use parity, enable it only at the
terminals and let <tt/agetty/ auto-detect it and set it at the
computer.  If your terminal supports received parity, the login prompt
will look garbled until you type something so that getty can detect
the parity.  The garbled prompt will deter visitors, etc. from trying
to login.  That could be just what you want. 
-->
<tt/agetty/ プログラムは端末側でセットされたパリティを自動検出できます。た
だし 8 ビットデータ + 1 パリティビットの設定を使うと、自動検出はうまく
働きません。<ref id="parity_8-bit" name="Agetty の 8 ビットデー タにお
けるパリティ">をご覧ください。
<tt/stty/ を使ってパリティをセットしても、<tt/agetty/ はそれを解除して
しまいます。なぜなら <tt/agetty/ は到着してきたパリティビットを、デー
タビットと同じように処理しようとするからです。これはなぜかと言うと、
<tt/agetty/ がパリティを自動検出するためには、あなたのログイン名入力の
最終ビット (おそらくパリティビット) を取得することが必要だからです。で
すからパリティを使う場合は、端末側だけで有効にし、<tt/agetty/ には自動
検出させて、コンピュータ側の設定も任せてしまいましょう。お使いの端末が
受信パリティをサポートしている場合には、何か入力して <tt/getty/ がパリ
ティを検知するまで、当初ログインプロンプトは壊れたように見えるかもしれ
ません。プロンプトが壊れていると、訪問者等にログインの試行をやめさせる
効果があるでしょう。これは望ましい効果かもしれません。

<!--
There is sometimes a problem with auto detection of parity.  This
happens because after you first type your login name, <tt/agetty/ uses
the <tt/login/ program to finish logging you in.  If the first login
attempt fails, <tt/login/ runs again to handle all future attempts at
logging in (including the type-in of your login-name).  The problem is
that only agetty can detect parity while the <tt/login/ program
doesn't detect parity.  So if for some reason you wind up in the
<tt/login/ program and the correct parity hasn't yet been detected,
you're in trouble since the <tt/login/ program can't detect the
parity.  With wrong parity, the <tt/login/ program can't correctly
read what you type and you can't log in.  If your terminal supports
received parity, you will continue to see a garbled screen.
-->
パリティの自動検出には時々問題があります。最初にログイン名をタイプした
後で、あなたをログインし終えるように、<tt/agetty/ が <tt/login/ プログ
ラムを起動することで発生します。最初のログインの試みが失敗すると、
<tt/login/ はログインするための全ての試み (ログイン名の入力を含む) を
実行するために再び起動します。問題は、<tt/login/ プログラムがパリティ
を検出しないのに、<tt/agetty/ だけがパリティを検出できることにあります。
ある理由から <tt/login/ プログラムを終わらせて、正しいパリティがまだ検
出できないなら、<tt/login/ はパリティを検出できないので問題が起るでしょ
う。間違ったパリティなら、<tt/login/ プログラムはタイプした文字を正し
く読めないのでログインできません。端末が受信パリティをサポートするなら、
誤った画面を見続けることになります。

<!--
One may get into this "login loop" in various ways.  Suppose you only
type a single letter or two for your login name and then hit return.
If these letters are not sufficient for parity detection, then login
runs before parity has been detected.  Sometimes this problem happens
if you don't have the terminal on and connected when agetty first
starts up.  If you get stuck in this "login" loop a solution is to
just wait about a minute until agetty runs again due to "timeout".
-->
様々な方法で、この ``ログイン'' ループに入るでしょう。一文字か二文字だ
けのログイン名をタイプし、リターンキーを押したとしましょう。これらの文
字がパリティを検出するのに十分でないなら、パリティを検出する前にログイ
ンが走るでしょう。端末に電源が入ってなくて、agetty が最初に走る時に接
続しなかったら、時々こういう問題が起ります。あなたがこのような ``ログ
イン'' ループで立往生したら、解決は、agetty が ``タイムアウト'' で再度
走るまで 1 分程待つことです。

<sect3><!-- Agetty's parity with 8-bit data bytes -->
Agetty の 8 ビットデータにおけるパリティ <label id="parity_8-bit">
<p>
<!--
 Unfortunately, agetty can't detect this parity.  It (as of late
1999) has no option for disabling the auto-detection of parity and
thus will detect incorrect parity.  The result is that the login
process will be garbled and parity will be set wrong.  Thus it doesn't
seem feasible to try to use 8-bit data bytes with parity.
-->
残念ながら agetty はデータ長が 8 ビットでのパリティを検出できません。
(1999 年後半現在) agetty にはパリティの自動検出を無効にするオプション
がないために、間違った検出をしてしまうことがあります。結果として、ログ
イン処理を間違って伝えたり、誤ったパリティをセットしてしまうのです。し
たがって、8 ビットデータとパリティを一緒に使うことは不適切だと思います。

<sect2><!-- getty (part of getty_ps) -->
getty (getty_ps の一部) <label id="getty_ps">
<p>
<!--
 (This is from the old Serial-HOWTO by Greg Hankins) <newline>
Add entries for <tt/getty/ to use for your terminal in  the
configuration file <tt>/etc/gettydefs</tt> if there they aren't
already there:
-->
(Greg Hankins 著 Serial-HOWTO(の古い版) を参考にしています)<newline>
<tt/getty/ 用の設定ファイル <tt>/etc/gettydefs</tt> に、あなたの端末を
使うためのエントリがなければ加えてください。

<!--
<tscreen><verb>
# 38400 bps Dumb Terminal entry
DT38400# B38400 CS8 CLOCAL # B38400 SANE -ISTRIP CLOCAL #@S @L login: #DT38400

# 19200 bps Dumb Terminal entry
DT19200# B19200 CS8 CLOCAL # B19200 SANE -ISTRIP CLOCAL #@S @L login: #DT19200

# 9600 bps Dumb Terminal entry
DT9600# B9600 CS8 CLOCAL # B9600 SANE -ISTRIP CLOCAL #@S @L login: #DT9600
</verb></tscreen>
-->
<tscreen><verb>
# 38400 bps ダム端末エントリ
DT38400# B38400 CS8 CLOCAL # B38400 SANE -ISTRIP CLOCAL #@S @L login: 
#DT38400

# 19200 bps ダム端末エントリ
DT19200# B19200 CS8 CLOCAL # B19200 SANE -ISTRIP CLOCAL #@S @L login: 
#DT19200

# 9600 bps ダム端末エントリ
DT9600# B9600 CS8 CLOCAL # B9600 SANE -ISTRIP CLOCAL #@S @L login: #DT
9600
</verb></tscreen>
<p>
<!--
If you want, you can make <tt/getty/ print interesting things in the
login banner.  In my examples, I have the system name and the serial
line printed.  You can add other things:
<tscreen><verb>
@B    The current (evaluated at the time the @B is seen) bps rate.
@D    The current date, in MM/DD/YY.
@L    The serial line to which getty is attached.
@S    The system name.
@T    The current time, in HH:MM:SS (24-hour).
@U    The number of currently signed-on users.  This is  a
      count of the number of entries in the /etc/utmp file
      that have a non-null ut_name field.
@V    The value of VERSION, as given in the defaults file.
To display a single '@' character, use either '\@' or '@@'.
</verb></tscreen>
-->
望むなら、興味を引くようなものをログインバナーとして getty に表示させ
ることができます。私の例ではシステムの名称とシリアルライン名を表示して
います。以下のようなものを追加することができます。

<tscreen><verb>
@B    現在の (@B が評価された瞬間の) bps の値
@D    現在日付 MM/DD/YY 形式 
@L    getty がアタッチしているシリアルライン
@S    システム名称
@T    現在時刻 HH:MM:SS (24 時間制) 形式
@U    現在ログインしているユーザの数。これは非ヌル値の ut_name フィー
      ルドがある /etc/utmp ファイルのエントリー数です。
@V    デフォルトファイルで与えられる VERSION の値
1 つの '@' 記号を表示するには、'\@' か '@@' のどちらかを使います。
</verb></tscreen>

<!--
When you are done editing <tt>/etc/gettydefs</tt>, you can verify that
the syntax is correct by doing:
-->
/etc/gettydefs の編集が終ったら、構文が正しいことを次の方法で確かめら
れます。

<tscreen><verb>
linux# getty -c /etc/gettydefs
</verb></tscreen>

<!--
Make sure there is no <tt/getty/ or <tt/uugetty/ config file for the
serial port that your terminal is attached to 
(<tt>/etc/default/{uu}getty.ttyS</tt><em/N/ or 
<tt>/etc/conf.{uu}getty.ttyS</tt><em/N/), as this will probably 
interfere with running <tt/getty/ on a terminal.  Remove the file if 
it exits.
-->
端末に接続されるシリアルポートの getty か uugetty の設定ファイル 
((<tt>/etc/default/{uu}getty.ttyS</tt><em/N/ か 
<tt>/etc/conf.{uu}getty.ttyS</tt><em/N/) がないことを確認してください。
おそらくこれがあると、端末で <tt/getty/ が動くのをじゃまするでしょうか
ら、あれば削除しておいてください。

<!--
Edit your <tt>/etc/inittab</tt> file to run <tt/getty/ on the serial 
port (substituting in the correct information for your environment - 
port, speed, and default terminal type):
<tscreen><verb>
S1:23:respawn:/sbin/getty ttyS1 DT9600 vt100
</verb></tscreen>
Restart <tt/init/:
<tscreen><verb>
linux# init q 
</verb></tscreen>
-->
シリアルポートで <tt/getty/ が動くように、<tt>/etc/inittab</tt> を編集
してください (あなたの環境に合った正しい情報 -- ポート、通信速度、デフ
ォルトの端末タイプ -- に置き換えます)。

<tscreen><verb>
S1:23:respawn:/sbin/getty ttyS1 DT9600 vt100
</verb></tscreen>
init を再起動します。 
<tscreen><verb>
linux# init q 
</verb></tscreen>

<!--
At this point, you should see a login prompt on your terminal.  You
may have to hit return to get the terminal's attention.  
-->
この時点で、端末にログインプロンプトが表示されるはずです。プロンプトを
表示させるのにリターンキーを叩かないといけないかもしれません。

<sect2>mgetty
<p>
<!--
 The "m" stands for modem.  This program is primarily for modems and
as of mid 1999 doesn't always work very well for text-terminals.
It's poorly documented for terminals and you may need to wade thru
much documentation for modems in order to figure out how to use it for
terminals.  Look at the last lines of /etc/mgetty/mgetty.config for an
example of configuring it for a terminal.  It will only support
software (Xon/Xoff) flow control (used by many terminals) if you
recompile it.  This will be hopefully be fixed in the future.  It
would be nice to use the same getty for terminals as for modems but
mgetty needs a little fixing to fill the bill.
-->
``m'' はモデムを表します。このプログラムは主にモデムのためであって、
1999 年半ばの時点ではテキスト端末とは相性が悪いようです。端末用のドキュ
メントは貧弱なもので、端末で使う方法を理解するのに、モデム用のドキュメ
ントを苦労して読みながら設定する必要があるでしょう。端末用の設定は、 
/etc/mgetty/mgetty.config の最終行を見てください。mgetty に(多くの端末
で使われる) ソフトウェアフロー制御(Xon/Xoff) をサポートさせるには、 
mgetty を再コンパイルしてください。将来は最初からサポートされるんじゃな
いでしょうか。端末でもモデムと同じ getty を使えるならいいのですが、 
megetty は目的に合うように少しいじる必要があります。

<sect1> <!-- Stty & Setserial -->
Stty と Setserial<label id="stty_setserial">
<p>
<!--
 There is both a "stty" command and a "setserial" command for
setting up the serial ports.   Some (or all) of the needed stty
settings can be done via getty and there may be no need to use
setserial so you may not need to use either command.  These two
commands (stty and setserial) set up different aspects of the serial
port.  Stty does the most while setserial configures the low-level
stuff such as interrupts and port addresses.  To "save" the settings,
these commands must be written in certain files (shell scripts) which
run each time the computer starts up.  Distributions of Linux often
supply a shell script which runs <tt/setserial/ but seldom supply one
which runs <tt/stty/ since on seldom need it.  
-->
シリアルポートを設定するために ``stty'' コマンドと、``setserial'' コマ
ンド (の両方) があります。stty で設定する必要のある幾つか (あるいは全
て) は、 getty を通じて設定でき、setserial を使うこともないので、stty 
と setserial のどちらも使わなくていいかもしれません。2 つのコマンド 
(getty と setserial) は、違う個所を設定します。stty がほとんどやって、
 setserial は割込みやポートアドレス等の低レベル部分を設定します。設定を 
``保存'' するために、コンピュータが起動する度にこれらのコマンドを実行
するように、あるファイル (シェルスクリプト) に書いておかねばなりません。
Linux のディストリビューションにはよく、<tt/setserial/ を実行するシェルスク
リプトが準備されていますが、<tt/stty/ はあまり必要ないので、稀にしか実行す
るようにはなっていません。

<sect1> Setserial <label id="set_serial">
<!-- setserial.H  begin  (in MM TT SS)
<sect1>What is Setserial ? <label id="set_serial">
Change Log:
May 2000: <sect2> IRQs near end ttyS0 -> ttyS1 + clarity 
-->
<p>
<!--
 This part is in 3 HOWTOs: Modem, Serial, and Text-Terminal.  There
are some minor differences, depending on which HOWTO it appears in.
-->
本章は、モデム、シリアル、そしてテキスト端末の 3 つの HOWTO について書
いています。これらは、HOWTO の中にもあるように、少しマイナーな違いが幾
つかあります。

<sect2> <!-- Introduction -->はじめに
<p>
<!--
 Don't ever use <tt/setserial/ with Laptops (PCMCIA).
<tt/setserial/ is a program which allows you to tell the device driver
software the I/O address of the serial port, which interrupt (IRQ) is
set in the port's hardware, what type of UART you have, etc.  It can
also show how the driver is currently set.  In addition, it can be
made to probe the hardware and try to determine the UART type and IRQ,
but this has severe limitations.  See <ref id="probing_ss"
name="Probing">.  Note that it can't set the IRQ or the port address
in the hardware of PnP serial ports.
-->
ラップトップ (PCMCIA) では <tt/setserial/ を使用しないでください。
<tt/setserial/ は、シリアルポートの I/O アドレスをデバイスドライバに教
えたり、シリアルポートの割込み (IRQ) を設定したり、UART のタイプを調べ
たりするプログラムです。またドライバが現在どのような設定になっているか
を示します。加えて、ハードウェアを調べて UART のタイプや IRQ を決める
こともできますが、これには厳しい制限があります。<ref id="probing_ss"
name="検出">をご覧ください。PnP シリアルポートのハードウェアで、IRQ や
ポートアドレスの設定ができないことに注意してください。

訳注：PCMCIAや、PCCardのシリアルポートカードの設定は pcmcia_cs で行い
ます。setserial はラップトップ本体に組み込まれたシリアルポートには使え
ます。

<!--
If you only have one or two built-in serial ports, they will usually
get set up correctly without using setserial.  Otherwise (or if there
are problems with the serial port) you will likely need to deal with
setserial.  Besides the man page for <tt/setserial/, check out info in
<tt>/usr/doc/setserial.../</tt> or <tt>/usr/share/doc/setserial</tt>.
It should tell you how setserial is handled in your distribution of
Linux.  
-->
もし 1 つか 2 つの組み込みのシリアルポートしかないなら、setserial を使
わなくても正しく設定できます。そうでなければ (またはシリルポートで問題
があれば)、おそらく <tt/setserial/ を使うことになります。
<tt/setserial/ の man ページの他に、<tt>/usr/doc/setserial.../</tt> か 
<tt>/usr/share/doc/setserial</tt> にある情報も調べておきましょう。あ
なたのディストリビューションで setserial をどのように扱うかわかる筈です。

<!--
<tt/Setserial/ is often run automatically at boot-time by a start-up
shell-script for the purpose of assigning IRQs, etc. to the driver.
Setserial will only work if the serial module is loaded (or if the
equivalent was compiled into your kernel).  If you should (for some
reason) unload the serial module later on, the changes previously made
by <tt/setserial/ will be forgotten by the kernel.  So <tt/setserial/
must be run again to reestablish them.  In addition to running via a
start-up script, something akin to <tt/setserial/ also runs earlier
when the serial module is loaded (or the like).  Thus when you watch
the start-up messages on the screen it may look like it ran twice, and
in fact it has.
-->
<tt/Setserial/ は、ドライバに IRQ などを割当てる目的で、スタートアップのシ
ェルスクリプトにより、たいていはブート時に自動的に実行されます。これは、
シリアルモジュールがロードされている時 (あるいは、同等機能がカーネルに
組み込みでコンパイルされている場合) にのみ働きます。 (何かの理由で) シリ
アルモジュールを後でアンロードしたら、カーネルは、先に変更した内容を忘
れてしまいます。それで、設定を回復するのに <tt/setserial/ を再度実行しなけ
ればならなくなるのです。始動時のスクリプトから実行するのに加えて、
<tt/setserial/ と同様なものを、シリアルモジュールがロードされた時に早い段階で実
行します。したがって、画面上の起動メッセージを見ている時に 2 度実行し
たように見えますが、実際、2 度実行しているのです。

<!--
Setserial can set the time that the port will keep operating after
it's closed (in order to output any characters still in its buffer in
main RAM).  This is needed at slow baud rates of 1200 or lower.  It's
also needed at higher speeds if there are a lot of "flow control"
waits.  See "closing_wait" in the man pg.
If your serial port is Plug-and-Play you may need to consult other
HOWTOs such as Plug-and-Play or Serial.
-->
setserial は、ポートが閉じられた後に操作を持続する時間を設定できます 
(メインメモリのバッファに残っているデータを出力するため)。これは 1200 
以下のボーレートで必要です。そしてまた、``フロー制御'' による待ちが多
発するなら高速の通信においても必要になるでしょう。man ページの 
``closing_wait'' をご覧ください。シリアルポートがプラグアンドプレイな
ら、プラグアンドプレイやシリアルについての他の HOWTO 文書を参照すると
良いでしょう。

<!--
Setserial does not set either IRQ's nor I/O addresses in the serial
port hardware itself.  That is done either by jumpers or by
plug-and-play.  You must tell setserial the identical values that have
been set in the hardware.  Do not just invent some values that you
think would be nice to use and then tell them to setserial.  However,
if you know the I/O address but don't know the IRQ you may command
setserial to attempt to determine the IRQ.  
-->
setserial は、シリアルポートハードウェア自体の IRQ と I/O アドレスのど
ちらも設定しません。それはジャンパーかプラグアンドプレイで設定されます。
あなたは、ハードウェアで設定されているのと同じ値を setserial に教えな
ければなりません。使えそうな値をでっちあげて、setserial に教えたらダメ
ですよ。でも I/O アドレスを知ってて IRQ を知らないなら、IRQ を決めるよ
うに setserial に指示はできます。

<!--
You can see a list of possible commands by just typing <tt/setserial/
with no arguments.  This fails to show you the one-letter options such
as -v for verbose which you should normally use when troubleshooting.
Note that setserial calls an IO address a "port".  If you type:
<tscreen><verb>
setserial -g /dev/ttyS*
</verb></tscreen> 
you'll see some info about how that device driver is configured for
your ports.  Note that where it says <tt>"UART: unknown"</tt> it
probably means that no uart exists.  In other words you probably have
no such serial port and the other info shown about the port is
meaningless and should be ignored.  If you really do have such a
serial port, setserial doesn't recognize it and that needs to be
fixed.
-->
引数をつけずに <tt/setserial/ とタイプすれば、使用可能なコマンドリスト 
(1 文字ではなくトラブルシューティングの時に使う -v の冗長オプションを付け
たように) 見ることができます。setserial は I/O アドレスを ``ポート'' 
と呼びます。以下のようにタイプしたら、
<tscreen><verb>
setserial -g /dev/ttyS*
</verb></tscreen> 
指定のポートでデバイスドライバがどのように設定されているかの情報を表示
します。<tt>``UART: unknown''</tt> と表示されたら、おそらく UART が存
在しないということです。言い換えると、指定のシリアルポートがなくて、ポ
ートに関する他の情報は無意味なので、無視すべきです。指定のシリアルポー
トが本当にあるなら、setserial がそれを認識していないので、修正する必要
があります。

<!--
If you add -a to the option -g you will see more info although few
people need to deal with (or understand) this additional info since
the default settings you see usually work fine.  In normal cases the
hardware is set up the same way as "setserial" reports, but if you are
having problems there is a good chance that "setserial" has it wrong.
In fact, you can run "setserial" and assign a purely fictitious I/O
port address, any IRQ, and whatever uart type you would like to have.
Then the next time you type "setserial ..." it will display these
bogus values without complaint.  Of course the serial port driver will
not work correctly (if at all) if you attempt to use such a port.
Thus when giving parameters to "setserial" anything goes.  It gives
you no warning if what you tell it is incorrect and will allow you to
create conflicts in IRQs and I/O port addresses that will have
disastrous results later on.
-->
-g オプションに -a を追加すればさらに詳しい情報を表示しますが、小数の
人達がこれらの情報を処理 (あるいは理解) する必要があるので、デフォルト
の設定にしておけばよいでしょう。普通の場合は、``setserial'' の報告する
通りにハードウェアを設定すればよいのですが、問題が起こったら、 
``setserial'' が誤作動することを知るよい機会です。実際、setserial によっ
てまったく架空の I/O アドレスや IRQ を割り付けたり、欲しいと思うような 
UART の種類を設定したりできます。そして次に ``setserial ...'' とタイプす
ると、そのインチキな値を文句なしに表示するでしょう。あるポートでそのよ
うな設定を使ったとしても、もちろんシリアルポートドライバーはそんなイン
チキな値でまともに動いたりしません。だから、``setserial'' にそんなパラ
メータを与えたら何かが起ります。設定が不正であっても警告はなく、他と重
なった IRQ や I/O ポートアドレスを作ったりした結果、悲惨なことが起こる
でしょう。

<!--
While assignments made by setserial are lost when the PC is powered
off, a configuration file may restore them (or a previous
configuration) when the PC is started up again.  In newer versions,
what you change by setserial gets automatically saved to a
configuration file.  In older versions, the configuration file only
changes if you edit it manually so the configuration remains the same
from boot to boot.  See <ref id="ss_conf_script" name="Configuration
Scripts/Files">
-->
setserial で設定した値は PC の電源を切ると失なわれますが、PC が再起動
した時に設定ファイルによって設定値 (あるいは前回の値) をリストアします。
最新のバージョンでは、setserial による変更は自動的に設定ファイルに保存
されます。古いバージョンでは、設定ファイルは変更があったら手で編集され
るので、ブートからブートの間の設定は同じものが残されます。<ref
id="ss_conf_script" name="設定スクリプト / ファイル">をご覧ください。

<sect2><!-- Probing -->検出<label id="probing_ss">
<p>
<!--?? 最後の文は自己参照している。 -->
<!--
 With appropriate options, <tt/setserial/ can probe (at a given I/O
address) for a serial port but you must guess the I/O address.  If you
ask it to probe for /dev/ttyS2 for example, it will only probe at the
address it thinks ttyS2 is at (2F8).  If you tell setserial that ttyS2
is at a different address, then it will probe at that address, etc.
See <ref id="probing_ss" name="Probing">
-->
適切なオプションでは <tt/setserial/ は (与えられた I/O アドレスで) シリアル
ポートを検出できますが、あなたは I/O アドレスの見当をつけとかないとい
けません。例えば、/dev/ttyS2 を検出しようとする場合、ttyS2 の I/O アド
レスが 2F8 だと考えて、そこだけの検出をするでしょう。ttyS2 は違うアド
レスだと setserial に教えてやれば、そのアドレスなどを使って検出するは
ずです。

<!--
The purpose of this is to see if there is a uart there, and if so,
what its IRQ is.  Use "setserial" mainly as a last resort as there are
faster ways to attempt it such as wvdialconf to detect modems, looking
at very early boot-time messages, or using <tt>pnpdump
&#045;&#045;dumpregs</tt>.  To try to detect the physical hardware use the -v
(verbose) and <tt/autoconfig/ command to <tt/setserial/.  If the
resulting message shows a uart type such as 16550A, then you're OK.
If instead it shows "<tt/unknown/" for the uart type, then there is
supposedly no serial port at all at that I/O address.  Some cheap
serial ports don't identify themselves correctly so if you see
"<tt/unknown/" you still might have a serial port there.  
-->
検出の目的は、UART がそこに存在するのか、もしあるなら IRQ の値はなにか
を知ることです。検出を試みる早い方法として、モデムを検出する 
wvdialconf や、ごく早い段階でのブートメッセージ、あるいは 
<tt>pnpdump&#045;&#045;dumpregs</tt> などがありますが、``setserial'' 
は主に最後の手段として使いなさい。物理的なアドレスを検出するには、
<tt/setserial/ に -v (冗長) と <tt/autoconfig/ オプションをつけて実行
します。UART のタイプは 16550A などと結果を表示すれば OK ですよ。代り
に UART の種類が ``<tt/unknown/'' と表示したら、その I/O アドレスには
どんなシリアルポートもないんじゃないでしょうか。いくつかの安いシルアル
ポートはきちんと認識できないので、<tt/unknown/ と表示されても、シリア
ルポートがある可能性はあります。

<!--
Besides auto-probing for a uart type, setserial can auto-probe for
IRQ's but this doesn't always work right either.  In versions of
setserial >= 2.15, the results of your last probe test may be saved
and put into the configuration file <tt>/etc/serial.conf</tt> which
will be used next time you start Linux.  At boot-time when the serial
module loads (or the like), a probe for UARTs is made automatically
and reported on the screen.  But the IRQs shown may be wrong.  The
second report of the same is the result of a script which usually does
no probing and thus provides no reliable information as to how the
hardware is actually set.  It only shows configuration date someone
wrote into the script or data that got saved in /etc/serial.conf.
-->
UART の種類を自動で調べる以外にも、setserial は IRQ を自動で検出できま
すが、常に正しく動作するわけではありません。setserial 2.15 以降のバー
ジョンのものは、テスト検出した最後の結果を保存しておいて、次に Linux 
が起動するとき使えるように <tt>/etc/serial.conf</tt> に書き込みます。
ブートのときに、シリアルモジュールがロードされて (または似た動きで)、
UART の検出が自動で行われて、検出結果が画面に表示されます。でも IRQ は
間違って表示されるかもしれません。同様な 2 番目の報告はスクリプトによ
るもので、普通は検出したものではないので、ハードウェアが実際にどのよう
にセットされたかに関する情報は不正確です。それは単に誰かがスクリプトに
書いた日付か、 /etc/serial.conf ファイルに保存されたデータを表示するだ
けなのです。

<!--
It may be that two serial ports both have the same IO address set in
the hardware.  Of course this is not permitted but it sometimes
happens anyway.  Probing detects one serial port when actually there
are two.  However if they have different IRQs, then the probe for IRQs
may show IRQ = 0.  For me it only did this if I first used
<tt/setserial/ to give the IRQ a ficticious value.
-->
2 つのシリアルポートの両方共に、同じ IO アドレスがハードウェア上にセッ
トされているかもしれません。もちろん、これは許されるものではありません
が、時々起ります。実際にシリアルポートが 2 つあるのに 1 つだけ検出して
しまいます。しかし、それぞれ違った IRQ が設定されているなら、IRQ の検
出では IRQ = 0 と表示されるかもしれません。筆者の場合、<tt/setserial/ を使
用したら架空の IRQ の値を検出しました。

<sect2><!-- Boot-time Configuration -->
ブート時の設定 <label id="sets_boot_time"> 
<p>
<!--
 When the kernel loads the serial module (or if the "module
equivalent" is built into the kernel) then only <tt/ttyS{0-3}/ are
auto-detected and the driver is set to use only IRQs 4 and 3
(regardless of what IRQs are actually set in the hardware).  You see
this as a boot-time message just like as if <tt/setserial/ had been
run.  If you use 3 or more ports, this may result in IRQ conflicts. 
-->
カーネルがシリアルモジュールをロードした (あるいは ``モジュールと同等
のもの'' がカーネルに組み込まれた) 時に、<tt/ttyS{0-3}/ だけが自動で検出さ
れ、ドライバは IRQ の 4 と 3 だけを使って (ハードウェアで実際にどの IR
Q 値が使われているかに無頓着に) 設定します。これは <tt/setserial/ が走った
ときのように、ブート時のメッセージとして確認できます。もし 3 つ以上の
シリアルポートをお持ちなら、IRQ の衝突を招くかもしれません。

<!--
To fix such conflicts by telling setserial the true IRQs (or for other
reasons) there may be a file somewhere that runs <tt/setserial/ again.
This happens early at boot-time before any process uses the serial
port.  In fact, your distribution may have set things up so that the
setserial program runs automatically from a start-up script at
boot-time.  More info about how to handle this situation for your
particular distribution might be found in file named "setserial..."
or the like located in directory /usr/doc/ or /usr/share/doc/.
-->
setserial に本当の IRQ (あるいは他の理由) を伝えることで、このような衝
突を避けるために、<tt/setserial/ を再起動するようなファイルがあるはずです。
これはプロセスがシリアルポートを使う前のブートの早い段階で処理されます。
実際に、あなたのお使いのディストリビューションでは、ブート時の起動スク
リプトファイルから setserial プログラムを自動起動するように設定されて
いるはずです。特定のディストリビューションでこのようなことを取り扱う方
法についてのより詳しい情報は、``setserial...'' という名前のファイルか、
/usr/doc/ や /usr/share/doc ディレクトリから見つけることができると思い
ます。

<sect2><!-- Configuration Scripts/Files -->
設定スクリプト / ファイル <label id="ss_conf_script">
<p>
<!--
 Your objective is to modify (or create) a script file in the /etc
tree that runs setserial at boot-time.  Most distributions provide
such a file (but it may not initially reside in the /etc tree).  In
addition, setserial 2.15 and higher often have an /etc/serial.conf
file that is used by the above script so that you don't need to
directly edit the script that runs setserial.  In addition just using
setserial on the command line (2.15+) may ultimately alter this
configuration file.
-->
あなたの目的は、ブート時に setserial を起動する /etc ツリーのスクリプ
トファイルを修正 (または生成) することです。ほとんどのディストリビュー
ションがそのようなファイル (でも 始めは /etc ツリーにないかもしれませ
ん) を提供しています。さらに、setserial 2.15 以上では上記スクリプトが
使う /etc/serial.conf ファイルがよく用いられるので、setserial を起動す
るスクリプトのディレクトリを編集する必要はありません。加えて、単にコマ
ンドライン上で setserial を使うなら、この設定ファイルを最終的に変更す
ることになります。

<!--
So prior to version 2.15 all you do is edit a script.  After 2.15 you
may need to either do one of three things: 1. edit a script.  2. edit
<tt>/etc/serial.conf</tt> or 3. run "setserial" on the command line
which will result in <tt>/etc/serial.conf</tt> automatically being
edited.  Which one of these you need to do depends on both your
particular distribution, and how you have set it up.
-->
バージョン 2.15 以前では、やることは全てスクリプトの編集です。2.15 以
降では 3 つの内どれか 1 つをやる必要があります。1. スクリプトの編集。 
2. <tt>/etc/serial.conf</tt> の編集。3. <tt>/etc/serial.conf</tt> を自
動編集するために ``setserial'' を実行する。これら 3 つのどれを選択する
かは、あなたのディストリビューションに依存することで、またどのようにセッ
トアップしたかにもよります。

<sect2> <!-- Edit a script (after version 2.15: perhaps not) -->
スクリプトの編集 (バージョン 2.15 以降 : 不正確です)
 <label id="old_sets_script">
<p>
<!--
 Prior to setserial 2.15 (1999) there was no /etc/serial.conf file
to configure setserial.   Thus you need to find the file that runs
"setserial" at boot time and edit it.  If it doesn't exist, you need
to create one (or place the commands in a file that runs early at
boot-time).  If such a file is currently being used it's likely
somewhere in the /etc directory-tree.  But Redhat <6.0 has supplied it
in /usr/doc/setserial/ but you need to move it to the /etc tree before
using it.   You might use "locate" to try to find such a file.  For
example, you could type: locate "*serial*".   
-->
ssetserial 2.15 (1999年現在) 以前では、setserial を設定するための 
/etc/serial.conf ファイルはまだなかった。それで、ブート時に 
``setserial'' を起動するファイルを探して、編集する必要がありました。も
しなかったら、作らなければなりません (あるいは、ブート時の早い段階で実
行するファイルにコマンドを書いておく)。そのようなファイルが現在でも使
われているなら、それは /etc ディレクトリツリーのどこかにあるはずです。
でも Redhat 6.0 以前では /usr/doc/setserial/ にありましたが、それを使
う前に /etc ツリーに移動しておく必要があります。そんなファイルを探すの
に ``locate'' を使うことができます。例えば、locate "*serial*" とタイプします。

<!--
The script <tt>/etc/rc.d/rc.serial</tt> was commonly used in the past.
The Debian distribution used <tt>/etc/rc.boot/0setserial</tt>.
Another file once used was <tt>/etc/rc.d/rc.local</tt> but it's
not a good idea to use this since it may not be run early enough.
It's been reported that other processes may try to open the serial
port before rc.local runs resulting in serial communication failure.
-->
スクリプト <tt>/etc/rc.d/rc.serial</tt> は以前は普通に使われていました。 
Debian ディストリビューションでは <tt>/etc/rc.boot/0setserial</tt> が
使われました。<tt>/etc/rc.d/rc.local</tt> が一度使われたことがあります
が、あまり使い易くなかったので、ごく早い段階で使われなくなりました。 
rc.local がシリアル通信エラーを発する前に、他のプロセスがシリアルポー
トをオープンしようとしていると報告されたりしました。

<!--
If such a file is supplied, it should contain a number of
commented-out examples.  By uncommenting some of these and/or
modifying them, you should be able to set things up correctly.  Make
sure that you are using a valid path for <tt/setserial/, and a valid
device name.  You could do a test by executing this file manually
(just type its name as the super-user) to see if it works right.
Testing like this is a lot faster than doing repeated reboots to get
it right.  Of course you can also test a single <tt/setserial/ command
by just typing it on the command line.
-->
そんなファイルが提供されていたら、コメントアウトしたサンプル行を含んで
いるはずです。これらの数行のコメントを外して、そしてまた編集すれば、正
確に設定できることでしょう。<tt/setserial/ へのパスと正確なデバイス名とがき
ちんとセットされていることを確認してください。ちゃんと動くことを確認す
るために、手動でこのファイルを実行してテストすることができます (スーパ
ーユーザになって名前をタイプすればよい)。このようなテストをすることは、
確認のためにリブートを繰り返すよりはるかに早い方法です。もちろんコマン
ドライン上で単に <tt/setserial/ コマンドをタイプすることでもテストはできま
す。

<!--
If you want setserial to automatically determine the uart and the IRQ
for ttyS3 you would add something like:
-->
ttyS3 の UART や IRQ を setserial に自動的に決定させたいなら、このよう
に追加します。

<tscreen><verb>
/sbin/setserial /dev/ttyS3 auto_irq skip_test autoconfig
</verb></tscreen> 

<!--
Do this for every serial port you want to auto configure.  Be sure to
give a device name that really does exist on your machine.  In some
cases this will not work right due to the hardware so if you know what
the uart and irq actually are, may want to assign them explicitly with
"setserial".  For example:
-->
自動的に実行したいポート毎にこの行を追加します。あなたのシステムに本当
にあるデバイス名を指定するよう注意してください。幾つかの場合では、ハー
ドウェアの原因でうまくいかないでしょうから、IRQ や UART の種類を知って
いるなら ``setserial'' に明示的に割当ててください。例えばこのように。

<tscreen><verb>
/sbin/setserial /dev/ttyS3 irq 5 uart 16550A  skip_test 
</verb></tscreen> 

<!--
For versions >= 2.15 (provided your distribution implemented the
change, Redhat didn't) it may be more tricky to do since the file that
runs setserial on startup, /etc/init.d/setserial or the like was not
intended to be edited by the user.  See <ref id="new_config"
name="New configuration method using /etc/serial.conf">. 
-->
バージョン 2.15 以上 (お使いのディストリビューションが対応済であるこ
と) の場合、起動時に setserial を実行する /etc/init.d/setserial かその
類のスクリプトファイルがユーザによって編集されると思っていなかったので、
かなりやっかいです。<ref id="new_config"
name="/etc/serial.conf を使った新しい設定方法"> をご覧ください。


<sect2><!-- New configuration method using /etc/serial.conf -->
/etc/serial.conf を使った新しい設定方法<label id="new_config">
<p>
<!--
 Prior to setserial version 2.15, the way to configure setserial
was to manually edit the shell-script that ran setserial at boot-time.
See <ref id="old_sets_script" name="Edit a script (after version 2.15:
perhaps not)">.  Starting with version 2.15 (1999) of <tt/setserial/
this shell-script is not edited but instead gets its data from a
configuration file: <tt>/etc/serial.conf</tt>.  Furthermore you may
not even need to edit serial.conf because using the "setserial"
command on the command line may automatically cause serial.conf to be
edited appropriately.
-->
setserial 2.15 以前のバージョンでの設定方法は、起動時に setserial を実
行するシェルスクリプトを手で編集することでした。<ref
id="old_sets_script" name="スクリプトの編集 (バージョン 2.15 以降 :不
正確です)">をご覧ください。<tt/setserial/ 2.15(1999年) になるとこのス
クリプトファイルは編集されず、代りに <tt>/etc/serial.conf</tt> 設定ファ
イルからデータを得るようになりました。その上、serial.conf さえも編集す
る必要がなくなっていて、なぜかというと、コマンド行で ``setserial'' コ
マンドを使えば自動で serial.conf を適切に編集してくれるからです。

<!--
This was intended to make it so that you don't need to edit any file
in order to set up (or change) setserial so it will do the right thing
each time that Linux is booted.  But there are serious pitfalls
because it's not really "setserial" that edits serial.conf.  Confusion
is compounded because different distributions handle this differently.
In addition, you may modify it so it works differently.
-->
これは、Linux がブートする毎に setserial がちゃんと動作するよう設定す
るために、あなたがどんなファイルも編集しなくてすむようにするつもりだっ
たのです。でもそこには重大な落し穴があって、なぜなら実際には 
``setserial'' が serial.conf を編集していないからなのです。各ディスト
リビューションがこのことを違って扱ったために混乱は増しています。加えて
、あなたがそれを編集することでも違った動きとなっています。

<!--
What often happens is this:  When you shut down your PC the script
that runs "setserial" at boot-time is run again, but this time it only
does what the part for the "stop" case says to do:  It uses
"setserial" to find out what the current state of "setserial" is and
puts that info into the <tt>serial.conf</tt> file.  Thus when you run
"setserial" to change the serial.conf file, it doesn't get changed
immediately but only when and if you shut down normally.
-->
これでなにが起きるかというと : PC をシャットダウンした時に、ブート時に
 ``setserial'' を実行するスクリプトが再び実行しますが、今度は ``stop''
 ケースの部分だけを実行するのです。スクリプトは ``setserial'' の現在状
態を知るために ``setserial'' を実行し、<tt>serial.conf</tt> にその情報を書き込
むのです。従って、serial.conf ファイルを変更するために ``setserial'' 
を実行した時はすぐに変更されませんが、シャットダウンの場合だけは通常は
変更がすぐ反映されます。

<!--
Now you can perhaps guess what problems might occur.  Suppose you
don't shut down normally (someone turns the power off, etc.) and the
changes don't get saved.  Suppose you experiment with "setserial" and
forget to run it a final time to restore the original state (or make a
mistake in restoring the original state).  Then your "experimental"
settings are saved.  
-->
今はあなたはどのような問題が起きるか多分推測できるでしょう。普通にシャ
ットダウンしなかったとしたら (誰かが突然電源を切ったりして...)、変更は
保存されません。``setserial'' をいろいろ試していて、最後にオリジナルの
設定に戻すのを忘れた (あるいはオリジナルを戻し間違った) としたら、``試
験的'' な設定が保存されてしまいます。

<!--
If you manually edit serial.conf, then your editing is destroyed when
you shut down because it gets changed back to the state of setserial
at shutdown.  There is a way to disable the changing of serial.conf at
shutdown and that is to remove "###AUTOSAVE###" or the like from first
line of serial.conf.  In at least one distribution, the removal of 
"###AUTOSAVE###" from the first line is automatically done after the
first time you shutdown just after installation.  The serial.conf file
will hopefully contain some comments to help you out.
-->
手で serial.conf を編集しても、シャットダウンの時に setserial の状態に
戻ってしまうので、変更は保存されませんよ。シャットダウンで serial.conf
を変更しない方法は、serial.conf の最初の行にある ``###AUTOSAVE###'' 
あるいはその類の行を削除することです。最近のディストリビューションのな
かには、インストール直後の最初のシャットダウンの後に最初の行にある ``#
##AUTOSAVE###'' が削除されるものもあります。serial.conf ファイルには多
分参考になるコメントが含まれています。

<!--
The file most commonly used to run setserial at boot-time (in
conformance with the configuration file) is now /etc/init.d/setserial
(Debian) or /etc/init.d/serial (Redhat), or etc.,  but it should not
normally be edited.  For 2.15 Redhat 6.0 just had a file
/usr/doc/setserial-2.15/rc.serial which you have to move to
/etc/init.d/ if you want setserial to run at boot-time.
-->
ブート時に setserial を実行するもっとも一般的なファイル (設定ファイル
に準拠したもの) は、現在のところ /etc/init.d/setserial(Debian) や 
/etc/init.d/serial (Redhat) などですが、通常は編集すべきではありません。 
Redhat 6.0 の setserial 2.15 には /usr/doc/setserial-2.15/rc.serial が
ついていますが、ブート時に実行するようにしたいなら /etc/init.d/ に移さ
なければなりません。

<!--
To disable a port, use <tt/setserial/ to set it to
"uart none".  The format of /etc/serial.conf appears to be just like
that of the parameters placed after "setserial" on the command line
with one line for each port.  If you don't use autosave, you may edit
/etc/serial.conf manually.  
-->
ポートを無効にするなら <tt/setserial/ を使って、``uart none'' と設定します。
/etc/serial.conf のフォーマットは、各ポート毎に 1 行あるコマンド行のう
ち、``setserial'' の後にあるパラメータと同じです。もし自動保存しないな
ら、/etc/serial.conf を手で編集してください。

<!--
BUG: As of July 1999 there is a bug/problem since with ###AUTOSAVE###
only the setserial parameters displayed by "setserial -Gg /dev/ttyS*"
get saved but the other parameters don't get saved.  Use the -a flag
to "setserial" to see all parameters.  This will only affect a small
minority of users since the defaults for the parameters not saved are
usually OK for most situations.  It's been reported as a bug and may
be fixed by now. 
-->
バグ : 1999 年 7 月現在、###AUTOSAVE### にしたとき、``setserial -Gg
/dev/ttyS?'' で表示するパラメータだけが保存され、他のパラメータが保存さ
れないのはバグもしくは問題です。保存できないパラメータのデフォルト値は
ほとんどの場合で問題がないので、少数のユーザにだけ影響するでしょう。こ
れはバグとして報告され、今頃修正されたかもしれません。

<!--
In order to force the current settings set by setserial to be saved to
the configuration file (serial.conf) without shutting down, do what
normally happens when you shutdown: Run the shell-script
<tt>/etc/init.d/{set}serial stop</tt>.  The "stop" command will save
the current configuration but the serial ports still keep working OK.
-->
setserial で設定した現在の設定値を設定ファイル (serial.conf) に強制的
に保存するには、通常、シャットダウン時に行なわれているように、 
<tt>/etc/init.d/{set}serial stop</tt> スクリプトファイルを実行します。
``stop'' コマンドは現在の設定を保存しますが、シリアルポートはまだ良好
に動き続けています。

<!--
In some cases you may wind up with both the old and new configuration
methods installed but hopefully only one of them runs at boot-time.
Debian labeled obsolete files with "...pre-2.15".
-->
幾つかの場合では、古いのと新しい設定方法の両方がインストールされていま
すが、たぶんそのうちの一つだけがブート時に実行されます。 Debian では、
古いファイルには ``...pre-2.15'' などの名前がついています。

<sect2> IRQs
<p>
<!--
 By default, both ttyS0 and ttyS2 will share IRQ 4, while ttyS1 and
ttyS3 share IRQ 3.  But actually sharing serial interrupts (using them
in running programs) is not permitted unless you: 1. have kernel 2.2
or better, and 2. you've complied in support for this, and 3. your
serial hardware supports it.  See 
Serial-HOWTO: Interrupt sharing and Kernels 2.2+. 
-->
デフォルトでは、ttyS0 と ttyS2 は IRQ 4 を共有し、ttyS1 と ttyS3 は 
IRQ 4 を共有します。しかし実際は、シリアル用の割込みの共有は以下の条件以
外では許されていません。1. バージョン 2.2 以降のカーネルを使っているこ
と。2. 共有をサポートするようカーネルを構築していること。3. シルアルハ
ードウェア自身がサポートしていること。Serial-HOWTO の割込みの共有とバ
ージョン 2.2 以降のカーネルをご覧ください。

<!--
If you only have two serial ports, ttyS0 and ttyS1, you're still OK
since IRQ sharing conflicts don't exist for non-existent devices.  
-->
2 つのシリアルポート ttyS0 と ttyS1 だけなら、存在しないデバイスのため
の IRQ の競合はありません。

<!--
If you add an internal modem and retain ttyS0 and ttyS1,
then you should attempt to find an unused IRQ and set it both on your
serial port (or modem card) and then use setserial to assign it to
your device driver.  If IRQ 5 is not being used for a sound card, this
may be one you can use for a modem.  To set the IRQ in hardware you
may need to use isapnp, a PnP BIOS, or patch Linux to make it PnP.  To
help you determine which spare IRQ's you might have, type "man
setserial" and search for say: "IRQ 11".  
-->
ttyS0 と ttyS1 が使える環境で内蔵モデムを追加する場合、未使用の IRQ を
見つけて、共にシリアルポート (あるいはモデムカード) に設定して、 
setserial を使ってデバイスドライバに割当てます。IRQ 5 が音源ボード用で使用
されてないなら、モデム用に使えますよ。ハードウェアで IRQ を設定するに
は、isapnp ツールや、PnP BIOS、あるいは PnP をサポートするように Linux
 にパッチを当てる必要があります。空いてる IRQ のどれを使うかを決めるに
は、``man setserial'' とタイプして、``IRQ 11'' を探すことです。
<!-- setserial.H  end -->

<sect1> Stty <label id="stty_">
<!-- stty.H begin <sect1> Stty <label id="stty_"> --> 
<sect2><!-- Introduction -->はじめに
<p>
<!--
 <tt/stty/ does much of the configuration of the serial port but
since application programs (and the getty program) often handle it,
you may not need to use it much.  It's handy if your having problems
or want to see how the port is set up.  Try typing ``stty -a'' at your
terminal/console to see how it's now set.  Also try typing it without
the -a (all) for a short listing which shows how it's set different
than normal.  Don't try to learn all the setting unless you want to
become a serial guru.  Most of the defaults should work OK and some of
the settings are needed only for certain obsolete dumb terminals made
in the 1970's.
-->
<tt/stty/ はたくさんのシリアルポートを設定しますが、アプリケーションプログ
ラム (それと getty プログラム) でも設定できるので、あまり使うことはな
いでしょう。問題が起った時や、ポートの設定方法を知りたい場合には便利な
のですが。現在の設定が見たければ、端末 / コンソールから ``stty -a'' と
タイプしてください。 標準の表示とは違った短い一覧表示にするには、 -a 
(全て) を外してタイプしてみてください。serial のグルになるわけじゃなけ
れば、全ての設定を修得しなくてもよいです。ほとんどはデフォルトで大丈夫
だし、設定の幾つかは 1970 年代に作られた時代遅れの端末にのみ必要だから
です。

<!--
Whereas <tt/setserial/ only deals with actual serial ports, stty is
used both for serial ports and for virtual terminals such as the standard
Linux text interface at a PC monitor.  For the PC monitor, many of the
stty settings are meaningless.  Changing the baud rate, etc. doesn't
appear to actually do anything.
-->
<tt/setserial/ は本当のシリアルポートだけを扱いますが、stty はシリアルポー
トと、PC モニタでの標準的な Linux テキストインターフェースのような仮想
端末の両方で使われます。PC モニタでは stty の設定の多くは無意味です。
ボーレートの変更などは実際に目に見えるものではないからです。

<!--
Here are some of the items stty configures: speed (bits/sec), parity,
bits/byte, # of stop bits, strip 8th bit?, modem control signals, flow
control, break signal, end-of-line markers, change case, padding, beep
if buffer overrun?, echo what you type to the screen, allow background
tasks to write to terminal?, define special (control) characters (such
as what key to press for interrupt).  See the <tt/stty/ man or info
page for more details.  Also see the man page: <tt/termios/ which
covers the same options set by stty but (as of mid 1999) covers
features which the stty man page fails to mention.  
-->
stty の設定項目を幾つか示します。通信速度 (bit/sec)、パリティ、データ
長、ストップビット数、8 ビット目を落すかどうか、モデム制御信号、フロー
制御、ブレーク信号、行末マーカ、文字ケースの変更、パディング、バッファ
溢れの際にビープ音を鳴らすかどうか、タイプした文字の画面へのエコー、バ
ックグランドタスクに端末への書き込みを許すかどうか ?、特殊 (制御) 文字
の定義 (どのキーを押すと割込みがかかる等) などです。詳しくは <tt/stty/ のオ
ンラインマニュアルか info ファイルを見てください。<tt/termios/ のオンライン
マニュアルを見てください。ここには stty で設定できるのと同じオプション
が説明されてますが、(1999 年半ばの時点では) stty のマニュアルが説明で
きていない機能にも言及しています。

<!--
With some implementations of getty (getty_ps package), the commands
that one would normally give to stty are typed into a getty
configuration file: /etc/gettydefs.  Even without this configuration
file, the getty command line may be sufficient to set things up so
that you don't need stty."')
-->
一部の getty の実装 (gety_ps パッケージ) では、stty に通常与えるコマン
ドは、getty の設定ファイル (/etc/gettydefs) に含まれます。この設定ファ
イルがなくても、getty のコマンドラインは stty を必要としないほど十分な
設定ができます。

<!--
One may write C programs which change the stty configuration, etc.
Looking at some of the documentation for this may help one better
understand the use of the stty command (and its many possible
arguments).  Serial-Programming-HOWTO is useful.  The manual page:
termios contains a description of the C-language structure (of type
termios) which stores the stty configuration in computer memory.  Many
of the flag names in this C-structure are almost the same (and do the
same thing) as the arguments to the stty command.
-->
stty の設定などを変更する C プログラムを書くこともできます。これに関す
る文書をいくつか見れば、stty コマンドの使い方 (およびたくさんある使用
可能な引数) もよく理解できるでしょう。Serial-Programming-HOWTO も役に
立ちます。オンラインマニュアル termios には C 言語の構造体 (termios 
型) の説明があります。この構造体は、stty の設定をコンピュータのメモリ
に格納します。C 言語の構造体メンバーのフラグ名の多くは、stty コマンド
の引数とほぼ同じです (そして同じ動作をします)。

<sect2><!-- Using stty for a "foreign" terminal -->
``よその'' 端末に対しての stty の使用
<p>
<!--
 Using <tt/stty/ to inspect or configure the terminal that you are
currently using is easy.  Doing it for a different (foreign) terminal
or serial port may be tricky.  For example, let's say you are at the
PC monitor (tty1) and want to use <tt/stty/ to deal with the serial
port ttyS2.  Prior to about 2000 you needed to use the redirection
operator "<".  After 2000 (provided your version of setserial is >=
1.17 and stty >= 2.0) there is an alternate method using the -F
option.  This will work when the old redirection method fails.  Even
with the latest versions be warned that if there is a terminal on
ttyS2 and a shell is running on that terminal, then what you see will
likely be deceptive and trying to set it will not work.  See <ref
id="2_term_interfaces" name="Two Interfaces at a Terminal"> to
understand it.
-->
<tt/stty/ を使って、自分が現在使っている端末の調査や設定を行うのは簡単です。
これを別の (よその) 端末やシリアルポートに対して行うのは面倒です。例え
ば、皆さんが PC のモニタ (tty1) の前にいて、そしてシリアルポート ttyS2
 に対して <tt/stty/ を使いたいとします。2000 年以前なら、リダイレクト演算子
  < を使う必要がありました。2000 年以降は (setserial 1.17 と stty 2.0 
をお持ちなら) -F オプションを使った変更方法があります。これは、リダイ
レクションという古い方法が失敗したときに使えます。最新版でさえも、 
ttyS2 上に端末があり、そこでシェルが動作しているならば、表示される内容は
あてにならず、設定しようとしてもうまくいかないでしょう。 その理由は<ref
id="2_term_interfaces" name="端末の 2 つのインタフェース">をご覧になれ
ば理解できます。

<!--
The new method is ``stty -F /dev/ttyS2 ...'' (or &#045;&#045;file instead of F).
If  ... is -a it displays all the stty settings.  The old redirection
method (which still works in later versions) is to type ``stty ... &lt
/dev/ttyS2''.   If the new method works but the old one hangs, it
implies that the port is hung due to lack of a modem control line from
being asserted.  Thus the old method is still useful for
troubleshooting.  See the following subsection.
-->
新しい方法は ``stty -F /dev/ttyS2 ...'' (または F の代りに 
&#045;&#045;file ) です。... のところで -a としたら、stty の全ての設定
を表示します。古いリダイレクションの方法 (最新版においても動作します) 
では、``stty ... &lt/dev/ttyS2'' とタイプします。新しい方法でうまくいっ
て古い方法でハングするなら、モデム制御線の信号が落ちていることを意味し
ています。このように古い方法はまだトラブルシューティングで使えます。次
の章をご覧ください。

<sect3><!-- Old redirection method -->古いリダイレクションの方法
<p>
<!--
 Here's a problem with the old redirection operator (which doesn't
happen if you use the newer -F option instead).  Sometimes when trying
to use stty, the command hangs and nothing happens (you don't get a
prompt for a next command even after hitting &lt;return&gt;).  This is
likely due to the port being stuck because it's waiting for one of the
modem control lines to be asserted.  For example, unless you've set
"clocal" to ignore modem control lines, then if no CD signal is
asserted the port will not open and stty will not work for it (unless
you use the newer -F option).  A similar situation seems to exist for
hardware flow control.  If the cable for the port doesn't even have a
conductor for the pin that needs to be asserted then there is no easy
way to stop the hang.
-->
古いリダイレクション演算子には問題があります (新しい -F オプションを使
えば問題はありません)。stty を使おうとすると時々、コマンドがハングし、
何もできなくなるのです(&lt;リターンキー&gt;を押しても、次のコマンドのプロンプ
トが出ない)。これは大抵ポートがつまってしまったためで、モデム制御線の
いずれかがアサート(肯定)になるのをポートがじっと待っている状態なのです。
例えば、モデム制御線を無視するように ``clocal'' を設定していない場合、
CD 信号がアサートにならなければポートはオープンできませんし、stty はポ
ートに対して動作しません (新しい -F オプションを使ってもこうなります)。
同様の状況は、ハードウェアフロー制御でも起こるようです。アサートになら
ないとまずい導線がポートにつないだケーブルになければ、ハングするのを防
ぐ簡単な方法はありません。 

<!--
One way to try to get out of the above hang is to use the newer -F
option and set "clocal" and/or "crtscts".  If you don't have the -F
option then you may try to run program on the port that will force it
to operate even if the control lines say not to.  Then hopefully this
program might set the port so it doesn't need the control signal in
the future in order to open: clocal or -crtscts.  To use "minicom" to
do this you have to reconfigure minicom for another ttyS, etc, and
then exit it and restart it.  Since you then have to reconfigure
minicom again, it may be simpler to just reboot the PC.
-->
上記のハングを防ぐ方法の一つは、新しい -F オプションを使って ``clocal''
と ``crtscts'' をセットすることです。もし -F オプションに対応してな
ければ、たとえ制御線がオフであってもポートを強制的に動作させるプログラ
ムを使うことです。 多分このプログラムは、これ以降ポートをオープンする
ために制御線が不要であるようにポートを設定します : すなわち clocal ま
たは -crtscts を設定するのです。``minicom'' を使ってこれを行うには、別
の ttyS 等に合わせて minicom を再設定し、それから minicom の終了と再実
行を行わなければなりません。その後再び minicom を再設定しなければなら
ないので、単に PC を再起動するだけの方が簡単かもしれません。 

<!--
The old redirection method makes ttyS2 the standard input to stty.
This gives the stty program a link to the "file" ttyS2 so that it may
"read" it.  But instead of reading the bytes sent to ttyS2 as one
might expect, it uses the link to find the configuration settings of
the port so that it may read or change them.  Some people tried to use
``stty ... &gt /dev/ttyS2'' to set the terminal.  This will not do it.
Instead, it takes the message normal displayed by the stty command for
the terminal you are on (say tty1) and sends this message to ttyS2.
But it doesn't change any settings for ttyS2.
-->
古いリダイレクションの方法は、ttyS2 を stty への標準入力にします。これ
によって、ttyS2 は stty への標準入力となります。すると、stty プログラ
ムは ''ファイル'' である ttyS2 へのリンクを得ることによって、
これを ''読み取る'' ことができます。しかし、ttyS2 に送られたバイトデータを期待
される通り普通に読み取るのではなく、ポートの読み取りや変更が できるよ
うに、このリンクを使ってポートの設定を見つけます。 ``stty ... &gt;
/dev/ttyS2'' を使って端末を設定しようとする人もいますが、これでは設定できま
せん。この場合は設定は行われずに、使っている端末 (例えば tty1) に対す
る stty コマンドで普通に表示されるメッセージが得られ、これが ttyS2 に
送られます。しかし、ttyS2 の設定は全く変わりません。

<sect2><!-- Two interfaces at a terminal -->
端末での 2 つのインタフェース<label id="2_term_interfaces">
<p>
<!--
 When using a shell (such as bash) with command-line-editing
enabled there are two different terminal interfaces (what you see when
you type stty -a).  When you type at the command line you have a
temporary "raw" interface (or raw mode) where each character is read
by the command-line-editor as you type it.  Once you hit the
&lt;return&gt; key, the command-line-editor is exited and the terminal
interface is changed to the nominal "cooked" interface (cooked mode)
for the terminal.  This cooked mode lasts until the next prompt is
sent to the terminal.  Note that one never types anything to this
cooked mode but what was typed in raw mode becomes cooked mode as soon
as one hits the &lt;return&gt; key.
-->
コマンドライン編集機能を有効にしてシェル (bash など) を使うときには、 
2 つの異なる端末インタフェース (stty -a を実行したときに表示されるも
の) があります。コマンドラインで入力を行うときには、それぞれの文字を入
力するごとにコマンドラインエディタで読み込まれる一時的な ``raw'' イン
タフェース (つまり ``raw'' モード)を使います。&lt;リターン&gt; キーを叩くと、
コマンドラインエディタは終了し、端末インタフェースはその端末の通常の 
``cooked'' インタフェース (加工モード) に切り替わります。加工モードは次
のプロンプトが端末に送られるまで続きます。加工モードでは何も入力しませ
んが、raw モードで入力された文字は &lt;リターン&gt; キーが押されると加工モー
ドになります。 

<!--
When a prompt is sent to the terminal the terminal goes from "cooked"
to "raw" mode (just like it does when you start an editor since you
are starting the command-line editor).  The settings for the "raw"
mode are based only on the basic settings taken from the "cooked"
mode.  Raw mode keeps these setting but changes several other settings
in order to change the mode to "raw".  It is not at all based on the
settings used in the previous "raw" mode.  Thus if one uses stty to
change settings for the raw mode, such settings will be lost as soon
as one hits the &lt;return&gt; key at the terminal that has supposedly
been "set".
-->
プロンプトが端末に送られると、端末は ``加工'' モードから ``raw'' モー
ド に変わります (これはエディタを起動するときとちょうど同じように行わ
れます。というのも、コマンドラインエディタを起動しようとしているからで
す)。 ``raw'' モードの設定は、``加工'' モードから得た基本設定のみに基
づいて行われます。``raw'' モードはこれらの設定を保持しますが、他のいく
つかの設定はモードを ``raw'' に変えるために変更します。前の ``raw'' モ
ードで使われた設定には全く依存しません。したがって、stty を使って raw 
モードの設定を変えると、``設定された'' と思われる端末上で &lt;リターン&gt; 
キーを叩いた途端にこのような設定は無くなってしまいます。 

<!--
Now when one types stty to look at the terminal interface, one may
either get a view of the cooked mode or the raw mode.  You need to
figure out which one you're looking at.  It you use stty from another
terminal to deal with a terminal that is displaying a command line,
then the view is that of the raw mode.  Any changes made will only be
made to the raw mode and will be lost when someone presses
&lt;return&gt; at the terminal you tried to "set".  But if you type a
stty command at your terminal (without using &lt for redirection) and
then hit &lt;return&gt; it's a different story.  The &lt;return&gt;
puts the terminal in cooked mode.  Your changes are saved and will
still be there when the terminal goes back into raw mode (unless of
course it's a setting not allowed in raw mode).
-->
ここで、stty で端末インタフェースを見るときには、加工モードか raw モー
ドのどちらかの状態を表示することができます。その時にどちらを見るのかを
 はっきりさせる必要があります。コマンドラインを表示している端末を扱う
ために別の端末から stty を使う場合には、raw モードでの表示になります。
行われた変更は raw モードにしか適用されず、``設定''しようとした端末上
で誰かが &lt;リターン&gt; を押すと消えてしまいます。しかし、自分のいる端末で 
(リダイレクトの &lt; を使わずに) stty コマンドを入力し、それから &lt;
リターン&gt;を押した場合は話が違ってきます。&lt;リターン&gt; キーによ
り端末は加工モードになるからです。行われた変更は保存され、端末が raw 
モードに戻ったときにも残っています (もちろん raw モードで変更できない
設定は除きます)。 

<!--
This situation can create problems.  For example, suppose you corrupt
your terminal interface and to restore it you go to another terminal
and "stty -F dev/ttyS1 sane" (or the like) to restore it.  It will not
work!  Of course you can try to type "stty sane ..." at the terminal
that is corrupted but you can't see what you typed.  All the above not
only applies to dumb terminals but to virtual terminals used on a PC
Monitor as well as to the terminal windows in X.  In other words, it
applies to almost everyone who uses Linux.  Luckily, a file that runs
stty at boot-time will likely deal with a terminal (or serial port
with no terminal) that has no shell running on it so there's no
problem.
-->
この状況では問題が起こることがあります。例えば、端末インタフェースを腐
らせてしまい、これを戻すために別の端末に行って ``stty -F dev/ttyS1
sane'' (またはこれに類するコマンド) を実行したとしましょう。ところがこの
方法は使えません! もちろん腐ってしまった端末から ``stty sane ...'' の
入力を試 みることはできますが、入力した文字を見ることはできません。上
記の現象はダム端末だけではなく、PC モニタ上で使う仮想端末や X 上の端末
ウィンドウにも当てはまります。言い換えれば、これは Linux を使っている
と逃れられない問題なのです。幸運なことに、起動時に stty を実行するファ
イルはシェルが動作していない端末 (あるいは端末がつながっていないシリア
ルポート) を扱えるので問題はありません。 

<sect2><!-- Where to put the stty command ? -->
どこに stty コマンドを置くか ?<label id="stty_where">
<p>
<!--
 Should you need to have <tt/stty/ set up the serial interface each
time the computer starts up then you need to put the <tt/stty/ command
in a file that will be executed each time the computer is started up
(Linux boots).  It should be run before the serial port is used
(including running getty on the port).  There are many possible places
to put it.  If it gets put in more than one place and you only know
about (or remember) one of those places, then a conflict is likely.
So make sure to document what you do.
-->
コンピュータが起動する度に <tt/stty/ にシリアルインタフェースを設定させる必
要があるので、コンピュータが起動する (Linux が起動する) 度に実行するフ
ァイルに <tt/stty/ コマンドを入れておくべきです。このファイルはシリアルポー
トが使われる (ポートにおける getty の実行も含みます) 前に実行されなけ
ればなりません。これの置き場所はたくさんあります。複数の場所に置いたの
に、そのうちの一つの場所しか知ってないなら (覚えていなければ) 衝突が起
きてしまうでしょう。したがって、設定したことはちゃんと記録しておきまし
ょう。 

<!--
One place to put it would be in the same file that runs setserial when
the system is booted.  The location is distribution and version
dependent.  It would seem best to put it after the setserial command
so that the low level stuff is done first.  If you have directories in
the /etc tree where every file in them is executed at boot-time 
(System V Init) then you could create a file named "stty" for this
purpose.
-->
stty コマンドを置く場所の一つは、システムが起動するときに setserial を
実行するファイルと同じところです。この場所はディストリビューションやバ
ージョンごとに異なります。低レベルの処理が先に行われるようにするため、
 setserial の後に置くのが良いでしょう。 置かれているファイルが起動時に
全て実行されるディレクトリ (System V Init) が、/etc ディレクトリツリー
の下にあれば、``stty'' という名前でファイルを作れば良いでしょう。
<!-- stty.H end --> 

<sect1><!-- Terminfo & Termcap (brief) -->
Terminfo と Termcap (簡易版) <label id="termcap1">
<p>
<!--
 See <ref id="termcap2" name="Terminfo and Termcap (detailed)"> for
a more detailed discussion of termcap.  Many application programs that
you run use the terminfo (formerly termcap) data base.  This has an
entry (or file) for each model or type (such as vt100) of terminal and
tells what the terminal can do, what codes to send for various
actions, and what codes to send to the terminal to initialize it.
-->
termcap の詳細については <ref id="termcap2" name="Terminfo と Termcap
(詳細)">をご覧ください。あなたが使うアプリケーションプログラムの多くは 
terminfo (以前は termcap) データベースを使用します。これには端末の型式
やタイプ (vt100 のような) のエントリ (またはファイル) があり、その端末でどんなことができるか、
各種動作のために送るコードは何か、また初期化のコードな
どについて示してくれます。

<!--
Since many terminals (and PC's also) can emulate other terminals and
have various "modes" of operation, there may be several terminfo
entries from which to choose for a given physical terminal.  They
usually will have similar names.  The last parameter of getty (for
both agetty and getty_ps) should be the terminfo name of the terminal
(or terminal emulation) that you are using (such as vt100).
-->
多くの端末 (PC も同様) は他の端末をエミュレートでき、また各種の操作 ``
モード'' があるので、指定した実際の端末を選択できるようにいくつかの端
末エントリがあります。それらは普通、似かよった名前になります。getty の
最後のパラメータ (agetty と getty_ps の両方のための) は使用している端
末 (もしくは端末エミュレータ) の terminfo に登録されている名前 (vt100 
のような) にすべきです。

<!--
The terminfo does more than just specify what the terminal is capable
of doing and disclose what codes to send to the terminal to get it to
do those things.  It also specifies what "bold" will look like (will
it be reverse video or will it be high intensity, etc.), what
the cursor will look like, if the letters will be black, white, or
some other color, etc.  In PC terminology these are called
"preferences".  It also specifies initialization codes to send to the
terminal (analogous to the init strings sent to modems).  Such strings
are not automatically sent to the terminal by Linux.  See <ref
id="init_string" name="Init String">.  If you don't like the way the
display on the screen looks and behaves you may need to edit (and then
update) the terminfo (or termcap) file.  See <ref id="tic"
name="Terminfo Compiler (tic)"> for how to update.
-->
terminfo には、端末が実行可能な能力を指定したり、それらのことを実行さ
せるために端末に送るコードを明らかにする以上の役割があります。文字色が
黒やその他の色なら、``ボールド'' の見かけ (反転表示や、高輝度表示など)
 やカーソルの形状がどのようになるかも指定します。PC の用語では、 ``初
期設定'' と呼んでいます。端末に初期化コードを送ったりもします (モデム
に初期化文字を送るのに似ています)。このような文字列は Linux が勝手に送
ったりしません。<ref
id="init_string" name="初期化文字">をご覧ください。もし画面の表示や動
きが気にいらなければ、terminfo (または termcap) ファイルを編集 (そして
アップデートも) する必要があります。アップデートの方法は  <ref id="tic"
name="Terminfo コンパイラ (tic)">をご覧ください。

<sect1<!-- Setting TERM and TERMINFO -->TERM と TERMINFO の設定
<p>
<!--
 These are two environment variables for terminals: TERM and
TERMINFO, but you may not need to do anything about them.  TERM must
always be set to the  type of the terminal you are using (such as
vt100).  If you don't know the type (name) see <ref id="term_name"
name="What is the terminfo name of my terminal ?">.  TERMINFO contains
the path to the terminfo data base, but may not be needed if the
database is in a default location (or TERMINFO could be set
automatically by a file that comes with your distribution of Linux).
You may want to look at <ref id="tc_compiled_locs" name=" Compiled 
database locations">.
-->
端末用には TERM と TERMINFO の 2 つの環境変数がありますが、これについ
ては何も知る必要ありません。TERM は使用する端末のタイプ (vt100 のよう
な) を設定します。もしタイプ (名前) を知らなければ、<ref id="term_name"
name="私の端末の terminfo の名前は何 ?">をご覧ください。TERMINFO は 
terminfo データベースへのパスを含みますが、データベースがデフォルトの
位置にあるなら (あるいは、あなたの Linux ディストリビューションに含ま
れるスクリプトファイルで TERMIFO を自動的に設定するなら) 必要ないかも
しれません。<ref id="tc_compiled_locs" name="データベースの位置の翻訳
">が参考になると思います。

<!--
Fortunately, the getty program usually sets TERM for you just before
login.  It just uses the terminal type that was specified on getty's
command line (in /etc/inittab).  This permits application programs to
find the name of your terminal and then look up the terminal
capabilities in the terminfo data base.  See <ref id="term_var"
name="TERM Variable"> for more details on TERM.
-->
幸い、プログラム getty はログインする前に TERM を設定するのが普通です。
単に getty のコマンドライン (/etc/inittab) で指定した端末タイプを使い
ます。これによりアプリケーションプログラムが端末の名前を見つけたり、 t
erminfo データベースから端末の能力を探すことが可能になります。TERM の
詳細については <ref id="term_var"
name="TERM 変数">をご覧ください。

<!--
If your terminfo data base can't be found you may see an error message
about it on your terminal.  If this happens it's time to check out
where terminfo resides and set TERMINFO if needed.  You may find out
where the terminfo database is by searching for a common terminfo file
such as "vt100" using the "locate" command.  Make sure that your
terminal is in this database.  An example of setting TERMINFO is:
export TERMINFO=/usr/share/terminfo (put this in /etc/profile or the
like).  If the data for your terminal in this data base is not to your
liking, you may need to edit it.  See <ref id="termcap1"
name="Terminfo & Termcap (brief)">.  
-->
terminfo データベースを見つからなければ、端末でそれに関するエラーメッ
セージを探したほうがよいと思います。もしエラーが起っていたら terminfo 
が記録されている場所を調べて、必要なら TERMINFO を設定しましょう。 ``l
ocate'' コマンドを使って、一般的な terminfo ファイルから ``vt100'' の
ような語句を探すことで terminfo データベースがどこにあるか探すことがで
きます。お使いの端末がこのデータベースにあるかどうか確認してみてくださ
い。例えば TERMINFO の設定は export TERMINFO=/usr/share/terminfo とし
ます (/etc/profile かそれに類するファイルに書いておきます)。もしデータ
ベース内の端末データがお気に召さなければ、それを編集する必要があります。
<ref id="termcap1"
name="Terminfo & Termcap (簡易版)">をご覧ください。

<sect2><!-- What is the terminfo name of my terminal ? -->
私の端末の terminfo の名前は何 ? <label id="term_name">
<p>
<!--
 You need the exact name in order to set the TERM environment
variable or to give to <tt/getty/.  The same name should be used by 
both the termcap and terminfo databases so you only need to find it
once.  A terminal usually has alias names but if more than one name is
shown, use the first one.
-->
TERM 環境変数にセットしたり、<tt/getty/ に渡すために正しい名前が必要です。
同じ名前が termcap と terminfo データベースの両方で用いられているので、
一度だけ確認しておく必要があります。普通は端末にはエイリアスがあります
が、二つ以上の名前がある場合は最初のものを使います。

<!--
To find it, try looking at the /etc/termcap... file (if you have it).
If not, then either look at the terminfo trees (see <ref
id="tc_compiled_locs" name=" Compiled database locations">) or try to
find the terminfo source code file (see <ref id="tc_source_loc"
name="Source-code database locations">.
-->
見つけるには、/etc/termcap ファイル (もし存在するなら) で探してみてく
ださい。もしなければ、terminfo ツリー ( <ref
id="tc_compiled_locs" name=" データベースの位置の翻訳">をご覧ください) 
か、terminfo ソースコードファイル (<ref id="tc_source_loc" name="ソー
スコードデータベースの位置">をご覧ください) のどちらかをご覧ください。 

<sect1><!-- Rarely Needed /etc/ttytype File -->
めったに必要ない /etc/ttytype ファイル
<p>
<!--
 The configuration file /etc/ttytype is used to map /dev/ttySn's to
terminal names per terminfo.  tset uses it, but if the TERM environment
variable is already set correctly, then this file is not needed.
Since the Linux getty sets TERM for each tty, you don't need this file.
In other Unix-like systems such as FreeBSD, the file /etc/ttys maps
ttys to much more, such as the appropriate getty command, and the
category of connection (such as "dialup").  An example line of
Linux ttytype: vt220 ttyS1   
-->
設定ファイル /etc/ttytype は、terminfo 毎の端末名称に /dev/ttySn を割
当てるために使います。tset が使っていますが、TERM 環境変数がすでに正し
く設定されているならこのファイルは不要です。Linux の getty は各 tty 毎
に TERM を設定するので、このファイルは不要です。FreeBSD のような Unix 
ライクな他のシステムでの /etc/ttys ファイルは、適切な getty コマンドや、
接続の種類 (``ダイアルアップ'' のような) などより多くの tty にマップし
ます。Linux の ttytype のサンプル行 : vt220 ttyS1

<sect1><!-- Login Restrictions -->ログインの制限<label id="login_restr">
<p>
<!--
 By default, the root user may not login from a terminal.  To
permit this you must create (or edit) the file /etc/securetty per the
manual page "securetty".  But use of this may be be distribution
specific as the Suse distribution doesn't use /etc/securetty.  To
restrict logins of certain users and/or certain terminals, etc. edit
/etc/login.access (this replaces the old /etc/usertty file ??).
/etc/login.def determines if /etc/securetty is to be used and could be
edited so as to make /etc/securetty not needed (or not used).
/etc/porttime restricts the times at which certain ttys and users may
use the computer.  If there are too many failed login attempt by a
user, that user may be prohibited from ever logging in again.  See the
man page "faillog" for how to control this.
-->
デフォルトでは、root ユーザは端末からはログインできません。これを許可
するには、man ページの ``securetty'' により /etc/securetty ファイルを
作成しなければなりません。しかしこれを使うには、Suse などは 
/etc/securetty を使わなかったりするので、ディストリビューションの仕様
によることになります。特定のユーザや端末からのログインを制限するには 
/etc/login.access (これは古い /etc/usertty ファイルを置き換えたもので
す ??) を編集します。/etc/login.def は /etc/securetty が使われるかどう
か、編集可能にするかどうかを決めます。つまり /etc/securetty を不要にす
るか (あるいは使用しないようにするか) を決めるのです。 /etc/porttime 
はあるユーザと端末がコンピュータを使える時間を制限します。ユーザが試み
たログインが何度も失敗したら、そのユーザは再びログインすることを禁じら
れるでしょう。これを設定する方法は man ページ ``faillog'' をご覧ください。

<sect1><!-- Run Command Only If TERM=my_term_type -->
TERM=my_term_type はコマンドだけを実行する
<p>
<!--
 Sometimes there are commands that one wants to execute at start-up
only for a certain type of terminal.  To do this for the stty command
is no problem since one uses the redirection operator < to specify
which terminal the command is for.  But what about shell aliases or
functions?  You may want to make a function for the ls command so it
will color-code the listing of directories only on color terminals or
consoles.  For monochrome terminals you want the same function name
(but a different function body) which will use symbols as a substitute
for color-coding.  Where to put such function definitions that are
to be different for different terminals?
-->
起動時に、特定のタイプの端末だけにコマンドを実行したいことがあります。
 stty コマンドの場合は問題ありません。リダイレクション演算子 < を使っ
て、コマンドの対象となる端末を指定できるからです。しかしシェルのエイリ
アスや関数はどうしましょう ？ 例えば ls 用の関数を作って、ディレクトリ
表示のカラー化を、カラー端末・コンソールだけで行いたいような場合もある
かもしれません。モノクロの端末では、同じ名前の関数 (しかし実体は違う) 
で、カラー表示の代わりにシンボルを使うようにさせたいかもしれません。こ
のような関数定義を、異なる端末に対して異なるように行うには、どこに置く
のが良いのでしょうか ?

<!--
You may put them inside an "if" statement in /etc/profile which runs
at startup each time one logs on.  The conditional "if" statement
defines certain functions, etc. only if the terminal is of a
specified type.  
-->
ログオンする度に起動する /etc/profile の ``if'' 文の中にこれらを書いて
おけば良いのです。条件式 ``if'' は端末が指定したタイプのときだけ特定の
関数などを定義します。

<sect2><!-- Example for ls Function -->コマンド ls の例 <label id="ls_color"> 
<p>
<!--
 While much of what this if statement does could be done in the
configuration file for dircolors, here's an example for the case of
the bash shell:
-->
この if 文が行なうことの多くは dircolors 用の設定ファイル内で実行され
ます。以下は bash シェルの場合のサンプルです。 
<code>
if [ "$TERM" = linux ]; then
    eval `dircolors`;
elif [ "$TERM" = vt220 ]; then
    ls () &lcub command ls -F $* ; &rcub
# to export the function ls():
    declare -xf ls
else echo "From /etc/profile: Unknown terminal type $TERM"
fi
</code>

<sect><!-- Terminfo and Termcap (detailed) -->
Terminfo と Termcap (詳細) <label id="termcap2">

<sect1><!-- Intro to Terminfo -->はじめに
<p>
<!--
 Terminfo (formerly Termcap) is a database of terminal capabilities
and more.  For every (well almost) model of terminal it tells
application programs what the terminal is capable of doing.  It tells
what escape sequences (or control characters) to send to the terminal
in order to do things such as move the cursor to a new location, erase
part of the screen, scroll the screen, change modes, change appearance
(colors, brightness, blinking, underlining, reverse video etc.).
After about 1980, many terminals supported over a hundred different
commands (some of which take numeric parameters).
-->
terminfo (以前は termcap) は端末の能力などについてのデータベースです。
端末の (ほぼ全ての) 型式に関して、端末にどんな能力があるかをアプリケー
ションプログラムに示します。新しい位置へのカーソル移動、画面の一部の削
除、画面スクロール、モード変更、外観の変更 (色、明るさ、点滅、下線、反
転表示など) などのことをするために、端末へ送るエスケープシーケンスを教
えてくれます。1980 年頃から、多くの端末では 100 以上ものコマンド (一部
は数値パラメータをとります) をサポートするようになりました。

<!--
The normal way in which terminfo gives the its information to an
application program is via the "ncurses" functions that a programmer
may put into a C program.  For example if a program wants to move the
cursor to row 3, col 6 it simply calls: move(3,6).  The move()
function (part of ncurses) knows how to do this for your terminal
(it can read terminfo).  So it sends the appropriate escape sequence to
the terminal to make this particular move for a certain terminal.
-->
terminfo がアプリケーションプログラムに情報を与える一般的な方法は、 ``
ncurses'' 関数を使うことで、プログラマは C プログラム内に書くことがで
きます 。例えば、カーソルを 6 行 3 列 の位置へ移動するなら、単に 
move(3,6) と書けばよいのです。move() 関数 (ncurses の一部) は、あなたの端
末でどう働けばよいかを知っています (terminfo データベースを読むから)。
それで、ある端末向けの特定の動作をさせるために、適切なエスケープシーケ
ンスを送るのです。

<!--
The terminfo abbreviations are usually longer than those of termcap
and thus it's easier to guess what they mean.  The manual pages for
terminfo are more detailed (and include the old termcap
abbreviations).  Also, the termcap entries had a size limitation which
is not present for terminfo.  Thus, unless you are already committed
to working with termcap, it's suggested you use terminfo.
-->
通常、terminfo の略語は termcap のものより長めなので、その意味がわかり
易いです。terminfo の man ページにより詳しい説明があります (termcap の
略語も載っています)。また、termcap には terminfo にはないサイズ制限が
あります。したがって、あまり termcap に依存してないのなら、terminfo の
使用をお勧めします。

<sect1><!-- Terminfo Database -->
Terminfo データベース <label id="database">
<sect2><!-- Introduction -->はじめに
<p>
<!--
 The terminfo database is compiled and thus has a source part and a
compiled part.  The old termcap database has only a source part but
this source can, by a single command, be both converted to terminfo
source and then compiled.  Thus you may get by without having any
terminfo source since the termcap source can create the compiled
terminfo database.  To see a display of the database for the terminal
you're now using (including a PC monitor) type "infocmp" and you
should see the source terminfo "file" for it.
-->
terminfo データベースはコンパイルすることにより、オリジナルな部分とコ
ンパイル済の部分とに分かれます。昔の termcap データベースはオリジナル
部分だけですが、コマンドひとつで terminfo 形式への変換と、コンパイルが
実行されます。従って、termcap のソースファイルをコンパイル済 terminfo 
データベースに作り直せるので、terminfo のオリジナルファイルがなくても
よいのです。お使いの端末用 (PC モニタを含む) のデータベースの内容を見
るには、``infocmp'' とタイプしてください。そうすれば、terminfo のソー
ス ``ファイル''をご覧になれます。

<!--
To see if your terminal (say vt100) is in the terminfo data base type
"locate vt100".  If you don't know what your terminal name is, explore
the listing of files in the compiled database or see <ref
id="term_name" name="What is the terminfo name of my terminal ?">
-->
お使いの端末 (vt100 としましょう) が terminfo データベースにあるかどう
かを確認するには、``locate vt100'' とタイプします。端末名がわからなけ
れば、コンパイル済データベース内のファイルリストを探しまわるか、<ref
id="term_name" name="私の端末の terminfo の名前は何 ?"> をご覧ください。

<sect2><!-- Where is the database located ? -->データベースの場所はどこ ?
<sect3><!-- Compiled database locations -->
コンパイル済データベースの場所 <label id="tc_compiled_locs">
<p>
<!--
 Typing "locate vt100" may show /usr/lib/terminfo/v/vt100,
/usr/share/terminfo/v/vt100, /home/you/.terminfo/v/vt100, and/or
/etc/terminfo/v/vt100.  All these are possible locations of the
compiled terminfo files.  Although the /etc/terminfo directory is not
a standard location for it, having a few terminal types there could be
useful in case the /usr directory is not accessible.  For example /usr
could be on a separate disk or partition that failed to mount.
Normally, programs that use your main terminfo data base are able to
find it if it's in at least one of the locations mentioned above.
Otherwise the environment variable TERMINFO may be set to the path to
this database.  Example: TERMINFO=/usr/share/terminfo
-->
``locate vt100'' とタイプすれば、/usr/lib/terminfo/v/vt100,
/usr/share/terminfo/v/vt100, /home/you/.terminfo/v/vt100、あるいは
 /etc/terminfo/v/vt100 と表示されます。これらは全て、コンパイル済 
terminfo ファイルを格納するのに適切な場所です。/etc/terminfo ディレク
トリは標準的な格納場所ではありませんが、/usr ディレクトリへのアクセス
ができない場合に便利です。例えば /usr ディレクトリが、マウントに失敗し
た分割ディスクやパーティションにあった場合などに。上記の場所のどれか一
つにメインの terminfo データベースがあるなら、プログラムは探しあてるこ
とができます。さもなければ、環境変数 TERMINFO にはこのデータベースへの
パスをセットします。例えば、TERMINFO=/usr/share/terminfo のように。

<!--
If the compiled terminfo is in more than one location, everything is
usually OK until someone gets a new terminfo file(s) (from a newer
distribution, from the net, by editing the old one, etc.).  The newer
terminfo needs to be put in all the existing locations (or redundant
locations need to be abolished).  If you don't ensure this gets done,
then some application programs could wind up still finding and using the
old (and buggy) terminfo data that sill exists in a "usual" location.
Setting the environment variable TERMINFO to the up-to-date location
(as mentioned above) may help avoid this problem.
-->
コンパイル済 terminfo が二箇所以上にある場合、誰かが新しい terminfo フ
ァイル を (新しくなったディストリビューションやネット上から、あるいは
古いものを修正することなどで) 入手するまでは普通は問題ありません。新し
い terminfo は既存の場所にある全てのファイルと置き換える (あるいは、余
分な場所のは削除する) 必要があります。そうしなければ、アプリケーション
プログラムはそれを探しまわったり、``通常の'' 場所に残っている古い (バ
グありの) terminfo データをあいかわらず使い続けることになります。(上記
の) 場所情報を最新のものにするための環境変数 TERMINFO の設定はこの問題
を防ぎます。

<sect3><!-- Source-code database locations -->
ソースコードデータベースの場所 <label id="tc_source_loc">
<p>
<!--
 The source code you use may reside in /etc/termcap and/or in
terminfo.src (or another name).  See the man pages: terminfo(5) or
termcap(5) for the format required to create (or modify) these source
files.  The file terminfo.src may be in various locations on your
computer or it may not be included with your Linux distribution.  Use
the locate command to try to find it.  It is available for downloading
(under the name termtypes.ti) from <url
url="http://sagan.earthspace.net/terminfo">
-->
あなたがお使いのソースコードは /etc/termcap か terminfo.src (別な名前
かも) にあるはずです。このソースファイルを生成 (または修正) するのに必
要なフォーマットは man ページの terminfo(5) か termcap(5) をご覧くださ
い。terminfo.src ファイルはコンピュータ内のいろんな場所にあるか、ある
いはお使いの Linux ディストリビューションには含まれてないかもしれませ
ん。locate コマンドで探してみてください。このファイルは <url
url="http://sagan.earthspace.net/terminfo"> から (termtypes.ti の名前
で) ダウンロードできます。

訳注 : 2000 年 2 月時点でダウンロードできませんでした。

<sect2><!-- Terminfo Compiler (tic) -->
Terminfo コンパイラ (tic) <label id="tic">
<p>
<!--
 The data in the source files is compiled with the "tic" program
which is capable of converting between termcap format and terminfo
format.  Thus you can create a compiled terminfo data base from
termcap source.  The installation program which was used to install
Linux probably installed the compiled files on your hard disk so you
don't need to compile anything unless you modify /etc/termcap (or
terminfo.src ).  "tic" will automatically install the resulting
compiled files into a terminfo directory ready to be used by
application programs.
-->
ソースファイルのデータは、termcap フォーマットから terminfo フォーマッ
トに変換する ``tic'' プログラムを使ってコンパイルします。これで 
termcap のソースからコンパイル済の terminfo データベースを生成できるのです。
おそらく、Linux をインストールするプログラムがコンパイル済ファイルをハ
ードディスクにインストールしてあるでしょうから、/etc/termcap (もしくは
 terminfo.src) を変更しない限り、コンパイルする必要はありません。 
``tic'' はコンパイル後に、アプリケーションプログラムが使うであろう 
terminfo ディレクトリにコンパイル済ファイルを自動でインストールします。

<sect2><!-- Look at Your Terminfo -->
Terminfo を見なさい <label id="infocmp">
<p>
<!--
 It's a good idea to take a look at the terminfo entry for the
terminal you are using (source code of course) and read the comments.
A quick way to inspect it without comments is to just type "infocmp".
But the comments may tell you something special about the terminal
such as how you need to set it up so that it will work correctly with
the terminfo database.
-->
ご使用の端末の terminfo エントリを調べて、コメント (もちろんソースコー
ド内) を読むのもいい考えです。コメントに頼らない手っ取り早い方法は、
``infocmp'' とタイプすることです。しかし、コメントには terminfo データ
ベースが正しく働かない場合に、それを設定する方法などの端末に関する特別
な情報を教えてくれます。

<sect2><!-- Deleting Data Not Needed -->不要なデータの削除
<p> 
<!--
 In order to save disk space, one may delete all of the database
except for the terminals types that you have (or might need in the
future).  Don't delete any of the termcaps for a "Linux terminal" (the
console) or the xterm ones if you use X-Windows.  The terminal type
"dumb" may be needed when an application program can't figure out what
type of terminal you are using.  It would save disk space if install
programs only installed the terminfo for the terminals that you have
and if you could get a termcap for a newly installed terminal over the
Internet in a few seconds.
-->
ディスクスペースを節約するために、使用する端末タイプ (と将来必要かもし
れないもの) 以外の全てのデータをデータベースから削除します。``Linux 端
末'' と X Windows System を使うなら xterm 関係 (訳注：日本版なら kter
m) のエントリを termcaps から消してはいけません。端末タイプ ``dumb'' 
はアプリケーションプログラムが端末のタイプを特定できない時に必要です。
あなたがお持ちの端末だけをインストールプログラムでインストールしたり、
新しく追加した端末の termcap をインターネットから数秒で入手できる場合
もディスクの節約になります。

<sect1><!-- Bugs in Existing Terminfo Files (and Hardware) -->
既存の Terminfo ファイル (とハードウェア) 内のバグ
<p>
<!--
 Unfortunately, there are a number of bugs in the terminfo and
termcap files.  In addition, many of these definitions are incomplete
and do not define certain features available on the terminals.
Sometimes you can get by without modifying the terminfo but in other
cases you need to modify it or possibly use another emulation that has
a good terminfo.
-->
残念ながら terminfo と termcap ファイルにはバグが多くあります。さらに
定義の多くに不備があり、端末で利用できるはずの特徴を定義していません。
terminfo を変更せずになんとかやっていくことができますが、ある場合には、
terminfo を変更したり、可能なら、良好な terminfo と一緒に別なエミュレ
ーションを使う必要があります。

<!--
The sad state of the supplied terminfo files is due to a number of
reasons.  One is that during the 1980's when many of them were written
(often in termcap format), application programs did not utilize more
advanced terminal features.  Thus if such feature were not in the
termcap (or terminfo) file, no one complained.  Today, programs such
as vim use "context highlighting" and minicom uses the terminal's
graphics character set.  These often need more definitions to be added
to the old termcap.  This may (or may not) have already been done.
-->
提供される terminfo ファイルがひどい状態なのは、いくつか理由があるので
す。一つは、terminfo ファイルの多くが 1980 年代に (termcap フォーマッ
トで) 書かれたもので、アプリケーションプログラムがその高度な機能を利用
しなかったためです。それで、そんな機能が termcap (または terminfo) フ
ァイルになくても誰も文句を言いませんでした。現代では、vim のようなプロ
グラムが ``文脈強調'' を使ったり、minicom などは端末のグラフィックキャ
ラクターセットを使ったりします。このことは、古い termcap に加えられる
べき定義がもっと必要であることを意味します。これはすでに実行されている
はずです (まだかもしれない)。

<!--
Most terminals had hardware bugs (in their firmware) and sometimes
they were "fixed" by modifying the termcap.  Then the manufacturer
might send out replacement chips which would fix the bug.  Not all
owners would bother to get the replacement chips.  Thus there may be 2
or more terminfos for your terminal, depending on what firmware chips
it has in it.  This situation was often not noted in the termcap and
only one termcap may be supplied with Linux.  Some hardware bugs which
existed for features that were almost never used in the past likely
never did get fixed.  Also, some reported hardware bugs may never have
been fixed since they were not of much significance at the time or
because the company went out of business, etc.
-->
ほとんどの端末には (ファームウェアに起因する) ハードウェアバグがあって、
時々は termcap を変更することでバグを ``修正'' しました。それから、メ
ーカがこのバグを修正する交換用のチップを送ることがあります。端末所有者
の全員がチップの置き換えに悩むわけではありません。端末にはチップのファ
ームウェアに依存している 2 つ以上の terminfo があるからです。この状況
は termcap ではほとんど考慮されておらず、Linux ではただ一つだけ対応し
ています。これまでほとんど使われたことがない機能に関するハードウェアバ
グは、けっして修正されませんでした。ハードウェアのバグがけっして修正さ
れなかったのは、当時はたいした問題ではなかったか、メーカのビジネス上の
理由などによるとの報告もあります。

<sect1><!-- Modifying Terminfo Files -->Terminfo ファイルの修正
<p>
<!--
 To do this you need a manual for your terminal showing what escape
sequences it uses.  Newer manuals from the 1990's often don't show
this.  You also need a terminfo manual (or the like).  For example, in
order to add graphic capability you must assign values to the terminfo
variables: enacs, rmacs, and smacs by editing a source file.  Then by
using "tic" you may compile it.  "tic" should automatically put the
compiled terminfo file in the correct directory reserved for it.
-->
こうするには、端末で使用できるエスケープシーケンスが載ったマニュアルが
必要です。1990 年代以降のマニュアルにはほとんど記載がありません。それ
と、terminfo のマニュアル (か、それに類するもの) も必要です。例えば、
グラフィックスの能力を加えるには、ソースファイルを編集して、enacs、
rmacs、smacs などの terminfo 変数に値を割り付けなければなりません。それ
から ``tic'' でコンパイルします。``tic'' はコンパイル済の terminfo フ
ァイルを予約された正しいディレクトリにコピーします。

<!--
If you would like to find a better terminfo entry for a certain terminal
than the one supplied, you might try searching the Internet (but what
you find may be worse).  If your new terminfo entry is better than the
old one and it seems stable (you've used it for a while with no
problems) then you should send a copy to the maintainer of terminfo as
noted at the start of the source file for terminfo (or termcap).  
-->
ある端末用に準備された terminfo エントリより良いものを見つけたければ、
インターネットを検索してみてください (但し、さらに悪いものかもしれませ
ん)。新しい terminfo エントリが古いものより安定してると思われる (しば
らく使ってみて問題ない) なら、terminfo (または termcap) のソースファイ
ルの最初のほうに書いてあるメンテナにコピーを送るべきです。

<sect1><!-- Init String -->初期化文字列<label id="init_string">
<p>
<!--
 Included in the terminfo are often a couple of initialization
strings which may be sent to the terminal to initialize it.  This may
change the appearance of the screen, change what mode the terminal is
in, and/or make the terminal emulate another terminal.  An
initialization string is not automatically sent to the terminal to
initialize it.  One might expect that the getty program should do this
but if it did, one could make a change to the set-up at the terminal
and this change wouldn't be implemented because the init string would
automatically cancel it.  You must use a command given on the command
line (or in a shell script) to send the init string such.  Such
commands are: "tset", "tput init", or "setterm -initialize".
Sometimes there is no need to send the init string since the terminal
may set itself up correctly when it is powered on (using
options/preferences one has set up and saved in non-volatile memory of
the terminal).
-->
terminfo には、端末へ送られる初期化文字が含まれています。これは、画面
表示の変更、端末モードの変更、そしてまた端末エミュレーションを他の端末
への変更を行ないます。初期化文字は、初期化のために端末に自動的に送られ
るわけではありません。getty プログラムがそうすればいいと思うかもしれま
せんが、もしそうしたら、端末のセットアップした設定を変更したり、設定内
容を初期化文字が自動的に取り消してしまいます。コマンド行 (もしくは、シ
ェルスクリプト) から初期化文字を送るコマンドを使わなければなりません。
これには、 ``tset'', ``tput init'', あるいは ``setterm-initialize'' な
どのコマンドがあります。端末は電源が入ったときにそれ自身で正しい設定を
行なうこともあるので、そういった時は初期化文字を送る必要はありません 
(このとき、設定して端末の不揮発メモリに保存されたオプション設定が用い
られます)。

<sect1><!-- TERM Variable -->TERM 変数 <label id="term_var">
<p>
<!--
 The Environment variable TERM should be set to the name of
terminal which you are using.  If TERM hasn't been set yet and you
don't know the name of your terminal see <ref id="term_name"
name="What is the terminfo name of my terminal ?">.  It is normally
set by the terminal_type parameter passed to the getty program (look
at it in the /etc/inittab file).  This name must be in the Terminfo
data base.  Just type "set" at the command line to see what TERM is
set to (or type: tset -q).  At a console (monitor) TERM is set to
"linux" which is the PC monitor emulating a fictitious terminal model
named "linux".  Since "linux" is close to a vt100 terminal and many
text terminals are also, the "linux" designation will sometimes work
as a temporary expedient with a text terminal.
-->
環境変数 TERM には使用する端末の名称を設定すべきです。まだ設定していな
くて、使ってる端末名を知らないなら<ref id="term_name"
name=" 私の端末の terminfo の名前は何 ?">をご覧ください。通常は getty 
プログラムに渡す terminal_type パラメータで設定します (/etc/inittab ファ
イルをご覧ください)。この名前は terminfo データベースにあるものにして
ください。コマンド行で ``set'' とタイプすれば (あるいは tset -q)、 
TERM に何が設定されているのかわかります。コンソール (モニタ) での TERM 
は ``linux'' で、これは架空の端末タイプ ``linux'' をエミュレートする 
PC モニタです。``linux'' は vt100 や多くのテキスト端末にも似ているので、
``linux'' の指定は、テキスト端末として使う場合の一時的な手段です。

<!--
If more than one type of terminal may be connected to the same port
(/dev/tty...) (for example, if there is a switch to permit different
terminal types to use the same serial port, or if the port is
connected to a modem to which people call in from different types of
terminals) then TERM needs to be set each time someone connects to the
serial port.  There is often a query escape sequence so that the
computer may ask the terminal what type it is.  Another way is to ask
the user to type in (or select) the type of terminal s/he is using.
You may need to use tset for this or write a short shell script to
handle this.
-->
同じポート (/dev/tty...) に複数のタイプの端末が接続する (例えば、
同じシリアルポートで違うタイプの端末を切り換えたり、違ったタイプの端末
を使う人達が、モデムで接続したりする) なら、TERM は誰かが接続する度に設定し
直す必要があります。これは使用する端末名をコンピュータが問合せる方法で
行われます。別な方法は、ユーザに対して、彼か彼女が使用している端末のタ
イプを入力 (または選択) してもらうよう求めることです。これには tset を
使ったり、短いシェルスクリプトを書く必要があります。

<label id="tset">
<!--
One way to do this is to use "tset" (see the manual page).  tset tries
to determine the terminal name of the terminal you are using.  Then it
looks up the data in terminfo and sends your terminal an init string.
It can also set the value of TERM.  For example, a user dials in and
logs in.  The .profile login script is executed which contains within
it the following statement: eval `tset -s ?vt100`.  This results in:
The user is asked if s/he is using a vt100.  The user either responds
yes or types in the actual terminal type s/he is using.  Then tset
sends the init string and sets TERM to this terminal name (type).
-->
一つの方法は ``tset''(man ページをご覧ください) を使うことです。tset 
は使用する端末のタイプを決定しようとします。terminfo 内のデータを検索
し、初期化文字を端末に送ります。また、TERM 変数の値も設定できます。例
えば、ユーザがダイアルインしたり、ログインしたときなどに。.profile ロ
グインスクリプトには eval `tset -s ?vt100` が含まれています。この結果、
彼または彼女が使っているのは vt100 かどうか尋ねることになります。ユー
ザは yes と答えるか、実際に使っている端末名を入力することになります。
それから tset は、端末に初期化文字を送ったり、端末名 (タイプ) を TERM 
に設定するのです。

<sect1><!-- Terminfo/Termcap Documents -->
Terminfo/Termcap 文書 <label id="termcap_docs">
<p> 
<!--
<itemize> <item>
<item> manual pages for terminfo(5) (best) and/or termcap(5).
<url url="http://www.delorie.com/gnu/docs/termcap/termcap_toc.html"
 name="The Termcap Manual"> (2nd ed.) by Richard M. Stallman is a GNU
 manual which is somewhat obsolete since it doesn't include terminfo.
<item> the files: terminfo.src and
 /etc/termcap have info about various versions of termcap files,
 naming conventions for terminals, and special capabilities code named
 u6-u9. If you don't have one, go to <url
 url="http://sagan.earthspace.net/terminfo"> 
<item> "Termcap and Terminfo" is a book published by O'Reilly in 
 1988.
</itemize>
-->
<itemize> <item>
<item> man ページの terminfo(5) (最良) 、あるいは termcap(5)。
Richard M. Stallman による GNU マニュアル <url 
url="http://www.delorie.com/gnu/docs/termcap/termcap_toc.html"
 name="The Termcap Manual"> (2nd ed.) は、terminfo 
についての記載がないので少しばかり遅れてます。
<item>terminfo.src と /etc/termcap ファイルには、termcap ファイルの各種バー
ジョン、端末の便利な名称、それに、u6-up と呼ばれる特別な能力についての
情報があります。お持ちでないなら、<url
 url="http://sagan.earthspace.net/terminfo"> から入手できます。
<item> ``Termcap and Terminfo '' が 1988 年に O'Reilly から 出版されました。 
</itemize>

<sect><!-- Using the Terminal -->端末の使用

<sect1><!-- Intro to Using Terminal -->はじめに
<p>
<!--
 This section is about controlling the terminal-computer interface
and/or changing the terminal set-up while using the terminal.  It
explains (or points to explanations of) how the user of a terminal can
control and inspect the interface and how to use various commands
provided by the device driver.  It does not explain how to use the
many application programs, shells or most Linux utilities.  Two
commands commonly used at the terminal are:
-->
本章では端末インターフェースの制御に関することや、端末を使いながらセット
アップを変更することなどについて述べます。端末のユーザによる画面制御や
インターフェースの検査方法、また、デバイスドライバが提供する各種コマン
ドの使い方について説明します (またはポインタを示します)。たくさんある
アプリケーションプログラム、シェル、または豊富な Linux ユーティリティ
の使い方については触れません。端末で普通に使われる 2 つのコマンドを示
します。 

<!--
<itemize>
<item> clear (to clear the screen)
<item> reset (to reset the terminal
<item> setterm -reset (alternative for "reset" in case of bug)
</itemize>
-->
<itemize>
<item> clear (画面をクリアする) 
<item> reset (端末をリセットする) 
<item> setterm -reset (``reset'' にバグがある場合の選択) 
</itemize>

<sect1><!-- Starting Up the Terminal -->端末の起動
<p>
<!--
 Of course the power must be on for the terminal to work.  If you
don't see a login prompt hit the "return" (or "enter") key a few times.
Then type your account name (followed by a return/enter) and your
password when prompted for it (also followed by return/enter).  Make
sure not to type all capital letters.  If you do, the computer may
think that you have an old terminal that can't send lowercase letters
and the serial driver may set itself up to send only capital letters
to the terminal.
-->
端末を動作させるには、もちろん電源を入れなければなりません。ログインプ
ロンプトが現れなければ、何度か ``Return'' キーを叩いてみてください。そ
れから、アカウント名をタイプして (そして Return か Enter を押す)、パス
ワードプロンプトが現れたらパスワードを入力します (これもまた、Return 
か Enter を押す)。全て大文字でタイプしないようにしてください。そうする
と、コンピュータは、端末が小文字を送れない古いタイプのものだと思って、
シリアルドライバは端末に大文字だけを送るように設定するでしょう。

<!--
If nothing happens, make sure that both the host computer and the
terminal are OK.  If the host computer is shut down (no power) what
you type at the terminal keyboard may appear on the screen since the
transmit and receive pins at the computer may be connected together
resulting in echoing of characters by an "off" computer.  If you can't
log in when the host computer is running, see <ref id="trouble-shoot"
name="Trouble-Shooting">.
-->
何も起こらなければ、ホストコンピュータと端末が正常かどうかチェックして
ください。ホストコンピュータがシャットダウン (電源オフ) していると、``
 電源オフ'' のコンピュータ側で文字をエコーするようにコンピュータの送受
信ピンが一緒に接続されている場合がありますので、端末のキーボードでタイ
プした文字は画面上に現れるかもしれません。<ref id="trouble-shoot"
name="トラブルシューティング">をご覧ください。

<sect1><!-- Terminal (Serial) Device Driver -->端末 (シリアル) デバイスドライバ
<p>
<!--
 When typing at the command line, the shell (such as the Bash
shell) is reading what you type and reacting to it.  What you type
first passes thru the terminal driver part of your operating system.
This driver may translate certain characters (such as changing the
"return" character generated by the "return" key into a "new-line"
character for Linux files).  It also recognizes certain control codes
which you may type at the keyboard such as ^C to interrupt the
execution of a program.  It also normally echoes what you type back to
the display.   <ref id="stty_" name="Stty"> may be used to configure
how this terminal driver behaves, including disabling some (or all) of
its functionality.
-->
コマンドライン上でタイプしたときに、シェル (Bash シェルのような) はタ
イプした文字を読み、それに反応します。最初にタイプしたものは、オペレー
ティングシステムの端末ドライバ部分へ送られます。ドライバは決った文字へ
変換します (例えば、Return キーで生成される ``Return'' 文字は、Linux 
ファイル内にある ``new-line'' 文字に置き換わる)。それはまたある制御コ
ードも認識します。プログラムの実行を中断するために、^C をキーボードで
タイプしたような場合です。そして普通はタイプした文字をエコーバックした
りもします。<ref id="stty_" name="Stty"> は端末用のドライバの動作を設
定する (機能の一部や全部) を設定したり、無効にするために使います。

<sect1><!-- Problems with Editors -->エディターの問題
<p>
<!--
 There may be some problems with using both emacs and vi on some
terminals.
-->
いくつかの端末で emacs と vi の両方を使うには少々問題があります。

<sect2><!-- emacs and ^S, ^Q --> emacs と ^S, ^Q
<p>
<!--
 If software flow control exists, then the ^S command in emacs will
freeze the display.  The ^Q command will unfreeze the display.  The
fix is to map this to another key-press by configuring emacs that way.
-->
ソフトウェアフロー制御を行なっているなら、emacs で ^S コマンドを使うと
画面が固まるでしょう。^Q コマンドはそれを解除します。これを避ける方法
は、emacs の構成を変更して、このキーを他のキーに割り当て直すことです。

<sect2><!-- vi and Cursor-Keys -->
vi とカーソルキー <label id="vi_k_keys">
<p>
<!--
 Vi uses the esc-key as a command to exit insert mode.  If one hits
an arrow-key (cursor-key) an escape sequence (starting with the ESC
character) is sent to the host.  Vi must distinguish between these two
meanings of ESC.  A smart vi (such as vim if configured for it) is
able to detect the difference by noting the time between the ESC and
the next key.  If it's a short time, then it's likely that a cursor
key was pressed.  Use "help cursor-keys" in vim to find out more.
-->
vi はインサートモードから抜けるためのコマンドとしてエスケープキーを使
います。矢印キー (カーソルキー) を押せば、エスケープシーケンス (ESC で
初まる文字列) がホストに送られます。vi は ESC の 2 つの意味を区別しな
ければいけません。利口な vi (このために設定された vim などの) は ESC 
と次のキーの時間間隔によって見分けることができます。もし間隔が短かけれ
ばカーソルキーが押されたと判断します。さらに詳しいことを知りたければ、
 vim で ``help cursor-keys'' を使ってください。

<!--
Here's another way to fix this.  On VT terminals the left-arrow-key
may be either set to send ESC [ D or ESC O D.  The other arrow keys
are similar but use A, B, and C instead of D.  If you're having
problems, choose ESC [ D since the "O" in the other alternative could
be interpreted by vi as a command to "Open a line".  The "[" should be
interpreted by vi to mean that an arrow-key has been pressed.  ESC [ D
will be sent provided "Cursor Key Application Mode" has not been set.
ESC [ D is normally the default so everything is seemingly OK.  Except
that many termcaps contain a string (not the init string) which sets
what you want to avoid: "Application Mode".  Editors may send this
string to the terminal when the editor starts up.  Now you are in
trouble.
-->
これは上記の問題を解決するまた別な方法です。VT 端末で左矢印キーは ESC 
&lsqb D か ESC O D のどちらかを送ります。他の矢印キーは同じようなものです
が、D の代りに A、B、C を使います。もし問題があれば、ESC &lsqb D を選択し
てください。というのは、他の手段で ``O'' は、vi で ``Open a line'' コ
マンドとして解釈されるからです。``&lsqb'' は、viでは矢印キーが押されたと解
釈されるはずです。ESC &lsqb D は、``カーソルキー アプリケーションモード'' 
が設定されていないとき、送られるでしょう。ESC &lsqb D は、通常はデフォルト
なので、全てうまくいくはずです。多くの termcap に含まれる ``アプリケー
ションモード'' を防止したい文字を除いては。エディターは起動時に端末に
対してこの文字列を送ります。それで問題が起こるのです。

<!--
This string has the termcap code "ks" (smkx in terminfo) meaning
enable the function (and related) keys (including the arrow keys).  An
application enables these keys by sending the "ks" string to the
terminal.  Whoever wrote the termcap reasoned that if an application
wants to enable these keys, then they should be put into "Application
Mode" since this is an "application", but you don't want this.
-->
この文字列は termcap コード ``ks'' (terminfo では smkx) があり、それは
ファンクション (それと相対) キー (と矢印キーを含む) を有効にするという
意味です。アプリケーションはこれらのキーを有効にするために、``ks'' 文
字を端末へ送ります。誰かが termcap を書いたのは、アプリケーションがこ
れらのキーを有効にしたいなら、``アプリケーションモード'' に移行すると
いう理由からなんですが、これは ``アプリケーション'' の話であって、あな
た望んでそうするわけではありません。

<!--
The Linux console has no "ks" string so you can't fall into this trap
at the console.  For other terminals you may need to edit the termcap
(or terminfo) or use another termcap entry.  You need to change not
only the "ks" string but also the termcap definitions of what they
send: kd, kl, kr, ku.  Then run tic to install it.   
-->
Linux コンソールには ``ks'' 文字がないので、コンソール上でこの落し穴に
引っかかることはありません。他の端末では、termcap (あるいは terminfo) 
の編集か、他の termcap エントリの使用が必要になるでしょう。``ks'' 文字
以外に、kd, kl, kr, ku などの送信する文字を termcap で宣言する必要があ
ります。それから tic でインストールします。

<!--
For vim (vi iMproved) there is a way to set it up to work OK with ESC
O D (so you don't need to edit termcap): See vim help for
"vt100-cursor-keys".  You may run "gitkeys" and then press your cursor
keys to see what they send but they may be set to send something
different when you're in an editor.
-->
vim (vi の改良版) で、ESC 0 D がうまく動くようにセットアップする方法
は、vim のヘルプ ``vt100-cursor-keys'' をご覧ください。``gitkeys'' と
使えば、カーソルキーを押したときに何が送られてるか確認できますが、エデ
ィタの中から実行したときは、違ったものを送るかもしれません。

<sect1><!-- Color ls Corruption --> ls での間違った色表示
<p>
<!--
 If <tt/ls/ is corrupting your terminal emulation with the color
feature, turn it off.  <tt/ls &#045;&#045;color/, and <tt/ls &#045;&#045;colour/ all use
the color feature.  Some installations have <tt/ls/ set to use color
by default.  Check <tt>/etc/profile</tt>, etc.  for <tt/ls/ aliases.
See <ref id="ls_color" name="Example for ls Function"> for how to
have <tt/ls/ do color for the console and do monochrome for terminals.
-->

ls がカラー機能をエミュレートしようとして端末をおかしくさせてるなら、
その機能をオフにしましょう。<tt/ls &#045;&#045;color/ と 
<tt/ls&#045;&#045;colour/ はどちらもカラー機能を使います。インストール
の種類によっては、<tt/ls/ がデフォルトでカラーを使うように設定してあり
ます。<tt/ls/ のエイリアスがないかどうか <tt>/etc/profile</tt> などを
調べてみてください。コンソールでのカラーの使い方や、端末を白黒で使う方
法については<ref id="ls_color" name="コマンド ls の例">をご覧ください。

<sect1><!-- Display Freezes (hung terminal) -->固まった表示 (端末のハング)
<p>
<!--
 The symptom of a hung terminal is where what you type doesn't display
on the terminal (or in some cases displays but doesn't do anything).
If what you type is invisible (or does nothing) type ^Q to restart flow 
(if flow control stopped it).  Hanging may also be due to:<newline>
<ref id="sent_bin" name="Sent Terminal Binary"> or 
<ref id="abnormal_exit" name="Abnormally Exited a Program"><newline>
If you didn't do any of these two, then your program could by buggy or
you interaction with it fatally illegal.
-->
端末がハングする徴候は、端末上でタイプしたものが見えない (あるいは、何
もしないのに文字が表示される) という点です。もしタイプしたものが見えな
ければ (あるいは何もしなければ)、データフローを再開するために ^Q とタ
イプしてください (フロー制御での停止の場合です)。端末がハングするのは、
<newline>
<ref id="sent_bin" name="端末へバイナリを送ること"> や、<ref
id="abnormal_exit" name="プログラムが異常終了したこと">が原因です。<newline>
どちらにも該当しないなら、あなたのプログラムにバグがあるか、端末との対
話が致命的に不正であるかのどちらかです。

<!--
If you want to quit the program you were running and you can't do it
by the usual methods (some programs have special keys you must hit to
exit) then try killing it from another terminal using "top" or "kill".
If the process refuses to die, you may try sending it signal 9 from
top which should force it to exit.  The "9" type of forced exit may
leave some temporary files lying around as well as a corrupted
interface.  Killing the login shell should result in a startup of
getty with a new login prompt.
-->
実行中のプログラムを止めたいけど、普通の方法 (いくつかのプログラムは、
特別なキーを叩くと終了します) で止められないなら、他の端末から ``top''
 か ``kill'' を使って終了させてみましょう。プロセスに終了するのを拒否
された場合、top から シグナル 9 を送信して強制終了させてみましょう。強
制終了のタイプ ``9'' は、おかしくなったインタフェースと同様にそこら辺
にあるテンポラリファイルを放りっぱなしにします。ログインシェルを kill 
しても、getty がまた起動して、新しいログインプロンプトが表示されるはず
です。

<label id="ctrl_s">
<!--
People new to Linux may unintentionally press Ctrl-S (^S) (or the "No
Scroll" key) which mysteriously freezes the screen (although that is
what this key is supposed to do if you use software flow-control).  To
restore normal screen interaction, press Ctrl-Q (^Q).  Note that
everything typed during the "freeze" gets executed but you don't see
any report of this until you hit ^Q.  Thus when it's frozen, don't
type anything drastic that might destroy files, etc.  One argument for
using hardware flow-control is to prevent such freezes.
-->
Linux を使い初めたばかりの人達は Ctrl-S (^S) (または ``スクロール停止'' 
キーを無意識に押してしまい、謎の画面フリーズ騒ぎを起こします (けれど
も、ソフトウェアフロー制御を使うなら、このキーが何であるか推測できま
す)。まともに対話できる画面に戻すには、Ctrl-Q (^Q) を押します。従って
フリーズしたときに、何でもキーをタイプすると、ファイルやなにかを壊すこ
とになるでしょう。ハードウェアフロー制御を使う理由のひとつが、このよう
な、画面フリーズを防止するためです。

<sect1><!-- Corrupted Terminal Interface -->
おかしくなった端末インターフェース <label id="corrupt_interface">
<p>
<!--
 This includes the case of a "frozen display" = "hung terminal" of
the previous section.
-->
ここでは、前ページの ``端末のハング'' と ``画面のフリーズ'' が混在した
ケースについての話です。

<sect2><!-- Symptoms and Some Fixes -->
徴候といくつかの修正 <label id="symptoms_">
<p>
<!--
 When the display doesn't look right, or when what you type doesn't
display correctly (if at all), or nothing happens when you type a
command, you may have a corrupted terminal interface.  In rare cases
when the serial port hardware gets itself corrupted, the only fix may
be to cycle power (turn off the PC and reboot).  Sometimes logging in
again will solve the problem.  To do this kill the shell process
running on the terminal (or kill getty if it's running).  You do this
from another terminal.  Once killed, a new getty process respawns
which hopefully will end the corruption.  Recycling power (or
resetting) for the terminal may help too.
-->
表示が正しく見えなくなる、タイプした文字が正しく表示されない (せいぜ
い) 、あるいは、コマンドをタイプしても何も起こらないときに、端末インタ
ーフェースがおかしくなってるはずです。時々、再度ログインし直すことで問
題を解決できます。こうするには、端末で動いている shell プロセスを kill
 します (あるいは、getty が動いていたら kill する)。他の端末からこれを
行います。一度 kill したら、新しい getty プロセスが起動しなおして、多
分画面の乱れはおさまってるはず。端末の電源を入れ直す (あるいはリセット
する) ことでも直るかもしれません。

<!--
The corruption may be due to things such as bug in the program you're
using, a hardware failure (including an obscure hardware defect that
you can normally live with), or possibly an incorrect configuration.
If everything was working normally but it suddenly goes bad, it may be
that the interface got corrupted by something you did.  Three mistakes
you might have made to corrupt the interface are: 

<itemize> 
<item> <ref id="sent_bin" name="Sent Terminal Binary">
<item> <ref id="abnormal_exit" name="Abnormally Exited a Program"> 
<item> <ref id="ctrl_s" name="Typed ctrl-S by mistake"> 
</itemize>
-->
おかしくなる現象は、使用するプログラムのバグやハードウェアの故障 (通常
は使えているのに原因不明の故障)、あるいは間違った設定などです。もし順
調に動いていたのに突然不調になったのなら、あなたが何かしでかしたために
インターフェースがおかしくなったのです。インターフェースをおかしくさせ
る要因は 3 つあります。

<itemize> 
<item> <ref id="sent_bin" name="端末にバイナリキャラクタを送る">
<item> <ref id="abnormal_exit" name="異常終了したプログラム"> 
<item> <ref id="ctrl_s" name="誤って ctrl-S をタイプする"> 
</itemize>

<sect2><!-- Sent Terminal Binary Characters -->
端末にバイナリキャラクタを送る<label id="sent_bin">
<p>
<!--
 Your terminal will change its characteristics if sent certain
escape sequences or control characters.  It you inadvertently try to
display a binary file, it might by chance contain such sequences which
may put your terminal into some strange mode of operation or even make
it unusable.  Always view or edit a binary file with programs designed
for that purpose so that this doesn't happen.  Most editors and pagers
will handle binary OK so as not to corrupt the interface.  Some may
display a message telling you that they can't edit binary.  But using
"cat ...." or "cp .... /dev/tty.." where .... is a binary file, will
send the binary to the terminal and likely corrupt things.
-->
あるエスケープシーケンスか制御文字が送られると、端末はその特性を変えま
す。うっかりバイナリファイルを表示しようとして、その中に偶然そのような
エスケープシーケンスが入っていたら、端末をおかしな操作モードにしてしま
ったり、使用不能にさえしてしまうかもしれません。このようなことが起こら
ないよう設計されたプログラムを使っていつもバイナリファイルを見たり、編
集するようにしなさい。ほとんどのエディタやページャはバイナリを扱えるの
で、端末のインタフェースをおかしくさせることはないでしょう。いくつかの
アプリケーションは「バイナリを編集できない」とあなたに伝えるメッセージ
を表示するかもしれません。でも、``cat ....'' や ``cp .... /dev/tty..''
 (.... はバイナリファイル) を使うと、バイナリを端末に送ることになり、
 おかしなことが起こるでしょう。

<!--
Corruption it can also happen when using a communications program where
a remote computer may send binary to your screen.  There are numerous
other ways it can happen so be prepared for it.  Even a supposed ASCII
file may contain unwanted control codes.
-->
おかしなことは、通信プログラムを使ってリモートコンピュータがあなた
の画面にバイナリを送りつける時も起こり得ます。そのことに準備してお
く多くの方法があります。想定できる ASCII ファイルでさえ、求めていない
制御コードを含んでいるかもしれません。

<!--
To fix this problem reset the terminal.  Type either just "reset" (may
be broken) or "setterm -reset" (followed by a &lt;return&gt of
course).  You may not be able to see what you're typing.  This will
send the reset string from the terminfo entry to the terminal.  As an
alternative to this, if the correct set-up has been saved inside the
terminal then pressing a special key(s) (perhaps in setup mode) may
restore the settings.  Then you might still need to use "tset" to send
the init string if you use it to set up your terminal.
-->
この問題を修復するには端末をリセットします。``reset'' (壊れているかも
しれません) か ``setterm -reset'' (もちろん &lt;return&gt; キーを押します) 
のどちらかをタイプすればよいのです。これはリセット文字を terminfo エン
トリから端末に送ります。正しい設定が端末内に保存されていれば、その時に
特別なキーを (おそらく設定モードの時に) 押すことで設定が修復できるはず
です。それから、端末を設定するのなら、初期化文字を送るために ``reset''
を使う必要がまだあるでしょう。

<!--
Note that the "reset" command appears to be broken for terminals that
need "clocal" set since "reset" seems to unset "clocal".  In this case
instead of fixing the problem, "reset" only compounds it by disabling
communication between the terminal and computer.  You will likely need
to log in again and hope the getty sets "clocal".  If you see a login
prompt without asking for it, you're in luck.  Otherwise see <ref
id="symptoms_" name="Symptoms and Some Fixes"> for how to get a login
prompt.  You should try out "reset" before you need it and use
"setterm -reset" if "reset" logs you out or otherwise doesn't work
right.  I submitted a bug report in Mar. 2000 so "reset" could be
fixed by now.
-->
``reset'' コマンドは、``clocal'' のセットが必要な端末を壊しているよう
なので、``reset'' は ``clocal'' を未設定に変えてるように思えることに注
意してください。こういった場合、問題を修正するかわりに、 ``reset'' は
端末とホストコンピュータ間の通信を不可にすることで妥協しているだけです。
あなたはログインし直す必要があり、その時に getty が ``clocal'' をセッ
トしてくれることを期待するはずです。幸運なら、問いかけなしでログインで
きるでしょう。その他、ログインプロンプトの取得については<ref
id="symptoms_" name="徴候といくつかの修正">をご覧ください。``reset'' 
が必要なら事前に十分ためし、もし ``reset'' があなたをログアウトさせた
り、うまく動かないようなら ``setterm -reset'' を使うべきです。私は 
2000 年 3 月にバグレポートを提出してあるので、今なら ``reset'' は修正
されているはずです。

<ref id="symptoms_" name="徴候といくつかの修正">
<sect2><!-- Abnormally Exited a Program -->
異常終了したプログラム <label id="abnormal_exit">
<p>
<!--
 Large application programs (such as editors) often use the stty
command (or the like) in their code to temporarily change the stty
configuration when you are running the program.  This may put the
device driver into "raw" mode so that every character you type goes
directly thru to the application program.  Echoing by the driver is
disabled so that everything you see on the screen comes directly from
the application program.  Thus many control commands (such as ^C) may
not work within such applications.
-->
大きなアプリケーションプログラム (エディタなどのような) は起動した時に
 stty の設定を変えるために一時的に stty コマンドを使います。これにより
デバイスドライバは ``raw'' モードに変わるので、タイプした全ての文字は
アプリケーションプログラムに直接送られます。ドライバからのエコーは禁止
されるので、アプリケーションプログラムから直接送られるすべてが画面で見
られます。したがって、大くの制御コマンド (^C のような) はそんなアプリ
ケーションではうまく働きません。

<!--
When you tell such an application to quit, the application program first
restores the stty settings to what they were before the application
program started.  If you abnormally exit the program (you may guess
this has happened when what you type no longer displays on the screen)
then you may still be in "raw mode" on the command line.
-->
そのようなアプリケーションを終了させるときには、アプリケーションプログ
ラムは最初に、起動する前の状態に stty の設定を戻します。もしプログラム
が異常終了したら (タイプした文字がいつまでたっても表示しないとき、こう
なったと推定できます)、コマンドライン上で ``raw モード'' のままでしょう。

<!--
To get out of raw mode and restore the normal stty settings type "stty
sane".  However, you must type this just after a "return" and end it
with a "return".   But hitting the "return" key doesn't do the job
since the "return" code no longer gets translated to the new-line
characters that the shell is waiting for.  So just type new-line (^J)
instead of "return".  The "sane" terminal interface may not be exactly
the same as the normal one but it usually works.  "stty sane" may also
be useful to get out of a corrupted interface due to other causes.
-->
raw モードから抜けて、普通の stty の設定に戻すには ``stty sane'' とタ
イプします。あなたは、``return'' の後にこうタイプして、 ``return'' で
終わらせなければなりません。しかし、``return'' キーは、 shell が待ちう
けているような改行文字にもはや変換されないので、``return'' キーを叩い
てもその役目を果たしません。そんな場合は、``return'' キーの代りに改行
コード (^J) をタイプしてみてください。``sane'' 端末インタフェースは、
正確には正常なものと同じものではありませんが、普通は働くでしょう。
``stty sane'' はいろんな理由でおかしくなったインタフェースから抜け出す
ためにも有効です。

<sect1><!-- Special (Control) Characters -->
特殊 (制御) 文字 <label id="stty_chars">
<p>
<!--
 A number of control characters which you may type at the keyboard
are "caught" by the terminal driver and perform various tasks.  To see
these control commands type: stty -a and look at lines 2-4.  They are
tersely explained in the stty manual pages.  They may be changed to
different control characters or disabled using the stty command.  Thus
your control characters might be different than those described below.
They are used for command-line editing, interrupting, scrolling, and
to pass the next character thru transparently.
-->
あなたがキーボードでタイプする多くの制御文字は端末ドライバで ``捉えら
れ'' て、様々なタスクを実行します。このような制御コマンドを見るには、 
stty -a とタイプして、2行目 から 4 行目を見てください。これらは stty 
の man ページで簡潔に説明されています。stty コマンドを使用して、異った
制御キャラクタに変えられたり、無効にしたりします。しかし、あなたの端末での
制御キャラクタは以下に記述されているものとは異なっているかもしれません。
それらはコマンドライン編集や、割り込み、次のキャラクタを透過的に通過さ
せたりするのに使います。

<sect2><!-- Command-Line Editing -->コマンドラインでの編集
<p>
<!--
 While the terminal driver has a few commands for command-line
editing, some shells have a built-in real editor (such as "readline"
in the Bash shell).  Such an editor is normally on by default so you
don't need to do anything to enable it.  If it's available you don't
need to learn many of the following commands although they often still
work along with the command-line editor.  The most important to learn
are ^C (interrupt), ^D, and how to stop scrolling.

<itemize>
<item> Delete-key (shown by stty as ^?) erases the last character
<item> ^U kills (deletes) the line
<item> ^W deletes a word backwards
<item> ^R reprints the line.  Useful mainly on hard copy terminals ??
</itemize>
-->
端末ドライバにはコマンドライン編集用の 2、3 のコマンドがありますが、シ
ェルにも組込みの本当のエディタ (``readline'' のような) があります。そ
のようなエディタは通常はデフォルトで利用できるので、有効にするために何
かをする必要はありません。もし利用可能なら、以下のコマンドの多くを覚え
る必要はありませんが、コマンドラインエディタはまだよく使われています。
一番覚えておかなければいけないのは、^C (割込み), ^D それとスクロールを
止める方法です。

<itemize>
<item> Delete キー (stty では ^?) は最後の文字を消去します。
<item> ^U は行を削除します。
<item> ^W は後方に単語を削除します。
<item> ^R は行を再表示します。主にハードコピー端末に便利 ??
</itemize>

<sect2><!-- Interrupting (& Quit, Suspend, EOF, Flush) -->
割り込み (& Quit, Suspend, EOF, Flush)
<p>
<!--
<itemize>
<item> ^C interrupts.  Exits the program and returns you to the
 command-line prompt.
<item> ^&#047; quits.  Same as interrupt ^C but weaker.  Also dumps a
 "core" file (which you likely have no use for) into your working directory.
<item> ^Z suspends.  Stops the program and puts it in the background.
 Type fg to restart it.
<item> ^D end of file.  If typed at the command-line prompt, exits the
 shell and goes to where you were before the shell started.
<item> ^O flush.  Not implemented in Linux.  Sends output to
 /dev/null.
</itemize>
-->
<itemize>
<item> ^C 割込み：プログラムを終了させて、コマンドラインプロンプトをユーザに
返す。 
<item> ^&#047; クイット：割込み ^C と同じだが、少し弱い。``core'' ファ
イル (あまり使わない) をワークディレクトリにダンプします。 
<item> ^Z サスペンド : プログラムを停止して、バックグランドに置いておきます。
fg とタイプすると再開します。
<item> ^D ファイルの最後 : コマンドラインプロンプトでタイプすると、シェルを抜
けて、シェルを開始する前のところに行きます。
<item> ^O フラッシュ : Linux では実装されていません。/dev/null へ出力を送りま
す。
</itemize>

<sect2><!-- Stop/Start Scrolling -->スクロールの開始 / 停止
<p>
<!--
 If what you want to see scrolls off the bottom of the screen,
you may prevent this by sending a "stop" signal (^S or Xoff) to the
host (provided Xon-Xoff <ref id="flow_control" name="Flow Control"> is
enabled).  Send a "start signal to resume (^Q or Xon).  Some terminals
have a "No Scroll" key which will alternately send Xoff and Xon or
possibly send the hardware flow control signals ??   Here's what
ctrl-S (^S) and ctrl-Q (^Q) do:

<itemize>
<item> ^S stops scrolling (Xoff)
<item> ^Q resume scrolling (Xon)
</itemize>
-->
見たいものがスクリーンの下へスクロールして消えてしまいそうになったら、
 (Xon-Xoff <ref id="flow_control" name="フロー制御">が有効になっている) 
ホストへ ``停止'' 信号 (^S か Xoff) を送って、これを防ぐことができます。
再開するには ``開始'' 信号 (^Q か Xon) を送ってください。いくつかの端
末では、Xoff と Xon を交互に送るか、あるいはハードウェアフロー制御信号
を送ることができる (??) ``非スクロール'' キーがあります。以下は ctrl-S
(^S) と ctrl-Q (^Q) が何をするかです。 

<itemize>
<item> ^S はスクロールを停止します (Xoff)。 
<item> ^Q はスクロールを再開します (Xon)。
</itemize>

<!--
If you want to both stop scrolling and quit, use ^C.  If you want to
stop scrolling to do something else but want to keep the program that
was generating the output in memory so you can resume scrolling later,
use ^Z suspend.
-->
もしスクロールの停止とクイットの両方をしたければ、^C を使いなさい。他
に何かするためにスクロールを止めたいが、プログラムの出力をメモリに保存
しておいて、後でスクロールを再開したいなら、^Z でサスペンドしておきな
さい。

<!--
An alternative scrolling method is to pipe the output thru a pager
such as more, less, or most.  However, the output might not be
standard output but could be error output which the pager doesn't
recognize.  To fix this you may need to use redirection "2>&1" to get
the pager to work OK.  It is often simpler to just use ^S and ^Q
unless you need to scroll backwards.
-->
スクロールの代替手段としては、more 、less や most などのページャにパイ
プを使って出力を送る方法があります。しかし、出力は標準出力でないかもし
れませんが、ページャが認識しないエラー出力かもしれません。これを解決す
るには、ページャが良好に働くように、リダイレクション ``2>&1'' を使う必
要があるかもしれません。後方にスクロールする必要がなければ、単に ^S と
 ^Q を使います。

<!--
At a PC console (emulating a terminal) you may scroll backwards by
using Shift-PageUp.  This is frequently needed since the scrolling is
often too fast to stop using ^S.  Once you've scrolled backwards
Shift-PageDown will scroll forward again.
-->
PC コンソール (端末をエミュレートする) では、Shift-PageUp キーを使って
後方にスクロールします。^S を使って止められないほど早くスクロールする
場合に、頻繁に必要になるでしょう。一度後方へスクロールしたら、再び前方
にスクロールするには、Shift-PageDown を使います。

<sect2><!-- Take Next Character Literally -->次のキャラクタを文字通りとりなさい
<p>
<!--
 ^V sends the next character typed (usually a control character)
directly thru the device driver with no action or interpretation.
Echoed back are two ASCII characters such as ^C.
-->
^V は,デバイスドライバ経由で直接タイプされた次のキャラクタ (普通は制御
キャラクタ) を、なんのアクションや割込みもなく送ります。エコーバックす
ると ^C のように 2 つの ASCII キャラクタになります。

<sect1><!-- Viewing Latin-1 Files on a 7-bit Terminal -->
7 ビット端末で Latin-1 のファイルを見る
<p>
<!--
 Some "text" files are 8-bit Latin1 (see <ref id="char_sets"
name="Character-Sets">).  If you have a terminal that will not display
Latin1 (or don't have the Latin1 character set selected), then a
bullet symbol will display as a 7, etc.  When viewing manual pages
(they are Latin1) you may give the option -7 to man so as to translate
the 7's, etc. to something close to a bullet (in ASCII).  Are there
some pagers that make these translations ??
-->
``テキスト'' ファイルには 8 ビットの Latin1 で書かれたものがあります 
(<ref id="char_sets"
name="文字セット">をご覧下さい)。Latin1 を表示できない端末をお使いなら 
(あるいは、Latin1 文字セットが選択肢がないなら)、リストの先頭につく小
丸は 7 ビットコードで表示されるでしょう。man ページ (それらは Latin1 
です) を見る時は、小丸に近い何かに 7 などの文字をちゃんと変換するため
に、man にオプション -7 を付けます。

<sect1><!-- Inspecting the Interface -->インタフェースを点検する
<p>
<!--
 These utility programs will provide information about the terminal
interface:
<itemize>
<item> gitkeys: shows what byte(s) each key sends to the host.
<item> tty: shows what tty port you are connected to.
<item> set: shows the value of TERM (the terminfo entry name)
<item> stty -a: shows all stty settings.
<item> setserial -g /dev/tty?? (you fill in ??) shows UART type, port
	address and IRQ number.
<item> infocmp: shows the current terminfo entry (less comments)
</itemize>
-->
これらのユーティリティプログラムは端末インタフェースについての情報を提
供します。 
<itemize>
<item> gitkeys: 各キーがホストにどんなバイトを送るのかを表示します。 
<item> tty: どのポートに接続しているかを表示します。
<item> set: TERM (terminfo のエントリ名) の値を表示します。
<item> stty -a: stty の全ての設定を表示します。 
<item> setserial -g /dev/tty?? (?? に適切な番号を入れてください) は 
UART のタイプ、ポートアドレス、IRQ番号を表示します。 
<item> infocmp: 現在の terminfo のエントリを表示します (少いコメントで)。
</itemize>

<sect1><!-- Changing the Terminal Settings -->
端末の設定変更 <label id="term_settings">
<p>
<!--
 The terminal settings are normally set once when the terminal is
installed using the setup procedures in the terminal manual.  However,
some settings may be changed when the terminal is in use.  You
normally would not give any "stty" of "setserial" commands when the
terminal is in use as they are likely to corrupt the terminal
interface.  However, there are changes you may make to the appearance
of the terminal screen or to its behavior without destroying the
integrity of the interface.  Sometimes these changes are made
automatically by application programs so you may not need to deal with
them.
-->
端末の設定は、普通は端末マニュアルのセットアップ手順を使ったインストー
ルを一度するだけでよいのです。しかし、いくつかの設定は端末の使用中にも
変更されます。端末を使っていて、端末のインタフェースがおかしくなった時
に、通常は、 ``setserial'' のどんな ``stty'' コマンドも使わないでしょ
う。でも、インタフェースの整合性を壊さないで、端末画面の外観や振舞いを
やりかえる変更があります。時々、これらの変更はアプリケーションプログラ
ムが自動的に行うので、あなたがする必要はありません。

<!--
One direct method of making such changes is to use the setup key (or
the like) at the terminal and then use menus (or the like) to make the
changes.  To do this you may need to be familiar with the terminal.
<label id="setterm_"> <label id="tput"> The other 3 methods send an
escape sequence from the computer to the terminal to make the changes.
These 3 examples show different methods of doing this to set reverse
video:
-->
そのような変更を行う直接的な方法は、端末のセットアップキー (または類す
るキー) を使うことで、メニューを使って変更を行います。こうするには、端
末のことをよく知ってる必要があります。<label id="setterm_"> <label
id="tput"> その他の 3 つの方法はコンピュータから端末にエスケープシーケ
ンスを送ることです。反転表示にするための 3 つの方法を以下に示します。

<enum>
<item> setterm -reverse
<item> tput -rev
<item> echo ^&lsqb&lsqb;7m
</enum>

<sect2> setterm
<p>
<!--
 This is the easiest command to use.  It uses long options (but
doesn't use the normal &#045;&#045; before them).  It consults the terminfo
database to determine what code to send.  You may change the color,
brightness, linewrap, keyboard repeat, cursor appearance, etc.
-->
これは最も使いやすいコマンドです。長い名前のオプションを使います (しか
し、その前には通常の &#045;&#045; は使いません)。どんなコードを送るか
決めるのに terminfo データベースを調べます。色、明るさ、行ラップ、キー
ボードリピート、カーソルの形状などを変更できます。

<sect2> tput
<p>
<!--
 The "tput" command is similar to "setterm" but instead of using
ordinary words as arguments, you must use the abbreviations used by
terminfo.  Many of the abbreviations are quite terse and hard to
remember.
-->
``tput'' コマンドは ``setterm'' に似ていますが、引数に普通の単語を使う
代りに、terminfo にある略称を使わなければなりません。多くの略称は簡単
すぎて、覚えにくいです。

<sect2> echo
<p>
<!--
 In the example "echo ^&lsqb&lsqb;7m" to set reverse video, the
^&lsqb is the escape character.  To type it type ^V^&lsqb (or ^V
followed by the escape key).  To use this "echo" method you must find
out what code to use from a terminal manual or from terminfo or
termcap.  It's simpler to use setterm or tput if you are typing on the
command line.  Since "echo ..." will execute faster (since it doesn't
do any lookups) it's good for using in shell scripts which run at
start-up, etc.
-->
反転表示する ``echo ^&lsqb&lsqb;7m'' の例では、^&lsqb はエスケープキャ
ラクタです。それをタイプするには ^V^&lsqb とタイプしてください (あるい
は ^V に続いてエスケープキーをタイプします)。この ``echo'' の方法を使
うには、端末のマニュアルか、terminfo あるいは termcap から、どんなコー
ドが使われているか確認しなければなりません。コマンドライン上でタイプす
るなら setterm や tput より簡単です。``echo ...'' は実行が早いので (な
にも探さないから)、起動時に動くシェルスクリプトなどで使うのに適しています。

<sect2><!-- Saving Changes -->変更の保存
<p>
<!--
 When you turn off the terminal the changes you made will be lost
(unless you saved them in non-volatile terminal memory by going into
set-up mode and saving it).  If you want to use them again without
having to retype them, put the commands in a shell script or make it a
shell function.  Then run it when you want to make the changes.  One
way to make the changes semi-permanent is to put the commands in a
file that runs each time you login or start up the computer.
-->
端末の電源を切ったとき、それまでの変更は消えてしまいます (セットアップ
モードで、端末の不揮発性メモリに保存してなければの話です)。同じコマン
ドをタイプせずにもう一度同じ設定にしたいなら、シェルスクリプトに書くか、
シェルファンクションを作ってください。そして変更したくなったら、それを
動かすのです。半永久的に変更する 1 つの方法は、ログインした時か、コン
ピュータが起動した時に、毎回そのスクリプトを動かすことです。

<sect1><!-- Make a Terminal the Console -->
端末をコンソールとして作る <label id="term_as_console">
<p>
<!--
 This is also called a "serial console".  Many messages from the
system are normally only sent to the console (the PC monitor).  Some
of the messages sent to the console at boot-time may also be seen on
any terminal after the boot succeeds by typing the command: dmesg.  If
the boot failed this will not be of any use since the terminal can't
work without an operating system.  It's possible to modify the Linux
kernel so as to make a terminal serve as the console and receive all
the messages from Linux intended for the console.  Unfortunately, the
messages from the BIOS (which display on the monitor when a PC is
first started) will not display on this terminal (but still display on
the monitor).  
-->
これは ``シリアルコンソール'' とも呼ばれています。システムからの多くの
メッセージは通常はコンソール (PC モニタ) だけに送られます。起動時にコ
ンソールに送られるメッセージのいくつかは、ブートが成功した後で、コマン
ド dmesg をタイプすれば端末で見ることができます。ブートが失敗した場合
は、端末はオペレーティングシステムなしで動作できませんから、これは役に
立ちません。端末をコンソールとして、コンソールに関する Linux のメッセ
ージを受け取ることができるように Linux カーネルを再構築できます。残念
ながら、(PC が最初に起動した時にモニタに表示される) BIOS メッセージは
端末に表示できません (モニタには表示されますが)。

<!--
Some people do this when they run a PC without a monitor or keyboard.
Normally, a PC will not start up without a keyboard and video card but
some BIOSs permit it.  If you are lucky enough to have such a BIOS
that supports "console re-direct" you will likely then need to setup
the BIOS using the CMOS menus when you start your PC.
-->
モニタやキーボードなしで PC を起動する人達がいます。通常 PC はキーボー
ドやビデオカードなしでは起動しませんが、幾つかの BIOS なら可能です。`` 
コンソール リダイレクト'' 機能をサポートする BIOS を使用しているなら、 
PC を起動する時に CMOS のメニューを使って BIOS のセットアップが必要です。

<sect2><!-- For Kernels 2.2 or higher -->カーネル 2.2 以降
<p>
<!--
 The instructions for creating a serial-console are included with
source code documentation in the file: serial-console.txt.  Normally,
the device /dev/console is linked to tty0 (the PC console).  For a
serial-console you create a new /dev/console which is a true device
(and not linked to something else).  You must also put a statement
regarding the serial-console into /etc/lilo.conf and then run lilo.
This is because the equivalent of "setserial" needs to be run to set
up your serial-console before the kernel is loaded.  See the above
mentioned documentation and the man page for lilo.conf for more
details.
-->
シリアルコンソールを作るための説明は、ソースコードと一緒に含まれるファ
イル serial-console.txt にあります。通常、デバイス /dev/console は 
tty0 (PC コンソール) にリンクします。シリアルコンソール用として、本当のデ
バイス (他へのリンクではない) である新しい /dev/console を作ります。そ
してまた、/etc/lilo.conf にシルアルコンソールに関する文を書いて、 lilo
 を起動します。これは、カーネルがロードされる前に、あなたのコンソール
をセットアップするために ``setserial'' と同じものを走らせる必要がある
ためです。詳細は上記のドキュメントや man ページの lilo.conf をご覧くだ
さい。

<!--
Here is an example <tt>/etc/lilo.conf</tt> file contents (for ttyS0):
<tscreen><verb>
prompt
timeout=50
boot = /dev/sda
vga = normal # force sane state
install = /boot/boot.b
message = /boot/message
image = /vmlinuz
root = /dev/sda1
label = console
serial = 0,9600n8
append = "console=ttyS0"
</verb></tscreen>
-->
/etc/lilo.conf のサンプルです (ttyS0 用)。

<tscreen><verb>
prompt
timeout=50
boot = /dev/sda
vga = normal # 強制的に sane にする
install = /boot/boot.b
message = /boot/message
image = /vmlinuz
root = /dev/sda1
label = console
serial = 0,9600n8
append = "console=ttyS0"
</verb></tscreen>

<sect2><!-- For Kernels before 2.2 -->カーネル 2.2 以前
<p>
<!--
 The Linux Journal in April 1997 had an article on patching
the Linux kernel.  You add a couple of #defines at the start of
src/linux/drivers/char/console.c:

<tscreen><verb>
#define CONFIG_SERIAL_ECHO
#define SERIAL_ECHO_PORT 0x2f8  /* Serial port address  */

The following was not in the Linux Journal article.
In kernel 2.+ (and earlier ??) you need to also set the baud 
rate (unless 9600 is OK).  Find these 2 lines:

serial_echo_outb(0x00, UART_DLM); /* 9600 baud */
serial_echo_outb(0x0c, UART_DLL); 

Change 0x0c in the line above (depending on the baud rate you want):

115200 baud: 0x01	19200 baud: 0x06	2400 baud: 0x30
 57600 baud: 0x02	 9600 baud: 0x0c	1200 baud: 0x60
 38400 baud: 0x03	 4800 baud: 0x18
</verb></tscreen>
-->
1997 年 4 月の Linux Journal 誌には、Linux カーネルのパッチに関する記
事がありました。src/linux/drivers/char/console.c の最初に一組の 
#define を加えること。

<tscreen><verb>
#define CONFIG_SERIAL_ECHO
#define SERIAL_ECHO_PORT 0x2f8  /* シリアルポートアドレス */

以下は Linux Journal 誌の記事にはありませんでした。カーネル 2.+ (それ
と、それより前のバージョン ??) では、ボーレートの設定も必要です (9600 
以外にしたければ)。これら 2 行を見てください。

serial_echo_outb(0x00, UART_DLM); /* 9600 ボー */
serial_echo_outb(0x0c, UART_DLL); 

(設定したいボーレートに依り) 上記の 0x0c を変更してください ：

115200 ボー: 0x01       19200 ボー: 0x06        2400 ボー: 0x30
 57600 ボー: 0x02        9600 ボー: 0x0c        1200 ボー: 0x60
 38400 ボー: 0x03        4800 ボー: 0x18
</verb></tscreen>

<!--
If you currently use the console to select which operating system to
boot (using LILO), but would like to do this from a terminal, then you
need to add a line to the /etc/lilo.conf file.   See the manual page
for lilo.conf and search for "serial=".
-->
今、ブートする OS を選択するためにコンソールを使っているけど、本当は端
末から選択したいなら、/etc/lilo.conf に 1 行追加する必要があります。 
lilo.conf の man ページを見て、``serial='' でサーチしてください。

<sect2><!-- Can I Run Linux without a Monitor (PC Console) ? -->
モニタ (PC コンソール) 無しで Linux を実行できますか ?
<p>
<!--
 Yes, you use a terminal and make it behave like the console per
above.  You will likely still need a video card since most BIOSs
require one to get the PC started.  Your BIOS may also require a
keyboard to get started or it may have an option where you can set the
BIOS not to require a keyboard.
-->
はい、端末を使って、それを上記のコンソールのように働かせるこができます。
ほとんどの BIOS は PC の起動時にビデオカードから情報を取得しているので、
ビデオカードは必要なんじゃないかと思えます。BIOS は起動時にキーボード
も必要としますが、あるいは、キーボードが不要なように設定できる BIOS の
オプションがあるかもしれません。 

<sect1><!-- Multiple Sessions -->マルチセッション
<p>
<!--
 The "<tt/screen/" package runs multiple sessions something like
virtual terminals on the console: See <ref id="console_dev" name="The
Console: /dev/tty?">.  However, this is not like "pages" (<ref
id="pages_" name="Pages">) since the image of the pages are stored in
the host computer and not inside the terminal as they are with
"pages".
-->
``<tt/screen/'' パッケージは、コンソール上の仮想端末に似たマルチセッション
をサポートします。<ref id="console_dev" name="コンソール /dev/tty?"> 
をご覧ください。しかし、ページのイメージは、``ページ'' として端末内で
はなく、ホストコンピュータ内に保存されますから、これは ``ページ'' では
ありません (<ref id="pages_" name="ページ">をご覧ください)。

<sect1><!-- Logging Out -->ログアウト
<p>
<!--
 To log out type either "logout" or "exit".   Under some
circumstances your request will be refused, but you should be told why.
One reason for refusal is if you are not in the same shell into which
you logged into.  Another way to log out is to press ^D.  Since ^D is
also used for other purposes, you may not want it to log you out.  If
you set IGNOREEOF in the Bash shell then ^D will no longer log you
out.
-->
ログアウトするには、``logout'' か ``exit'' をタイプしてください。ある
状況ではログアウトの要求が拒否されますが、その理由を問うべきです。拒絶
された理由の一つは、ログインしたときと同じシェルを使っていなかったこと
です。ログアウトの別な方法は ^D と押すことです。^D は他の目的にも使い
ますから、ログアウトには使いたくないかもしれませんね。もし、bash シェ
ルで IGNOREEOF が設定されていたら、^D はもはやログアウトには使えません。

<sect1><!-- Chatting between Terminals, Spying -->
端末間でのチャットやスパイ
<p>
<!--
 If two persons logged into terminals on the same host computer
want to chat with each other they may use the "write" or the "talk"
program.  On the Internet, chatting may be done using the "lynx"
browser.  
-->
同じホストコンピュータの端末からログインしている二人がお互いにチャット
したいときは、``write'' か ``talk'' プログラムを使います。インターネッ
トでは、チャットは ``lynx'' を使うかもしれません。

<!--
For spying on what someone else is doing at their terminal use the
"ttysnoop" program.  In "ttysnoop" the two terminals have the same
status and anything typed on either keyboard appears on both screens
(in the same location).  So if you're really spying and don't want to
be detected, you shouldn't type anything.  
-->
端末で他の誰かが何をしているかスパイするには、``ttysnoop'' プログラム
を使います。``ttysnoop'' では二つの端末は同じ状態となり、各キーボード
で何かをタイプすると両方の画面 (の同じ位置) に表示されます。それで、あ
なたが本当にスパイをしていて、それを悟られたくなければ、何もタイプすべ
きではない。

<!--
"ttysnoop" can be used for training with instructor and trainee
sitting side-by-side, each at their own terminal.  The instructor may
watch what the trainee is typing and can correct any mistakes by
typing it correctly.  The trainee can watch what the instructor types
and then try typing it.  It's just like they used one terminal with
both people having their hands on the keyboard at the same time.
-->
ttysnoop は、先生と生徒が各自の端末の前に並んで座ってるような場合の教
育用に使えます。先生は生徒が何をタイプしたか見て、生徒がミスタイプした
文字を正しくタイプすることで訂正できます。生徒は先生がタイプする文字を
見て、自分の端末で同じ文字をタイプします。それはあたかも二人の人間が同
時にキーボードに触れて一つの端末を使ってるようなものです。

<!--
There's one shortcoming to "ttysnoop" and that is that the terminals
involved should all be (or emulate) the same type of terminal (such as
vt100).  Since the "Linux" emulation done by a console (monitor) and
the "minicom" emulation are close to vt100 one may use ttysnoop using
two PCs, one running "minicom" which emulates a terminal.
-->
``ttysnoop'' には欠点が一つあって、それは端末が全て同じ種類 (vt100 な
どのように) のもの (か同じエミュレートのもの) が必要であるということで
す。``Linux'' はコンソール (モニタ) でエミュレーションされ、 ``minicom'' は
vt100 に似たエミュレーションなので、ttysnoop を 2 つの PC で使う
なら、1 つのほうでは端末エミュレータとして ``minicom'' を実行します。

<!--
There's a non-free program called "DoubleVision" that is something
like ttysnoop but does much more.  Terminals may be of different types
and it can remember and playback sessions on terminals so you can
observe what happened in the past.  The webpage is at <url
url="http://www.tridia.com">.
-->
``DoubleVision'' は非フリープログラムで、ttysnoopq のようなものですが、
より高機能です。違った種類の端末を使用でき、端末のセッション情報を覚え
ていて再現することができるので、前に何があったか監視することができます。
 Web ページは <url
url="http://www.tridia.com"> です。

<sect1><!-- Sharing the Serial Port -->シリアルポートの共有
<p>
<!--
 If you have another serial device (a printer, modem, etc.) that
you want to connect to the same serial port that a terminal is on,
then there is more involved than just plugging in the other device.
This is mainly because when the getty program or shell is listening on
the port, they (or the serial driver) are likely to give a response to
any bytes sent to the port.  Getty will respawn even if it's killed and
will keep sending login prompts to the serial port (which may now be
connected to another device).  One way to work around this problem is
to switch runlevels so that no getty program or shell is running on
the port.  But if your other use for the port only uses the port for
output to an external device, then you may live dangerously by using
the port for the other use with the shell or getty (intended for a
terminal) simultaneously running on it.
-->
端末の電源が入ったときに同じシリアルポートに接続したい別なシリアルデバ
イス (プリンタ、モデムなど) をお持ちなら、他の装置に接続する以上のこと
が必要です。これは主として getty プログラムかシェルが、ポートを監視し
ていて、getty や シェル (あるいはシリアルドライバ) がそのポートに数バ
イトを送ろうとするからです。getty は kill されても再起動して、(他の装
置に接続されている) シリアルポートに対してログインプロンプトを送りつづ
けるでしょう。この問題を解決する 1 つの方法はランレベルを変更すること
で、getty プログラムやシェルはそのポートに対して動作しなくなります。し
かし、外部機器への出力ポートとして使われているポートに対してのみ行なう
と、他の人が (端末にするつもりで) シェルや getty を同時に動作させて使
ってるポートかもしれないので危険なことです。

<!--
For the runlevel fix, you may create another runlevel in which no
getty program runs on the port.  Then you enter that new runlevel and
use the serial port for something else.  To set this up you need to
edit <tt>/etc/inittab</tt> and check and/or set the runlevels at which
getty runs.  For example the line: <tt>"S1:23:respawn:/sbin/getty</tt>
..." means that getty will run (on ttyS1) in runlevels 2 and 3.  Now
you could have it only run in level 2 (by deleting "3") and then go to
runlevel 3 when you want to use the other serial device.  Thus to use
the serial port for something else, the super-user would type "init 3"
to switch to runlevel 3.  Type "init 2" to get back to runlevel 2.
Note that each runlevel may have a different set of initialization
scripts but you can change this if you want, so that the same scripts
are run in both runlevels.  How the scripts and runlevels work are
different for each Linux distribution.  In Debian, the explanation of
this is in <tt>/usr/doc/sysvinit</tt> but also look in
<tt>/usr/share/doc.</tt> 
-->
ランレベルの調整については、そのポートで getty プログラムが動くことの
ない他のランレベルを作るようにしましょう。それから新しいランレベルを作
って、他のものにシリアルポートを使わせるようにしましょう。こうするには
<tt>/etc/inittab</tt> を編集してチェックし、getty が動くランレベルに設
定します。例えば、<tt>``S1:23:respawn:/sbin/getty ...''</tt> 行は、
(ttyS1 で) getty がランレベル 2 と 3 で動くことを意味します。現在、
(``3'' を消して) ランレベル 2 でのみ動作させるようにしていて、他のシル
アルデバイスを使いたいなら、ランレベル 3 ヘ移行します。このように、他
のものがシリアルポートを使うようにするには、ランレベル 3 に移行するた
めに、スーパーユーザが ``init 3'' とタイプするのです。``init 2'' とタ
イプすれば、もとのランレベル 2 に戻ります。各ランレベルは初期化スクリ
プトにより違った設定になっていますが、お望みの時にランレベルの変更がで
きるので、各ランレベルで同じスクリプトが動作することに注意してください。
各 Linux ディストリビューションでのスクリプトやランレベルの動きはどの
ようなものでしょう。 Debian では、説明が <tt>/usr/doc/sysvinit</tt> に
ありますが、<tt>/usr/share/doc</tt> でも見ることができます。

<!--
There's also the problem of the stty configuration of the port.  When
the port is being used for the terminal it has certain configurations but
when say "init 3" is used to switch runlevels and disable getty on the
port, the original (boot-time) configuration of the port is not
restored.  You are likely to wind up with the port configured in a
"raw" mode.  This means that the serial port likely needs to be fully
reconfigured by stty, either by a script you write or by the next
application which runs on the port.  Some applications such as
printing from the serial port are not capable of fully reconfiguring
(the /etc/printcap can only partially reconfigure).  Thus you may need
to write a script to do it.  The stty configuration of a terminal will
be different depending on whether a shell is running on it, whether
it's at the "login" prompt, etc.  Thus the stty configuration after
switching runlevels may vary.
-->
ポートについての stty の設定にも問題があります。ポートが端末用に使われ
ているときにある設定になっていますが、ランレベルを変更するために ``ini
t 3'' が実行され、そのポートで getty が実行不可になると、オリジナル 
(ブートの時) の設定は復元されません。結局、``raw'' モードでポートを設
定することになります。これは、あなたが書いたスクリプトか、その次にその
ポートで動くアプリケーションのどちらかで、stty を使って完全に設定し直
すことを意味します。シリアルポートから印刷するアプリケーションは完全に
ポートの再設定を行なう能力はありません (/etc/printcap は一部の設定しか
しないからです)。従って、あなたはスクリプトを書く必要があります。 stty
 による端末の設定は、シェルが動作するかどうか、``ログイン''プロンプト
が表われるかどうかなどによって違います。そういう訳で、ランレベルを切り
替えた後の stty の設定は異なるのです。


<sect><!-- Trouble-Shooting (software) -->
トラブルシューティング (ソフトウェア) <label id="trouble-shoot">
<p>
<!--
 If you suspect that the problem is a hardware problem, see the <ref
id="repair_" name="Repair and Diagnose"> section.  If the problem
involves the serial port itself see the Serial-HOWTO.

Here is a list of possible problems:
<itemize>
<item>  <ref id="term_OK" name="Is the Terminal OK ?">
 Suspect the terminal is defective.
<item> <ref id="flow_ctrl_ng" name="Missing Text"> Either skips
 over some text or displays some text OK and hangs.
<item> <ref id="fast_respawn" name="Getty Respawning Too Rapidly">
 (console error message)
<item> <ref id="after_login" name="Fails Just After Login">
<item> <ref id="cant_login" name="Can't Login"> but login prompt is
 OK.
<item> <ref id="garbled" name="Garbled Login Prompt">
<item> <ref id="blank_" name="No Sign of any Login Prompt">
</itemize>
-->
もしハードウェアに問題がありそうなら、<ref
id="repair_" name="修理と診断">の章をご覧ください。
問題がシリアルポート絡みなら Serial-HOWTO をご覧ください。

これはありがちな問題のリストです。
<itemize>
<item>  <ref id="term_OK" name="端末はだいじょうぶですか ?">
端末に欠陥がないか疑いなさい。
<item> <ref id="flow_ctrl_ng" name="テキストを見逃すこと">、なにかの文
字を飛ばす、あるいは、文字の表示はだいじょうぶだけど、ハングする。 
<item> <ref id="fast_respawn" name="getty を即座に再起動する"> (コンソー
ルエラーメッセージ)
<item> <ref id="after_login" name="ログインのすぐ後に失敗する">
<item> <ref id="cant_login" name="ログインできないけど">、ログインプロ
ンプトは表示されます。
<item> <ref id="garbled" name="ログインプトンプトの誤表示">
<item> <ref id="blank_" name="なんのログインプロンプトもでない">
</itemize>

<!--
There are two cases where the terminal goes bad.  One is when it's
been recently working OK and suddenly goes bad.  This is discussed in
the next sub-section.  The other case is where things don't work right
just after you install a terminal.  For this case you may skip over
the next section.
-->
端末が調子悪くなるには 二つのケースがあります。一つは、ちょっと前まで
は調子良かったのに、突然おかしくなるケースです。これについては次の章で
お話しします。もう一つは、端末をインストールした直後からうまく動かない
ケースです。このケースの場合は次の章を飛ばしてかまいません。

<sect1><!-- Terminal Was Working OK -->
端末は順調に動いていたのに<label id="term_was_ok">
<p>
<!--
 When a formerly working terminal suddenly goes bad it is often
easy to find the problem.  That's because (except for hardware
failures) the problem is likely due to something that you did (or
something the software you used did).
-->
前はうまく動いていたのに、突然調子が悪くなったときは、問題を見つけ易い
ものです。問題は、(ハードウェアに起因する故障を除き) あなたがやったこ
と (または使っているソフトウェア) に原因があるはずだから。

<!--
The problem may be obvious such as an error message when the terminal
is first turned on.  If it makes a strange noise it likely needs
repair.  See <ref id="repair_" name="Repair & Diagnose">.  First,
think about what has been done or changed recently as it's likely the
cause of the problem.  Did the problem happen just after new system
software was installed or after a change in the configuration?
-->
問題は、端末の電源を入れたときに表示されるエラーメッセージからも明らか
になります。奇妙なノイズによるものなら修理が必要です。<ref
id="repair_" name="修理と診断">をご覧ください。最初に、最近問題の原因
となるような何かをしたか、何か変更しなかったか考えてみてください。問題
は新しいシステムソフトウェアをインストールした後や、設定を変更後に起り
ませんでしたか ?

<!--
If the terminal isn't responding correctly (if at all) to what you
type to it, you may have a <ref id="corrupt_interface" name="Corrupted
Terminal Interface">.
-->
あなたがタイプしたことに端末が (まったく) 正しく反応しないなら、端末は
<ref id="corrupt_interface" name="おかしくなった端末インターフェース">
になっています。

<sect1><!-- Terminal Newly Installed -->
新しくインストールした端末 <label id="trouble-shoot_new">
<p>
<!--
 If you've just connected up a terminal to a computer per
instructions and it doesn't work this section is for you.  If a
terminal that formerly worked OK doesn't work now then see <ref
id="term_was_ok" name="Terminal Was Working OK"> If you suspect
that the serial port on your computer may be defective you might try
running a diagnostic test program on it.  At present (June 1998) it
seems that Linux doesn't yet have such a diagnostic program so you may
need to run diagnostics under MS DOS/Windows.  There are some programs
to monitor the various serial lines such at DTR, CTS, etc. and this
may help.  See <ref id="serial_mon" name="Serial
Monitoring/Diagnostics">
-->
指示毎に端末をコンピュータに接続したのにうまく動かないなら、本章が役に立ち
ます。端末が以前はうまく動いていたのに、今は動かないのなら<ref
id="term_was_ok" name="端末は順調に動いていた">をご覧くさい。コンピュー
タのシリアルポートに欠陥の疑いがあるなら、診断用のテストプログラムを実
行してみてくさい。現在 (1998 年 6 月)のところ Linux ではそんな診断プロ
グラムがないはずなので、MS DOS/Windows 上で実行してください。これらの
診断プログラムは DTR,CTSなどの各種シリアルラインをモニタし、手助けして
くれます。<ref id="serial_mon" name="シリアルラインのモニタ / 診断">を
ご覧ください。

<!--
One approach is to first see if the the terminal will work by trying
to copy a file to the terminal (cp my_file /dev/ttyS?) under the most
simple situation.  This means with the modem control lines disabled
and at a show speed that doesn't need flow control (make sure that any
hardware flow control is disabled).  If this copy works, then make the
situation a little more complicated and see if it still works, etc.,
etc.  When the trouble appears just after you made a change, then that
change is likely the source of the trouble.  Actually, its more
efficient (but more complex) to jump from the simple situation to
about half way to the final configuration so that the test eliminates
about half of the remaining possible causes of the problem.  Then
repeat this methodology for the next test.  This way it would only
take about 10 tests to find the cause out of a thousand possible
causes.  You should deviate a little from this method based on hunches
and clues.
-->
一つのアプローチとして、最も単純な状況を想定して、端末にファイルをコピ
ーして (cp my_file /dev/ttyS?) うまくいくかどうかを最初に確かめること
です。これはモデム制御線が無効になっていて、速度を見る場合にフロー制御
が不要であることを意味します (ハードウェアフロー制御が無効になっている
ことを確認してください)。もしコピーがうまくいけば、状況はやや複雑にな
り、まだうまく動かないか等々を確認します。なにか変更した後にトラブルが
生じたときは、おそらくその変更がトラブルの元でしょう。実際、単純の状況
から、最後の設定までに至る過程の、半分のところへ戻り、 (試験をして、問
題の有無を)調べれば、残された問題の半分を消去できます。次のテストでま
たこの方法を繰り返すのです。このようにすれば千個の原因の可能性があって
も 10 回のテストで原因にたどりつけます。勘や手がかりに頼る方法から縁を
切るべきです。

<sect1><!-- Is the Terminal OK ? -->
端末はだいじょうぶですか ?<label id="term_OK">
<p>
<!--
 A good terminal will usually start up with some words on the
screen.  If these words convey no error message, its probably
OK.  If there is no sign of power (no lights on, etc.) re-plug in the
computer power cord at both ends.  Make sure there is power at the
wall jack (or at the extension cord end).  Try another power cord if
you have one.  Make sure the terminal is turned on and that its fuse
is not blown.  A blank (or dim) screen may sometimes be fixed by just
turning up the brightness and contrast using knobs or a keyboard key
in set-up mode.  If it still won't work See <ref id="repair_"
name="Repair & Diagnose"> for tips on repairing it.
-->
良好な端末は画面にメッセージを表示しながら起動するのが普通です。これら
のメッセージにエラーメッセージが含まれてないなら、おそらく端末は正常で
す。電源を入れてもウンともスンともいわない (ライトもつかないなど) なら、
コンピュータの電源コードを両端共外してください。それで他に電源ケーブル
があるなら取り換えて試してください。端末の電源が入るかどうかと、ヒュー
ズが切れてないかを確認してくさい。空白の (あるいは薄暗い) 画面は時に、
明るさとコントラストをノブかセットアップメニューでキーボードを使って調
節すれば映るようになるかもしれません。それでもうまくいかなければ<ref
id="repair_" name="修理と診断">に修理のコツがあります。

<!--
If the terminal starts up OK, but you suspect that something may be
wrong with it, go into "local mode" where is works like a typewriter
and try typing on it.  See <ref id="local_mode" name="Local Mode">.
-->
端末は正常に起動するけどまだ何かがおかしいと思うなら、端末がタイプライ
ターのように働く ``ローカルモード'' にして、タイプしてみましょう。<ref
id="local_mode" name="ローカルモード"> をご覧ください。

<sect1><!-- Missing Text -->テキストを見逃すこと<label id="flow_ctrl_ng">
<p>
<!--
  If some text displays on the terminal OK and then it stops
without finishing (in the middle of a word, etc.) or if chunks of text
are missing, you likely have a problem with flow control.  If you
can't figure out right away what's causing it, decrease the speed.  If
that fixes it, it's likely a flow control problem.  It may be that
flow control is not working at all due to failure to configure it
correctly, or due to incorrect cable wiring (for hardware flow
control).  See <ref id="flow_control" name="Flow Control">
-->
端末上でいくつかのテキスト表示はだいじょうぶだけど、最後までいかずに 
(単語の途中で) 止ったり、テキストの塊が抜けたりするなら、おそらくフロ
ー制御に問題があります。何が起っているかをすぐに理解できないなら、通信
速度を落してみてください。これで解決すれば、やはりフロー制御の問題です
よ。正しく設定していないかケーブルの結線がまずいために、フロー制御がま
ったく働かないにしがいありません。<ref id="flow_control" name="フロー
制御">をご覧ください。

<!--
If single characters are missing, perhaps the serial port is being
overrun by too fast a speed.  Try a slower baud rate.
-->
一つの文字が欠落するなら、たぶん、通信速度が速すぎてシリアルポートでオ
ーバランが起ってるのでしょう。ボーレートを落してみてください。

<!--
If you are using a baud rate under 1200 (very slow, mostly used for
old hard-copy terminals and printers) and the text gets truncated,
then the problem may be in the serial device driver.  See
Printing-HOWTO under "Serial devices" on how to fix this. 
-->
1200 以下のボーレート (超低速、古いハードコピー端末やプリンタで使われ
ている) を使っていて、テキストが切り詰められているなら、それはシリアル
デバイスドライバの問題です。解決方法は Printing-HOWTO の``シリアルデバ
イス'' の章をご覧ください。

<sect1>l<!-- Getty Respawning Too Rapidly -->
getty を即座に再起動する<label id="fast_respawn">
<sect2><!-- Serial Module Not Loaded -->
シリアルモジュールがロードされていない
<p>
<!--
 Use the "lsmod" command to see if the serial module is loaded.
-->
シリアルモジュールがロードされているか確認するには ``lsmod'' コマンド
を使ってください。

<sect2><!-- No Modem Control Voltage -->モデム制御電圧が出ていない
<p>
<!--
 If getty can't open and/or use a port because of the lack of a
positive modem control voltage on one of the pins, then getty might
be killed.  Then, per the instructions in inittab, getty respawns and
tries again, only to be killed again, etc., etc.  You may see an error
message indicating that due to getty respawning too rapidly it has been
temporarily disabled.  Try using the "local" option with getty and/or
check the modem control settings and voltages.
-->
モデム制御ピンの一つの正電圧が低いために getty がポートをオープンでき
なかったり使えなければ、getty は死んでしまうかもしれません。それから、
 inittab 内の命令に従って、getty は再起動して、ポートのオープンを試行
し、 kill されることを何度も繰りかえすのです ...。getty があまりに早く
再起動するので、一時的に無効になっていることをエラーメッセージから確認
できます。 getty の ``local' オプションを使うか、モデム制御の設定や電
圧を調べてみてください。

<sect2><!-- Key Shorted -->キーの短絡 <label id="key_shorted">
<p>
<!--
 Another possible cause of getty respawning is if a keyboard key is
shorted, giving the same result as if the key was continuously held
down.  With auto-repeat enabled, this "types" thousands characters to
the login prompt.  Look for a screen filled with all the same
character (in some cases with 2 or more different characters).
-->
getty が再起動する他の原因は、キーボードのキーが短絡したときに、キーが
押しつづけられたのと同じ結果となることです。オートリピートが有効なら、
ログインプロンプトに対して何千もの文字が送られることになります。そして、
同じ文字 (あるいは 2 つ以上の違った文字) がスクリーン全体を埋めてしま
うのです。

<sect1><!-- Fails Just After Login -->
ログイン直後の失敗<label id="after_login">
<p>
<!--
 If you can login OK but then you can't use the terminal it may be
because the starting of the login shell has reconfigured the terminal
(to an incorrect setting) by a command which someone put into one of
the files that are run when you login and a shell starts.  These files
include /etc/profile and ~/.bashrc.  Look for a command starting with
"stty" or "setserial" and make sure that it's correct.  Even if it's
done OK in one initialization file, it may be reset incorrectly in
another initialization file that you are not aware of.  Ways to get
into the systems to fix it are to use another terminal or console, use
a rescue diskette, or type: "linux single" at the lilo prompt which
puts you into single user mode without running startup files.
-->
ログインはできても端末を使えなければ、ログインシェルが起動した時に (誤
った設定で) 端末を再設定したのが原因だと思います。ログインして、シェル
が起動したときに参照するファイルに、誰かが端末設定のコマンドを書いたの
でしょう。/etc/profile や  /.bashrc がそのファイルです。``stty'' や ``
setserial'' で始まるコマンドを探して、正しいかどうかを確認してみてくだ
さい。ある初期化ファイルでは正しくても、あなたが気付いていない他のファ
イルで誤って設定されてるかもしれません。システムを正しく修正する方法は、
他の端末やコンソールを使うか、レスキューディスクを使うか、それとも、起
動ファイルを使わずにシングルユーザモードで立ち上るように lilo のプロン
プトで ``linux single'' とタイプすることです。

<sect1><!-- Can't Login -->ログインできない<label id="cant_login">
<p>
<!--
 If you get a login prompt but get no response (or perhaps a
garbled response) to your login attempts a possible cause is that the
communication is bad one-way from the terminal to the computer.  It
could be a bad or mis-wired cable/connector.  If you're not already
using the "local" option with getty, do so to disable the modem
control lines.  See <ref id="getty_" name="Getty (in /etc/inittab)">.
You might also disable hardware flow control (stty -crtscts) if it was
enabled.  If it now works OK then your modem control lines are likely
either not wired correctly or there's a mistake in your set-up.  Some
terminals allow setting different values (such as baud rate) for send
and receive so the receive could be OK but the send bad.
-->
ログインしたのに何の応答もなければ (あるいは、多分間違った反応が帰って
くるなら)、原因は端末からコンピュータへの通信がおかしいのです。ケーブ
ルやコネクタの不良か接続ミスにちがいありません。まだ getty の ``local''
オプションを使ってないなら、それを使って、モデム制御ラインを無効にし
てみてください。<ref id="getty_" name="Getty (/etc/inittab ファイル)">
をご覧ください。もしハードウェアフロー制御が有効になっているなら、それ
も無効にしてみてください。うまく動くようになったら、モデム制御ラインの
配線の問題か、設定ミスだったのでしょう。ある端末では送信と受信の設定を
違う値に設定できるので (ボーレードのように)、受信はできるけど送信でき
ないことがあります。

<!--
You should also (at the console) try "stty &lt /dev/ttyS1" (if you use
ttyS1) to see that it's set up correctly.  It will often be in raw
mode (and this is probably OK) with -icanon and -echo etc.  If the
terminal incorrectly set at half-duplex (HDX), then one set of the
characters you see when you type are coming from the terminal itself.
If the characters are doubled, then the echos from the computer are OK
and you may switch to full-duplex to fix this.  But if half-duplex is
set and you only see what looks like normal "echos", then they are not
coming from the computer as they should be.
-->
設定が正しいか確認するには、``stty < /dev/ttyS1''(ttyS1を使っている場
合です) を (コンソール上で) 試すこともできます。-icanon や -echo など
を付けると raw モード (本モードではおそらくだいじょうぶ) になります。
もし端末側で半 2 重 (HDX) に誤って設定されたら、タイプした時に表示され
る文字は、端末自身が表示したものです。文字が 2 重に表示されたら、コン
ピュータからのエコーが正常なので、これを直すために全 2 重に切り替えて
てください。しかし、半 2 重で正常に ``エコー'' するように見えるなら、
コンピュータから送られてきていません。

<!--
If you get a message saying something like "login failed" then if
there is no error in typing or in the password, there may be some
restrictions on logins which will not allow you to log in.
Unfortunately, this message, may not tell you why it failed.  See <ref
id="login_restr" name="Login Restrictions">
-->
``login failed'' のようなメッセージが表示される場合、タイプミスやパス
ワードに誤りがなければ、ログインが許可されていないなどの制限に引掛った
ものと思います。残念ながら、このメッセージはログインできない理由を教え
てくれません。<ref id="login_restr" name="Login の制限">をご覧ください。

<sect1><!-- Garbled Login Prompt -->
誤ったログインプロンプト <label id="garbled">
<p>
<!--
 This may be due to using the wrong character set, transmission
errors due to too high of a baud rate, incompatible baud rates,
incompatible parity, or the wrong number of bits per byte.  If it's a
variety of strange characters you have the wrong character set or a
high order bit is being set by mistake.  If words are misspelled, try
a lower baud rate.  For baud, parity, or bits/character incompatibilities
you see a lot of the same "error character" which represents a real
character that can't be displayed correctly due to an error in parity
or baud rate.
-->
間違った文字セットを使ったり、ボーレートが高すぎるための送信エラー、ボ
ーレートの不一致、パリティの不一致、あるいは 1 バイト当りのビット数の
違いなどの原因があります。いろんな種類の文字があるなら、間違った文字セ
ットを得たり、間違って高位ビットがセットされたりします。スペルミスが発
生するようなら、ボーレートを落してみてください。ボーレート、パリティ、
あるいはデータ長の不一致により、同じ ``不正な文字'' をたくさん見かけま
すが、これらはパリティやボーレートによるエラーのために正確に表示できな
い本当の文字の代りなのです。

<!--
If you are using agetty (often just named getty), the agetty program
will detect and set parity and/or bits/character if you type something.
Try it with a return to see if it fixes it.
-->
もし agetty (単に getty と命名されたりもする) をお使いなら、agetty プ
ログラムはパリティやデータ長を検出し、設定するでしょう。なにかタイプし
てみて、パリティやデータ長が変更されてないか確認してみてください。

<sect1><!-- No Sign of any Login Prompt -->
ログインプロンプトがでない <label id="blank_">
<p>
<!--
 This is when nothing at all happens at the terminal, but the
terminal seems to be working OK.  One of the first things to do is to
make sure that all cable connections are tight and connected
to the correct connector on both the computer and terminal.  Other
causes include defective hardware or cables (must be null modem),
getty not running, terminal setup at wrong baud-rate, terminal in
local mode, etc..  At this point two different avenues of
approach are (you may pursue more than one at a time).
-->
これは端末でなにも起こらない時のことですが、端末は正常だと思われる場合
のケースです。最初にすることの一つは、コンピュータと端末の両方でケーブ
ルがきちんと正しいコネクタに接続されているか確認することです。他の原因
は、ハードウェアやケーブル (ヌルモデムが必要) の不良、getty が動いてい
ない、端末で間違ったボーレートが設定されている、端末がローカルモードに
なっている等です。このケースでは 2 つの異なるアプローチがあります (一
度に 1 つ以上追及できます)。

<!--
<itemize>
<item> <ref id="consoleD" name="Diagnose Problem from the Console">
<item> Measure Voltages <ref id="measure_volts" name="Measure
 Voltages">
</itemize>
-->
<itemize>
<item> <ref id="consoleD" name="コンソールから問題を診断しなさい">
<item> Measure Voltages <ref id="measure_volts" name="電圧の測定">
</itemize>

<sect2><!-- Diagnose Problem from the Console -->
コンソールから問題を診断しなさい <label id="consoleD">
<p>
<!--
 At the console (or another working terminal), use "top" or "ps
-al" to see if getty is running on the port.  Don't confuse it with
getty programs running on other ports or on the virtual consoles.  You
will not get a login prompt unless getty runs.  
-->
コンソール (あるいは他の端末) で、getty が正しいポートで動いていること
を ``top'' か ``ps -al'' で確認してください。他のポートや仮想端末で動
く getty プログラムと間違わないように。getty が動いていてもログインプ
ロントは表示されませんよ。

<!--
One test is to try to copy a short file to the terminal (It might be a
good idea to try this near the start of the installation process
before setting up getty).  Use the Linux copy command such as: cp
file_name /dev/ttyS1.  If it doesn't work, use stty to make the
interface as simple as possible with everything disabled (such as
hardware flow control: -crtscts; parity, and modem control signals:
clocal).  Be sure the baud rates and the bits/byte are the same.  If
nothing happens verify that the port is alive with a voltmeter per the
next section.
-->
テストとして、小さなファイルを端末にコピーしてみてください (getty を設
定する前のインストールの最初の過程で、これを試すのもよい考えです)。cp 
file_name /dev/ttyS1 のような Linux のコピーコマンドを使います。うまく
いかなければ、stty を使ってできるだけ単純となるよう全てを無効 (ハード
ウェアフロー制御 : -crtscts、パリティ、モデム制御 : clocal) にしてみて
ください。ボーレートとデータ長が同じであることを確認してください。何も
起こらなければ、次の章なるようにポートが生きてるかどうか電圧計で確かめ
てください。

<sect2><!-- Measure Voltages -->
電圧の測定<label id="measure_volts">
<p>
<!--
 If you have a voltmeter handy check for a negative voltage (-4v to
-15v) at pin 3 (receive data) at the terminal side of the null modem
cable.  The positive lead of the meter should be connected to a good
ground (the metal connectors on the ends of cables are often not
grounded).  If there is no such negative voltage then check for it at
the transmit pin (TxD) on the computer (see <ref id="DB_pin-out"
name="DB9-DB25"> for the pin-out).  If it's present there but not at
the receive pin (RxD) at the terminal, then the cable is bad (loose
connection, broken wire, or not a null modem).  If voltage is absent,
then the serial port on the computer is dead.  Test it with a software
diagnostic test or replace it.
-->
電圧計をお持ちなら、端末側のヌルモデムケーブルの 3 番ピン (受信) の負
電圧 (-4V から -15V) を測定してください。電圧計の正側は、適切なグラン
ドにつないでおくべきです (ケーブル端の金属コネクタは信号グランドには不
適なことが多い)。負電圧が出ていなければ、コンピュータ側の送信ピン (Tx
D) を調べてください (ピンの配置については <ref id="DB_pin-out"
name="DB9-DB25">をご覧ください)。コンピュータ側で電圧が出ていて、端末
の受信ピン (RxD) で出ていなければ、ケーブルの不良です (接続がきちんと
されていない、断線、あるいはヌルモデムじゃない)。もし電圧が足りなけれ
ば、コンピュータのシリアルポートが死んでるのでしょう。診断プログラムで
テストするか、取り換えてください。

<!--
If the serial port is alive, you may want to send a file to it (with
modem controls disabled) and see if anything gets to it.  To check for
a transmitted signal with an analog voltmeter, look at the needle at
-12 V when the line is idle.  Then start sending a file (or start
getty).  You should see the needle dropping to 0 and fluttering about
0 as it measures short-run averages of the bit stream.  You can see
this also on the AC scale provided that your meter has a capacitor to
block out DC voltages when on the AC scale.  If it doesn't, then the
idle DC of -12 V will cause a high false AC reading.  Without a meter,
you could connect a known good device (such as another terminal or an
external  modem) to the serial port and see if it works OK.
-->
シリアルポートが生きているなら、ファイルを送って (モデム制御なしで)、
何か受信できるかどうか確認したいでしょう。アナログの電圧計で送信信号電
圧を調べて、ラインに何も出力してない時に針が -12v を指していることを確
認してください。それからファイルの送信 (あるいは getty) を始めてくださ
い。電圧計の針は 0 を指したあと、(送信されたデータの) ビット列の短期平
均値の電圧を指示するため、0V を中心としてふらつくはずです。あなたの電
圧計に、AC スケールでは DC 電圧を遮断するようなコンデンサがついている
なら、 AC スケールでも確認できます。そうしないと、-12v の DC 電圧は誤
った AC 電圧として読めてしまうでしょう。電圧計がなければ、他の適した装
置 (端末や外付けモデム) をシリアルポートに接続して、正常に動くか確認し
てください。

<sect1><!-- Slow: pauses of several seconds between bursts of
characters -->低速 : キャラクタとキャラクタの間で数秒の待ち
<p>
<!--
 You likely have mis-set interrupts>  See the Serial-HOWTO section
starting with "Slow:" 
-->
割り込みの設定を間違ったら、Serial-HOWTO の ``Slow'' で始まる章をご覧
ください。

<sect1><!-- Terminal doesn't scroll -->
端末がスクロールしない <label id="no_scroll_25">
<p>
<!--
 One reason is that something is wrong with terminfo.  Another
reason could be that you are outside the scrolling region set for the
terminal.  Some programs just assume that your terminal has 24 lines
and set the scrolling region for 24 lines (by an escape sequence sent
to the terminal) without consulting terminfo to see how many lines
there actually are.  Then when you use another program it may leave
the cursor on line 25 where it becomes trapped and the terminal will
not scroll.  To avoid this problem, create an environment variable
"export LINES=25" and then the programs that assume 24 lines will
hopefully use 25 lines set the scrolling region accordingly.  An
alternate way to fix this problem is to use the command "stty rows
25".
-->
原因の一つは、terminfo の何かが間違っているためです。別な原因は、端末
のスクロール領域の外側にセットされているからです。幾つかのプログラムは、
あなたの端末が 24 行だと推定して、terminfo から実際は何行あるかを得ず
にスクロール領域を (端末にエスケープシーケンスを送ることで) 24 行に設
定します。それで他のプログラムを使ったときに、25 行目のカーソルは捨て
られて、端末はスクロールしません。この問題を防ぐために、環境変数 ``exp
ort LINES=25'' をセットしておいて、24 行だと勘違いするプログラムがそれ
に応じてスクロール領域を 25 行として使うようにします。問題解決のための
かわるがわるの方法はコマンド ``stty rows 25'' を使うことです。

<sect1><!-- Serial Monitoring/Diagnostics -->
シリアルモニタリング / 診断 <label id="serial_mon">
<p>
<!--
 A few Linux programs will monitor the modem control lines and
indicate if they are positive (1) or negative (0).
<itemize>
<item> statserial (in Debian distribution)
<item> serialmon (doesn't monitor RTS, CTS, DSR but logs other
  functions)
<item> modemstat (only works on Linux PC consoles.  Will coexist with
the command line)
</itemize>
You may already have them.  If not, go to <url url=
"http://sunsite.unc.edu/pub/Linux/system/serial/"
name="Serial Software">.  When using these, bear in mind that what you
see is the state of the lines at the host computer.  The situation at
the terminal will be different since some wires are often missing from
cables while other wires cross over.  As of June 1998, I know of no
diagnostic program in Linux for the serial port.  
-->
わずかな Linux プログラムはモデム制御線をモニタリングして、正 (1) か 
負 (0) かを表示します。 

<itemize>
<item> statserial (Debian ディストリビューション) 
<item> serialmon (RTS, CTS, DSR をモニタしませんが、ログに残します)
<item> modemstat (Linux PC コンソールでだけ動作します。コマンドライン上で動作
します) 
</itemize>

あなたはもうお持ちかもしれませんが、もしお持ちでないなら、<url url=
"http://sunsite.unc.edu/pub/Linux/system/serial/"
name="Serial Software"> をご覧なさい。これらを使って見たものがホストコ
ンピュータのシリアルラインの状態だということを心に留めてください。端末
での状況は違って、数本の線がケーブルから外れていたり交差したりします。 
1998 年 7 月の時点では Linux のシリアルポート診断プログラムを知りません。

<sect1><!-- Local Mode -->ローカルモード<label id="local_mode">
<p>
<!--
 In local mode, the terminal disconnects from the computer and
behaves like a typewriter (only it doesn't type on paper but on the
screen).  Going back into on-line mode reconnects to the computer
allowing you to resume activities at the same point where you left off
when you went into "local".  This is useful both for testing the
terminal and for educational purposes.  Some terminals use "block
mode" as the "local mode".
-->
ローカルモードでは、端末はコンピュータから切り離され、タイプライター 
(紙に印字せずに画面に表示するだけですが) のように働きます。コンピュー
タへ再接続しオンラインモードへ戻ると、``local'' になる前の状態に回復す
ることができます。これは端末のテストと教育用途の両方に向いています。幾
つかの端末では ``ローカルモード'' として ``ブロックモード'' を使います。

<!--
When in local mode you may type escape sequences (starting with the
ESC key) and observe what they do.  If the terminal doesn't work
correctly in local mode, it's unlikely that it will work correctly
when connected to the computer.  If you're not exactly sure what an
escape sequence does, you can try it out in local mode.  You might
also use it for trying out a terminal that is for sale.  To get into
local mode on some terminals you first enter set-up mode and then
select "local" from a menu (or press a certain key).  See <ref
id="enter_setup" name="Getting Into Set-Up (Configuration) Mode">.
-->
ローカルモードでは、エスケープシーケンス (ESC コードで始まる) を入力し
何が起きるか確認できます。端末がローカルモードでうまく動かなければ、コ
ンピュータに接続しても正しく動く見込みはありません。エスケープシーケン
スがどのように働くかちゃんと理解していないなら、ローカルモードで試す手
があります。また販売されている端末を十分試すにも用いることができますよ。
ローカルモードにするには、まずセットアップモードにしたあとで、メニュー
から ``local'' を選択します (あるいは特定のキーを押す)。<ref
id="enter_setup" name="セットアップ 
(設定) モードにする">をご覧ください。

<sect1><!-- Serial Electrical Test Equipment -->シリアルの電気的なテスト装置

<sect2><!-- Breakout Gadgets, etc. -->引き出し工具
<p>
<!--
 While a multimeter (used as a voltmeter) may be all that you need
for just a few terminals, simple special test equipment has been made
for testing serial port lines.  Some are called "breakout ... " where
breakout means to break out conductors from a cable.  These gadgets
have a couple of connectors on them and insert into the serial cable.
Some have test points for connecting a voltmeter.  Others have LED
lamps which light when certain modem control lines are asserted
(turned on).  Still others have jumpers so that you can connect any
wire to any wire.  Some have switches.  
-->
マルチメータ (電圧計として使用) はほんの少しの端末に必要な機能を全て備
えていますが、単純で特別なテスト道具がシリアルポートラインのテスト用と
して作られています。幾つかのものは ``ブレークアウト ...'' と呼ばれ、ブ
レークアウトはケーブルから導線を引っぱり出すという意味です。これらの道
具には一組のコネクターがあり、そこにシリアルケーブルを差し込むのです。
電圧計を接続するコネクタを備えているものもあります。他には LED があり、
モデム制御線のどれかが有効になると (電圧が生じると) 点灯します。またあ
るものにはジャンパー線があり、任意の線を接続できます。他にはスイッチ付
きのものもあります。

<!--
Radio Shack sells (in 1998) a "RS-232 Troubleshooter" or "RS-232 Line
Tester" which checks TD, RD, CD, RTS, CTS, DTR, and DSR.  A green
light means on (+12 v) while red means off (-12 v).  They also sell a
"RS-232 Serial Jumper Box" which permits connecting the pins anyway
you choose.
-->
Radio Shack では TD, RD, CD, RTS, CTS, DTR, DSR をチェックするための
``RS-232 トラブルシュータ'' や ``RS-232 ラインテスタ'' を販売 (1998年
現在) しています。緑のライトは (+12V) で、赤は (-12V) を表します。``RS -
232 シリアルジャンパーボックス'' も販売しており、これはどのピンへも接
続できるものです。

<sect2><!-- Measuring Voltages -->電圧の測定
<p>
<!--
 Any voltmeter or multimeter, even the cheapest that sells for
about $10, should work fine.  Trying to use other methods for
checking voltage is tricky.  Don't use a LED unless it has a series
resistor to reduce the voltage across the LED.  A 470 ohm resistor is
used for a 20 ma LED (but not all LED's are 20 ma).  The LED will
only light for a certain polarity so you may test for + or - voltages.
Does anyone make such a gadget for automotive circuit testing??  Logic
probes may be damaged if you try to use them since the TTL voltages
for which they are designed are only 5 volts.  Trying to use a 12 V
incandescent light bulb is not a good idea.  It won't show polarity
and due to limited output current of the UART it probably will not
even light up.
-->
どんな電圧計やマルチメータ -- $10 程度で売られてるものでさえ -- 良好に
測定できます。他の方法で電圧を測定するのはトリッキーなことです。電圧を
降圧するための直列抵抗がつながってないかぎりは LED を使ってはいけませ
んよ。20 mA の LED には 470 オームの抵抗が使われます (でも全ての LED 
が 20 mA ではありません)。LED はある電気極性のときにだけ発光するので +
 か - の電圧をテストできるはずです。自動車の電子回路のチェック用にこん
な道具を誰かが作ったんでしたっけ ?? ロジックプローブは 5V の TTL 用に設計されているので、これを測定に使うとロジックプローブを損傷してしまいますよ。
12 V の白熱灯を試すことはいいアイデアじゃありません。極性を示さな
いし、 UART の出力電流制限のためにおそらく光らないと思います。

<!--
To measure voltage on a female connector you may plug in a bent paper
clip into the desired opening.  The paper clip's diameter should be no
larger than the pins so that it doesn't damage the contact.  Clip
an alligator clip (or the like) to the paper clip to connect up.
-->
メスのコネクタの電圧を測定するなら、曲ったペーパークリップをお望みの穴
に挿しこめばよい。ペーパークリップの直径はピンより大きくないので、端子
を傷つけることがないのです。接続にはペーパークリップに鰐口クリップを挟
みこんでください。

<!--
<sect2> Taste Voltage --><!--電圧の味見-->
<!--訳注：このパラグラフの内容は危険なので日本語訳から外します -->
<p>
<!--
 As a last resort, if you have no test equipment and are willing to
risk getting shocked (or even electrocuted) you can always taste the
voltage.  Before touching one of the test leads with your tongue, test
them to make sure that there is no high voltage on them.  Touch both
leads (at the same time) to one hand to see if they shock you.  Then
if no shock, wet the skin contact points by licking and repeat.  If
this test gives you a shock, you certainly don't want to use your
tongue.
-->
<!--
最後の手段として、何のテスト道具も持たず、ショックを受ける (電気処刑に匹
敵するかもしれない) ことも辞さない覚悟があるなら、電圧の味見をする手が
あります。あなたの舌でリード線を舐める前に、高い電圧が流れてないか確認
しておいてください。両方のリード線を (同時に) 手で触ってみてショックが
ないか確認するのです。それでショックを感じなければ、接触させる肌をなめ
て濡らして、同じことを繰り返すのです。それでショックを感じるようなら、
舌を使うことは絶対止めておきなさい。
-->
<!--
For the test for 12 V, Lick a finger and hold one test lead in it.
Put the other test lead on your tongue.  If the lead on your tongue is
positive, there will be a noticeable taste.  You might try this with
flashlight batteries first so you will know what taste to expect.
-->
<!--
12 V のテストをするなら、指を舐めてテストするリード線をつかみなさい。
もう一方のリード線の端を舌の上にのせます。舌にのせたリード線にプラス電
圧がかかっていたらすぐ気がつくような味がするはずです。最初にフラッシュ
ライトのバッテリーで試したら、どんな味がするのかわかってるはず。
-->

<sect><!-- Repair & Diagnose -->修理と診断 <label id="repair_">

<p>
<!--
 Repairing a terminal has much in common with repairing a monitor
and/or keyboard.  Sometimes the built-in diagnostics of the terminal
will tell you what is wrong on the screen.  If not, then by the
symptoms, one may often isolate the trouble to one of the following:
bad keyboard, CRT dead, terminal digital electronics failure.  It's
best to have a service manual, but even if you don't have one, many
terminals may still be repaired.
-->
端末の修理は、モニタやキーボードを修理することとかなり共通点があります。
端末に備わっている診断ソフトが悪い個所を画面に表示してくれたりします。
診断ソフトがなければ、その時は徴候によって、キーボードや CRT の故障、
端末の電子回路の不良うちから問題を一つに絞りこむことができます。サービ
スマニュアルがあれば一番いいのですが、お持ちでなくともだいたいの端末は
修理できますよ。

<sect1><!-- Repair Books & Websites -->
修理についての参考書籍と Web サイト <label id="repair_info">
<sect2><!-- Books -->参考書籍
<p>
<!--
 Bigelow, Stephen J.: Troubleshooting & Repairing Computer
Monitors, 2nd edition, McGraw-Hill, 1997.  Doesn't cover the character
generation electronics nor the keyboard.
-->
Bigelow, Stephen J.: Troubleshooting & Repairing Computer Monitors, 2n
d edition, McGraw-Hill, 1997 年出版。文字型の装置やキーボードに関する
説明はありません。

<sect2><!-- Websites -->Web サイト
<p>
<!--
 The FAQ <url url="http://www.repairfaq.org"> for the newsgroup:
sci.electronics.repair is long and comprehensive, although it doesn't
cover terminals per se.  See the section "Computer and Video
Monitors".  Much of this information is applicable to terminals as are
the sections: "Testing Capacitors", "Testing Flyback Transformers",
etc.  Perhaps in the future, the "info" on repair in this HOWTO will
consist mainly of links to the above FAQ (or the like).
<url
url="http://www.cs.utk.edu/~shuford/terminal/repair_hints_news.txt"
name="Shuford's repair archive"> of newsgroup postings on terminal
repair is another source of info.
-->
ニュースグループ http://www.repairfaq.org に FAQ <url
url="http://www.repairfaq.org">があります。sci.electronics.repair は豊
富でわかりやすいけれど、章毎に端末の説明がありません。
"Computer and Video Monitors" の章をご覧ください。ここの情報の多く、章
でいえば "Testing Capacitors", "Testing Flyback Transformers" などは端
末のことを適切に説明しています。多分将来は、この HOWTO の修理について
の ``情報'' は上記 FAQ (あるいはそれに類するもの) へのリンクが主として
含まれるはずです。端末の修理に関するニュースグループへの投稿 <url
url="http://www.cs.utk.edu/~shuford/terminal/repair_hints_news.txt"
name="Shuford's repair archive"> もまた情報源となります。

<sect1><!-- Safety -->安全性
<p>
<!--
 CRT's use high voltage of up to 30,000 volts for color (less for
monochrome).  Be careful not to touch this voltage if the set is on
and the cover off.  It probably won't kill you even if you do since
the amount of current it can supply is limited.  But it is likely to
badly burn and shock you, etc.  High voltage can jump across air gaps
and go thru cracked insulation so keep your hands a safe distance from
it.  You should notice the well-insulated high voltage cable connected
to one side of the picture tube.  Even when the set is off, there is
still enough residual voltage on the picture tube cable connection to
give you quite a shock.  To discharge this voltage when the set is
unplugged use a screwdriver (insulated handle) with the metal blade
grounded to the picture tube ground cable with a jumper wire.  Don't
use chassis ground.
-->
カラー CRT には 3 万ボルト以上の高圧電流が流れています (白黒はもっと低
い)。たとえ電源が入っていなくても、カバーが外れていたら電圧に触れない
よう注意してください。電流制限がかかっているので、おそらく触れても死ぬ
ことはないはずですが、でもひどい火傷やショックなどを与えると思います。高
電圧はエアギャップを伝って絶縁破壊を起すので、手は十分安全な位置にある
ように気をつけてください。安全なように絶縁された高圧線がブラウン管の端
に接続されているのに気づくことでしょう。電源が切られていても、このブラ
ウン管へのケーブル接続にはあなたにショックを与えるのに十分な残留電圧が
あります。電源を切った後にこの残留電圧を放出するには,ジャンパー線付き
のブラウン管の接地線に接地した金属ブレードがついたドライバーを使います。

<!--
The lower voltages (of hundreds of volts) can be even more dangerous
since they are not current limited.  It is even more dangerous if your
hands are wet or if you are wearing a metal watchband, ring or the
like.  In rare cases people have been killed by it so be careful.  The
lowest voltages of only several volts on digital circuitry are fairly
safe but don't touch anything (except with a well insulated tool)
unless you know for sure.
-->
低圧 (数百ボルト程度) でさえも電流制限がかかってないのでより危険なので
す。手が濡れていたり、金属製の腕時計、あるいはリングのようなものをして
いるならさらに危険です。稀に死亡することもあるので注意すること。デジタ
ル回路の数ボルト程度のより低電圧ではかなり安全ですが、本当に安全だと確
認できないかぎりはどれにも触ってはいけない。

訳注：非常に危険なことが書いてあります。高圧電流によって何千件もの死亡
例があります。CRT のカバーを *絶対に* 外してはいけません。

<sect1><!-- Appearance of Display -->外観
<p>
<!--
 If the display is too dim, turn up the brightness and/or contrast.
using knobs on the exterior of the unit (if they exist).  If the
width, height or centering is incorrect, there are often control knobs
for these.  For some older terminals one must press an arrow key
(or the like) in set-up mode.
-->
表示があまりに暗すぎるなら、ディスプレイの外側にあるつまみ (もしあるな
ら) を使って輝度かコントラストを調整しましょう。幅、高さ、あるいはセン
タリングが正確でなければ、それ用の調整つまみを使います。古い端末の幾つ
かでは、セットアップモードにして矢印キー (かそれに類するもの) を押さなけ
ればなりません。

<!--
You may need to remove the cover to make adjustments, especially on
older models.  You could arrange things so that a large mirror is in
front of the terminal so as to view the display in the mirror while
making adjustments.  The adjustments to turn may be on a printed
circuit board.  While a screwdriver (possibly Phillips-head) may be
all that's needed, inductors may require special TV alignment tools
(plastic hex wrenches, etc.).  The abbreviated name of the adjustment
should be printed on the circuit board.  For example, here are some
such names:

<itemize>
<item> V-Size adjusts the Vertical height (Size)
<item> H-Size adjusts the Horizontal width (Size).  It may be an inductor.
<item> V-Pos adjusts the Vertical Position
<item> H-Pos adjusts the Horizontal Position
<item> V-Lin adjusts Vertical Linearity (Use if width of scan lines
				differs at the top and bottom of the screen)
<item> V-Hold adjusts Vertical Hold (Use if screen is uncontrollable
							scrolling)
<item> Bright adjusts brightness (an external knob may also exist)
<item> Sub-Bright adjusts brightness of subdued intensity mode (often
	the normal mode: dimmer than bold or bright mode).
</itemize>
-->
古い端末では特にそうでしょうが、調整のためにカバーを取り外す必要があり
ます。調整中に鏡にディスプレイが映るように、端末の前に鏡をおいておけば
調整をきちんとすることができます。調整用つまみはプリント基盤上にあるか
もしれません。ドライバー (可能ならプラスねじ) は常に必要ですが、インダ
クターには特別な TV 組み立て用ツール (プラスティックの六角レンチなど) 
が必要かもしれません。調整つまみの略称が基盤上に印刷されているはずで
す。例えば、以下に示す略称があります。 

<itemize>
<item> V-Size は垂直方向の高さ (サイズ) を調整します 
<item> H-Size は水平方向の幅 (サイズ) を調整します。それはインダクタかもしれ
ません。 
<item> V-Pos は垂直方向の位置を調整します。
<item> H-Pos は水平方向の位置を調整します。
<item> V-Lin は垂直方向の歪みを補正します (走査線の幅が画面の一番上と一番下で
異なるとき使います)。
<item> V-Hold は垂直同期を調整します (スクロールがおかしくなってるときに使い
ます)。
<item> Bright は輝度を調整します(外側にもつまみがあります)。 
<item> Sub-Bright は輝度の落ち付き具合のモードを切り換えします (ノーマルモー
ドではボールドやブライトモードよりぼんやりしています)。
</itemize>

<!--
Changing linearity may change the size so that it will need to be
readjusted.  A terminal that has been stored for some time may have a
small display rectangle on the screen surrounded by a large black
border.  If it's difficult to adjust, wait a while before adjusting it
since it will likely recover some with use (the black borders will
shrink).
-->
歪み補正を変えるとサイズが変るので再調整が必要です。保存されているしば
らくの間の端末には、大きな黒い境界線で囲まれた小さな長方形が表示される
かもしれません。それで調整が難しければ、少し待っていれば使えるよう回復
するでしょう (黒い境界線は縮むから)。

<sect1><!-- Diagnose -->診断
<sect2><!-- Terminal Made a Noise -->端末から異音が聞こえる場合
<p>
<!--
 If the terminal made some noise just before it failed (or when you
turn it on after it failed) that noise is a clue to what is wrong.  If
you hear a sparking noise or see/smell smoke, immediately turn the
terminal off to prevent further damage.  The problem is likely in the
high voltage power supply of several thousand volts.  Remove the cover
and if the bad spot is not evident, turn it on again for a short time
in a dimly lit room to look for arcing.  The high voltage
cable (runs between the flyback transformer and the side of the
picture tube) may have broken insulation that arcs to ground.  Fix it
with high-voltage insulating dope, or special electrical tape designed
say for 10,000 volts.
-->
端末が故障する前 (あるいは故障後に電源を入れたとき) に異音を発したら、
それは故障箇所を特定する手がかりとなります。もしスパークしたような音を
聞いたり、煙を見たり匂ったりしたら、一層の損傷を防ぐためにすぐに電源を
切ってください。カバーを外しても悪い個所がどこか分らなければ、火花が見
えるよう部屋を暗くして、ちょっとだけ電源を入れてみてください。高電圧ケ
ーブル (フライバックトランスと真空管とを接続する) が、グランドへのアー
クで絶縁破壊しているかもしれません。高電圧の絶縁用のワニスか、1 万ボル
ト用に設計された特殊なテープで補修しましょう。

<!--
The flyback transformer (high voltage) may make only a faint clicking
or sparking noise if it fails.  You may not hear it until you turn the
terminal off for a while to rest and then turn it back on again.  To
track down the noise you may use a piece of small rubber tubing (such
as used in automobiles) as a stethoscope  to listen to it.  But while
you are listening for the noise, the terminal is suffering more damage
so try find it fast (but not so fast as to risk getting shocked).
-->
フライバックトランス (高電圧) が壊れたら、かすかなクリック音か火花の音
がするかもしれません。電源を切ると音がしなくなったら、しばらく待ってか
ら再度電源を入れてみてください。その音の出所をさぐるには、小さなゴム管 
(自動車でよく使われる) を聴診器代りにして音を聞いてみてください。しか
し異音を聞いている間も端末は損傷するので、すばやく見つけること (ただし、
あまりに急いで (感電による) ショックを受けるような危険を冒さないように、
くれぐれも注意のこと)。

<!--
A short in the power supply may cause a fuse to blow with a pop.
Replacing a blown fuse may not solve the problem as the same short may
blow the fuse again.  Inspect for any darkened spots due to high heat
and test those components.  Shorted power transistors may cause the
fuse to blow.  They may be tested with a transistor checker or even
with an ohm-meter.  Use the low ohm scale on an ohm-meter so that the
voltage applied by the meter is low.  This will reduce the possible
damage to good components caused by this test voltage.
-->
電源部分の短絡により、ヒューズがポンと切れたかもしれません。切れたヒュ
ーズの取り換えは問題の解決にはならないので、同じことがまた起きるでしょ
う。高熱で黒く焼けた部分を点検して、それらの部品をテストしてください。
パワートランジスタの短絡が、ヒューズ切断の原因かもしれません。トランジ
スタチェッカか抵抗計でチェックしてください。抵抗計は、メータの供給電圧
が低くなるよう、小さなスケールのものを使ってください。これはテスト電圧
によって正常な装置を壊さないようにするためです。

<!--
If the terminal has been exposed to dampness such as being stored in a
damp place or near a kitchen with steam from cooking, a fix may be to
dry out the unit.  Heating a "failed" flyback transformer with a blow
dryer for several minutes may restore it.
-->
端末が、湿った場所や料理の湯気が立ちこめている台所の近くのような湿気に
さらされたなら、乾燥させなさい。ドライヤーで ``壊れた'' フライバックト
ランスを数分間暖めたら回復するかもしれません。

<sect2><!-- Terminal Made No Noise -->端末から異音がしない場合

<p>
<!--
 A blank screen may be due to someone turning the brightness
control to the lowest level or to aging.  The next thing to do is to
check the cables for loose or broken connections.  If there is no sign
of power, substitute a new power cord after making sure that the power
outlet on the wall is "hot".
-->
画面に何も映ってないのは、輝度の調整が一番低いレベルになってるか、また
は寿命がきたからです。次にすることは、ケーブルが緩んでるか接続部分が壊
れてないかを調べることです。電源が入ってないようなら、電源コンセントに
ちゃんと``電気がきてる''ことを確認した上で、新しいケーブルに取り換えて
みてください。

<!--
If the keyboard is suspected, try it on another terminal of the same
type or substitute a good keyboard.  Wiggle the keyboard cable ends
and the plug.  Wires inside cables may break, especially near their
ends.  If the break is verified by wiggling it (having the problem go
on and off in synchronization with the wiggles), then one may either
get a new cable or cut into the cable and re-solder the breaks, etc.
-->
キーボードが疑わしいようなら、同型の端末と交換するか、正常なキーボード
と交換してみましょう。また、キーボードケーブルの端やプラグをよじってみ
てください。ケーブルの配線の、特にプラグ付近が断線しているのかもしれま
せん。よじってみて (その動きに同期して、おかしくなったりまともに動い
たりすることで) 断線だと判明したら、新しいケーブルに取り換えるか、ケー
ブルを切って切断部分を半田付けをするなどすればよい。

<!--
One of the first things to do if the keyboard works is to put the
terminal into <ref id="local_mode" name="Local Mode">.  If it works OK
in local, then the problem is likely in the connection to the host
computer (or incorrect interface) or in the UART chips of the
terminal.
-->
キーボードが動作するなら、最初にすることの一つは端末を<ref
id="local_mode" name="ローカルモード">にすることです。ローカルモードで
ちゃんと動いたら、ホストコンピュータとの接続か、(インターフェースの不
整合か) 端末の UART に問題がありそうです。

<!--
By carefully inspecting the circuitry, one may often find the cause of
the problem.  Look for discoloration, cracks, etc.  An intermittent
problem may sometimes be found by tapping on components with a
ball-point pen (not the metal tip of course).  A break in the
conductor of a printed circuit board may sometimes be revealed by
flexing the board.  Solder that looks like it formed a drop or a
solder joint with little solder may need re-soldering.  Soldering may
heat up transistors (and other components) and damage them so use a
heat sink if feasible.
-->
慎重に回路を点検することで、問題の原因がよく見つかります。変色、ひびな
どを探しなさい。断続して起きる問題は、ボールペン (もちろん金属製はダメ
ですよ) で部品を叩くと時々見つけられたりします。プリント基板の導体の断
線は基板を曲げるとはっきり分ります。半田がとれたり、少量しか半田付けさ
れていない個所があれば、半田付けをやり直す必要があります。半田付けは、
トランジスタ (や他の部品) を加熱して損傷を与えるので、できたら熱を逃が
すための工具を使ってください。

<!--
If you have a common brand of terminal, you may be able to search
newsgroup postings on the Internet to find out what the most frequent
types of problems are for your terminal and perhaps information on how
to fix them.
-->
ありふれたブランドの端末をお持ちなら、インターネットのニュースグループ
に投稿された記事の中から、あなたと同じ端末でたびたび起きる問題や、多分
それを解決する方法を探すことができるでしょう。

<!--
To see if the digital electronics work, try (using a good keyboard)
typing at the bad terminal.   Try to read this typing at a
good terminal (or the console) using the copy command or with a
terminal communication program such as minicom.  You may need to hit
the return key at the terminal in order to send a line.  One may
ask the bad terminal for its identity etc. from another terminal.
This will show if two-way communication works.
-->
電子回路がちゃんと動いてることを確認するには、壊れた端末で (正常なキー
ボードを使って) タイプしてみることです。正常な端末 (またはコンソール) 
で、copy コマンドか minicom のような端末通信プログラムを使って試しなさ
い。一行送るのに端末で改行キーを叩く必要があります。別の端末から壊れた
端末に識別子などを問合わせるかもしれません。これで双方向通信が働いてい
るかどうかを確認できるでしょう。

<sect1><!-- Error Messages on the Screen -->画面上のエラーメッセージ
<p>
<!--
 You are in luck if you see an error message on the screen.  This
usually happens when you first turn the terminal on.
-->
幸運ならエラーメッセージが画面に表示されます。通常は最初に端末の電源を
入れた時に起こります。

<sect2><!-- Keyboard Error -->キーボードエラー
<p>
<!--
 This usually means that the keyboard is not plugged in, or that
the connection is loose.  For more serious problems see <ref
id="keyboards_" name="Keyboards">
-->
これは通常、キーボードが接続されてないか、接続が緩んでいるという意味で
す。より重大な問題については<ref
id="keyboards_" name="キーボード">をご覧ください。

<sect2><!-- Checksum Error in NVR -->NVR のチェックサムエラー
<p>
<!--
 NVR is "Non-Volatile RAM".  This means that the NVR where the
set-up information is stored has become corrupted.  The terminal will
likely still work but the configuration that was last saved when
someone last configured the terminal has likely been lost.  Try
configuring again and then save it.  It might work.  On very old
terminals (early 1980's) there was a battery-powered CMOS to save the
configuration so in this case the problem could be just a dead
battery.  Sometimes the EEPROM chip (no battery needed) goes bad after
too many saves.  It may be hard to find.  If you can't fix it you are
either stuck with the default configuration or you may have escape
sequences sent to the terminal when you start it up to try to
configure it.
-->
NVR とは ``Non-Volatile RAM (不揮発性メモリ)'' のことです。これは設定
情報が保存されている NVR がおかしくなったことを示します。端末はそれで
も動くはずですが、誰かが端末の設定をした時に最後に行ったものは失なわれ
てしまいます。もう一度設定して、保存してみてください。多分動くはずです。
すごく古い端末 (1980 年の初頭) では、設定を保存するのにバッテリーバッ
クアップの CMOS が使われているので、このケースでの問題はバッテリーが上
ったためです。EEPROM (バッテリー不要) ではたまに保存のし過ぎでおかしく
なります。これをつきとめるのは難しいですよ。修復できなければ、デフォル
ト設定で固定するか、開始時に端末へ設定用エスケープシーケンスを送るかの
どちらかです。

<sect1><!-- Capacitors -->コンデンサ

<p>
<!--
 Electrolytic capacitors have a metal shell and are may become weak
or fail if they set for years without being used.  Sometimes just
leaving the terminal on for a while will help partially restore them.
If you can, exercise any terminals you have in storage by turning them
on for a while every year or two.
-->
電解コンデンサは金属製の入れものに入っており、数年使わずにいたら効果が
弱まり動かなくなります。時々はただ端末の電源を入れてやるだけで、回復さ
せるでしょう。できることなら、1,2 年に 1 回は端末の電源を入れることを
心掛けてください。

<sect1><!-- Keyboards -->キーボード <label id="keyboards_">
<sect2><!-- Interchangeability -->キーボード 
<p>
<!--
 The keyboards for terminals are not the same as keyboards for
PC's.  The difference is not only in the key layout but in the codes
generated when a key is pressed.  Also, keyboards for various brands
and models of terminals are not always interchangeable with each
other.  Sometimes one get an "incompatible" keyboard to partially work
on a terminal.  All the ASCII keys will work OK, but special keys such
as set-up and break will not work correctly.
-->
端末のキーボードは PC のものとは違います。違いはキーレイアウトばかりで
はなく、キーを押した時に発生するコードも違います。そして、各種ブランド
や端末の型式の違いでいつも互換性があるわけではありません。時々は ``非
互換'' のキーボードが端末で部分的に動くことがあります。全ての ASCII キ
ーは大丈夫のはずですが、セットアップやブレークなどの特殊なキーはちゃん
と働かないでしょう。

<sect2><!-- How They Work -->どのように働くか
<p>
<!--
 Most keyboards just make a simple contact between two conductors
when you press a key.  Electronics inside a chip in the keyboard
converts this contact closure into a code sent over the keyboard's
external cable.  Instead of having a separate wire (or conductor)
going from each key to the chip, the following type scheme is used.
Number the conductors say from 1-10 and A-J.  For example: conductor 3
goes to several keys and conductor B goes to several keys, but only
one key has both conductors 3 and B going to it.  When that key is
pressed, a short circuit is established between 3 and B.  The chip
senses this short and knows what key has been pressed.  Such a scheme
reduces the number of conductors needed (and  reduces the number of
pins needed on the chip).  It's a similar scheme to what is called a
"crossbar switch".
-->
ほとんどのキーボードは、キーを押すと 2 本の配線を単純に接触させるよう
になっています。キーボードの IC チップ内の電子回路が、配線の接触をキー
ボードの外部ケーブルへ送りだすコードに変換します。各キーから IC チップ
につながる個別の配線のかわりに、以下の方式が採用されています。配線の番
号を 1-10 と A-Jと名付けます(合計 20 本)。 例えば、3 番の配線は複数のキー
に接続されていて、B 番の配線も複数のキーに接続されています。しかし、3 番
の配線と B 番の配線の両方に接続されているキーは一つだけです。そのキーが
押された時に、3 番の配線と B 番の配線の間に閉回路が作られます。IC チップ
はこの短絡を検出して、どのキーが押されたか識別します。この方式は 必
要な配線を減らすことが出来ます (したがって、IC チップのピン数も減らせま
す)。この方式は (電話交換機の)``クロスバースイッチ''と同じです。

<sect2><!-- One Press Types 2 Different Characters -->
1 回押すと、2 つの違う文字が表示される <label id="2chars">
<p>
<!--
 If, due to a defect, conductors 3 and 4 become shorted together
then pressing the 3-B key will also short 4 and B and the chip will
think that both keys 3-B and 4-B have been pressed.  This is likely to
type 2 different characters when all you wanted was one character.
-->
もし、不具合により 3 と 4 の配線が短絡したら、3-B キーを押すと 4 と B 
もつながって、チップは 3-B と 4-B キーの両方が押されたように思うでしょ
う。1 文字でよかったのに、2 つの異なる文字がタイプされたようになってし
まいます。

訳注：ここでの 3,4 と B は「どのように働くか」で説明した方式の配線の番
号を意味しています。

<sect2><!-- Modern vs Old Keyboards -->最近のキーボード vs 古いキーボード
<p>
<!--
 While the modern keyboard and the old fashioned type look about
the same, the mechanics of operation are different.  The old ones have
individual key switches under the key-caps with each switch enclosed
in a hard plastic case.  The modern ones use large flexible plastic
sheets (membrane) the size of the keyboard.  A plastic sheet with
holes in it is sandwiched between two other plastic sheets containing
printed circuits (including contact points).  When you press a key,
the two "printed" sheets are pressed together at a certain point,
closing the contacts printed on the sheets at that point.
-->
最近のキーボードと古いものの外見は同じように見えますが、操作の仕組みは
異なります。古いほうはハードプラスティックケースの中にある各スイッチが
キーキャップの下で独立しています。最近のものはキーボードの形をした大き
くて柔らかいプラスティックシート (膜) を使います。穴のあいたプラスティ
ックシートは、プリント回路 (接点も含む) を含む 2 つのプラスティックシ
ートに挟まれています。キーを押したら、2 つの ``プリント'' シートがある
接点で同時に押されて、その点にあるシート上のプリントされた接点をオンし
ます。

<sect2><!-- Keyboard Doesn't Work At All -->キーボードがまったく動かない
<p>
<!--
 If none of the keys work try another keyboard (if you have one) to
verify that the keyboard is the problem.  The most likely cause is a
broken wire inside the cord (cable) that connects it to the terminal.
The most likely location of the break is at either end of the cord.
Try wigging the ends of the cord while tapping on a key to see if it
works intermittently.  If you find a bad spot, you may carefully cut
into the cord with a knife at the bad spot and splice the broken
conductor.  Sometimes just a drop of solder will splice it.  Seal up
the cord with electrical tape, glue, or caulk.
-->
キーボードが動作しなくなったら、キーボードの問題かどうか確かめるために、
他のキーボード (もしお持ちなら) で試してください。ほとんどは端末への接
続コード (ケーブル) 内の断線が原因です。断線個所はコードの端であること
が多いです。断続的にでも動くかどうか確かめるために、キーを押しながらコ
ードの端をゆすってみてください。悪い個所が特定できたら、慎重にコードの
その部分をナイフで切って断線個所をつないでください。つなぐために半田を
使うこともあるでしょう。そして、電気テープ、接着剤あるいはコーキングで
封をします。

<sect2><!-- Typing b Displays bb, etc. (doubled) -->
b を押すと bb などの表示になる (2 重化)
<p>
<!--
 If all characters appear double there is likely nothing wrong with
the keyboard.  Instead, your terminal has likely been incorrectly set
up for half-duplex (HDX or local echo=on) and every character you type
is echoed back both from the electronics inside your terminal and from
your host computer.  If the two characters are not the same, there may
be a short circuit inside your keyboard.  See <ref id="2chars"
name="One Press Types 2 Different Characters">
-->
全部の文字が 2 重に見えるならキーボードはどこも悪くないです。それより
も、端末で間違った半 2 重の設定 (HDX か ローカルエコーがオン) がされて
いるために、タイプした文字全てが端末とホストコンピュータの両方からエコ
ーバックされているのです。2 つの文字が違う場合はキーボード内部の回路が
短絡しているのでしょう。<ref id="2chars"
name="1 回押すと、2 つの違う文字が表示される">をご覧ください。

<sect2><!-- The Keyboard Types By Itself -->キーボードが自分でタイプする
<p>
<!--
 If a key is shorted out it is likely to type out a large number of
the same character if auto-repeat is enabled.  If more than one key is
shorted out then repeating sequences of a few characters will be
typed.  This may cause getty to respawn too fast if it happens at the
login prompt.  See <ref id="key_shorted" name="Key Shorted">.  The fix
is to clean the contacts per <ref id="clean_keys" name="Cleaning
Keyboard Contacts">.
-->
もし 1 つのキーが短絡した時にオートリピートが有効になっていると、かな
りの数の同じ文字がタイプされたようになります。1 つ以上のキーが短絡した
ら、複数の文字がタイプされたようになるでしょう。ログインプロンプトを表
示している時に起ったら、getty をすごく早く再起動させる原因になるかもし
れせん。<ref id="key_shorted" name="キーの短絡">をご覧ください。治す方
法は、<ref id="clean_keys" name="キーボードの接点を掃除する">ことです。

<sect2><!-- Liquid Spilled on the Keyboard -->キーボードに液体をこぼした
<p>
<!--
 If water or watery liquid has been spilled on the keyboard (or if
it was exposed to rain, heavy dew, or dampness) some keys may not work
right.  The dampness may cause a key to short out (like it was pressed
down all the time) and you may see the screen fill up with that letter
if auto-repeat is enabled.  If it's gotten wet and then partially (or
fully) dried out, certain keys may not work due to deposits on the
contact surfaces.  For the modern type of keyboard, one may readily
take apart the plastic sheets inside and dry/clean them.  For the old
type one may let it dry out in the sun or oven (low temp.).  When it's
dry it may still need contact cleaner on some keys as explained below.
-->
水や、水のような液体をキーボードにこぼした (あるいは雨、ひどい霧、湿気
の中にさらした) ら、幾つかのキーはちゃんと動作しないかもしれません。湿
気はキーを短させる (キーを押しっぱなしの状態と同じ) 原因となり、オート
リピートが有効なら画面いっぱいに文字が表示されることになるかもしれませ
ん。濡らして、部分的 に(あるいは全部を) 乾かしても、接点の表面がこびり
ついたものが原因であるキーはちゃんと動かないかもしれません。最近のキー
では、プラスティックシートで隔離されていて、それらを乾かしたり掃除がで
きます。古いやつは日なたか、オーブン (低い温度で)で乾かしましょう。乾
いても、以下で説明するようにキーの接点を掃除する必要があります。

<sect2><!-- Cleaning Keyboard Contacts -->
キーボードの接点を掃除する <label id="clean_keys">
<sect3><!-- Keyboards with Membranes -->薄膜つきキーボード
<p>
<!--
 On some newer keyboards, the plastic sheets (membranes) are easy
to remove for inspection and cleaning if needed.  You only need to
remove several screws to take apart the keyboard and get to the
sheets.  On some old IBM keyboards the sheets can't be removed without
breaking off many plastic tabs which will need to be repaired with
glue to put back (probably not worthwhile to repair).  Such a keyboard
may sometimes be made to work by flexing, twisting, and/or pounding
the assembly containing the plastic sheets.
-->
新しいキーボードには、点検や掃除をするのに取り外しやすいプラスティック
製のシート (薄膜) がついているものがあります。キーボードを分解してシー
トを取り出すのに数本のネジを外すだけでよいのです。IBM の古いキーボード
では、沢山あるツマミを折らない限りは取り外ずしできなくて、ツマミを元に
戻すには接着剤を使う必要があります (多分、直す価値はなくなってます)。
プラスティックシートを含む部品を曲げたり、ひねったり、また叩いたりなど
の加工をすることで、そのようなキーボードが動くようにさせることもありま
す。

<sect3><!-- Keyboards with Individual Switches -->
独立したスイッチを持ったキーボード
<p>
<!--
 What follows is for older keyboards that have separate hard
plastic switches for each key.  Before going to all the work of
cleaning electrical contacts first try turning the keyboard
upside-down and working the bad keys.  This may help dislodge dirt,
especially if you press the key hard and fast to set up vibration.
Pressing the key down and wiggling it from side to side, etc. often
helps.
-->
続いては、各キーのハードプラスティックスイッチが別々になっている古いキ
ーボードについてです。電気接点の掃除にかかる前に、最初にキーボードを逆
さにして、おかしなキーを動かしてみてください。特にキーを強く押したり、
振動させることで、ホコリを取り除きやすくなります。キー押して、左右に揺
するのも効果があるかもしてません。

<!--
Often the key-caps may be removed by prying them upward using a small
screwdriver as a lever while preventing excessive tilting with a
finger.  There exists a special tool known as keycap puller but you
can get by without it.  (Warning: Key-caps on modern keyboards don't
pry up.)  The key-cap may tilt a bit and wobble as it comes loose.  It
may even fly up and onto the floor.  Then you have two choices on how
to clean the contacts: Use contact cleaner spray directly on top of
the key switch, or take the key switch apart and clean it.  Still
another choice is to replace the key switch with a new or used one.
-->
小さなドライバをてこにして、あまり過度に傾むかないようにしながら、キー
キャップをこじ開けて外すこともよくやります。キーキャッププラーなどとい
う専用工具もありますが、別になくてもかまいません (警告 : 最近のキーボ
ードのキーキャップはこじ開けてはいけません)。キーキャップが緩くなって
きたら少し傾いてぐらついてくるでしょう。キャップが床に飛んでくかもしれ
ません。接点を掃除するには 2 つの方法があります。キースイッチにクリー
ナーを直接吹き付けるか、キースイッチを取り外して掃除するかのどちらかで
す。また別な方法として、キースイッチを新品か中古のものと取り換える手も
あります。

<!--
Directly spraying contact cleaner or the like (obtained at an
electronics store) into the top of the key switch is the fastest
method but it may not work.  Before spraying, clean the area around it
a little.  With the keyboard live (or with the key contacts connected
to an ohm-meter) use the tube which came with the spray to squirt
cleaner so it will get inside the key switch.  Don't let the cleaning
liquid get under nearby keys where it may pick up dust and then seep
(with the dust) into adjacent key switches.  If you make this mistake
you may fix one key but damage nearby keys.  If this should happen,
immediately work (repeatedly press) the affected nearby keys until
they work OK.
-->
キースイッチの上からクリーナーか同等品 (電気店で売っています) を接点に
直接吹き付けるのが一番早い方法ですが、あまりうまくいかないでしょう。ス
プレーする前に、スイッチの辺りを掃除しておきましょう。キーボードに電流
が流れている (または、抵抗計がキー接点に接続されている) 場合、キースイ
ッチの内部に届くようにクリーナーを吹き付けるスプレーにチューブを使いな
さい。キーの近くにクリーニング用の液体をたらしてはいけませんよ。ホコリ
を集めて、隣りのキースイッチにまで漏れる (ほこと一緒に) ことになります。
この間違いを犯すと、キーを掃除しながら隣のキーまで傷めることになります。
もしやってしまったら、周りのキーがちゃんと動くかどうか確認すること。

<!--
You might tilt the keyboard so that the cleaner flows better into the
contacts.  For the CIT101e terminal with an Alps keyboard, this means
tilting the digit row up toward the ceiling.  Work the key switch up
and down with a pen or small screwdriver handle to avoid getting the
toxic cleaner liquid on your skin (or wear gloves).  You might try
turning the keyboard upside-down while working the key to drain off
remaining cleaner.  I don't usually do this.  The more cleaner you
squirt in the more likely it will fix it but it is also more likely to
do more damage to the plastic or contaminate adjacent keys, so use
what you think is just enough to do the job.  Once the key works OK,
work it up and down a little more and test it a half minute later,
etc. to make sure it will still work OK.
-->
キーボードを傾けることで、クリーニング液は接点に向って流れていきます。
 CIT101e 端末の Alps キーボードでは、数字の列を天井の方へ傾けることを
意味します。あなたの手 (や手袋) に毒性のクリーニング液がつかないように
しながら、ペンか小さなドライバーでキースイッチを上下に押してみてくださ
い。キーボードをさかさまにして、残ったクリーニング液をきってみるのもい
いかもしれません。私はあまりやりませんけど。過度にクリーナを吹き付ける
とプラスティックを傷めたり、隣のキーを汚したりするので、適度な量となる
ようよく考えて使いましょう。掃除が終った後に、キーがちゃんと動作するこ
との確認のために、キーの反応をみたり、上下に少し動かして OK かどうか確
認し、 30 秒程して同じテストをしてみてください。

<!--
Sometimes a key works fine when the contacts inside are saturated with
contact cleaner liquid.  But when the liquid dries a few minutes later
then the resulting scale deposit left from the evaporation of the
cleaning liquid on the contacts, prevents good contact.  Then the key
may work erratically (if at all).  Operating the key when the liquid
is drying inside may help.  Some switches have the contacts nearly
sealed inside so little if any contact cleaner reaches the contacts.
The cleaner that does get to the contacts may carry contamination with
it (cleaning around the tops before spraying helps minimize this).
-->
内部の接点がクリーニング液で濡れてる間はキーはまともです。しかし、数分
後に乾いたら、接点上で蒸発したクリーニング液の残りがこびりついて、接点
の正常な動きを妨げます。それでキーがおかしな動きになる場合があります。
クリーニング液が乾いてる間、キーを操作し続けることで防止する助けにはな
ります。幾つかのスイッチには、接点クリーナーが接点に侵入しないように接
点を封印してありものがあります。接点を洗浄するクリーニング液は汚れも運
んでしまいます (これを最小限にとどめるには、クリーニングの前にキーの表
面をきれいにすることです)。

<!--
If you need to disassemble the key switch, first inspect it to see how
it is installed and comes apart.  Sometimes one may remove the cover
of the switch without removing the switch from the keyboard.  To do
this pry up (or pull up) the top of the key switch after prying apart
thin plastic tabs that retain it.  Don't pry too hard or you may break
the thin plastic.  If this can't be done, you may have to unsolder the
switch and remove it in order to take it apart (or replace it).  Once
the switch has been taken apart you still may not be able to see the
contacts if the contact surfaces are sandwiched together (nearly
touching).  You may get contact cleaner on the contacts by slightly
prying apart the conducting surfaces and squirting cleaner between
them.  There may be some kind of clip holding the contact surfaces
together which needs to be removed before prying these surfaces apart.
With cleaner on the contacts, work them.  Tilting the keyboard or
inverting it may help.  Take care not to loose small parts as they may
fly up into the air when taking apart a key switch.
-->
キースイッチを分解することになったら、まず組み立てと分解の方法について
確認してから始めること。たまにキーボードからスイッチを取り外さなくても、
スイッチカバーを外せることがあります。保管しておく必要のある薄いプラス
ティック製のつまみを外した後で、キースイッチのあたまの部分をこじ開ける
 (または引っ張る) のです。あんまり強くこじ開けようとすると、薄いプラス
ティックを壊しますよ。できないようなら、それを取り外す (あるいは取り換
える) ためにスイッチの半田をとる必要があるかもしれません。スイッチを取
り外しても接点とスイッチが一緒にサンドイッチ (ほとんど接触している) さ
れていたら、接点を見ることはできません。導体の表面に少し隙間を作って、
その隙間にクリーナーを吹き付けることで接点のクリーニングをします。接点
の表面に固定用のクリップがある場合は、隙間を開ける前にこれを外しておか
なければいけません。クリーナーを接点につけて、やってください。キーボー
ドを傾むけたり、逆にすればやるやすいかもしれません。キースイッチを分解
している最中に小さな部品をどっかになくしてしまわないように気をつけまし
ょう。

<sect><!-- Appendix A: General -->付録 A: 一般

<sect1><!-- List of Linux Terminal Commands -->Linux 端末のコマンド一覧

<sect2><!-- Sending a Command to the Terminal -->端末ヘ送るコマンド
<p>
<!--
<itemize>
<item> <ref id="setterm_" name="setterm">: long options
<item> <ref id="tput" name="tput">: terse options
<item> tset: initializes only
<item> clear: clears screen
<item> setterm -reset: sends reset string
</itemize>
-->
<itemize>
<item> <ref id="setterm_" name="setterm">: 長いオプション
<item> <ref id="tput" name="tput">: 簡単なオプション
<item> tset: 初期化専用 
<item> clear: 画面クリア
<item> setterm -reset: リセット文字送信 
</itemize>

<sect2><!-- Configuring the Terminal Device Driver -->
端末デバイスドライバの設定
<p>
<itemize>
<item> <ref id="set_serial" name="Setserial">:
<item> <ref id="stty_" name="Stty">
</itemize>

<sect2> Terminfo
<p>
<!--
<itemize>
<item> <ref id="tic" name="Terminfo Compiler (tic)"> terminfo compiler 
 & translator
<item> toe: shows list of terminals for which you have terminfo
 files 
<item> <ref id="infocmp" name="infocmp" > compares or displays terminfo
 entries
</itemize>
-->
<itemize>
<item> <ref id="tic" name="Terminfo Compiler (tic)"> 
terminfo コンパイラとトランスレータ 
<item> toe: terminfo ファイルにある端末リスト表示
<item> <ref id="infocmp" name="infocmp" > terminfo エントリの比較と表示 
</itemize>

<sect2><!-- Other -->その他
<p>
<!--
<itemize>
<item> gitkeys: shows what bytes each key sends to the host.
<item> tty: shows what tty port you are connected to.
<item> set (or tset -q): shows the value of TERM, the terminfo entry name
<item> <ref id="tset" name="tset">: sets TERM interactively and initializes
</itemize>
-->
<itemize>
<item> gitkeys: 各キーがホストへ送るコードの表示
<item> tty: 現在接続している tty ポートの表示
<item> set (または tset -q): TERM 環境変数や terminfo エントリ名の表示 
<item> <ref id="tset" name="tset">: 対話形式で TERM の値をセットしたり初期化したりする 
</itemize>

<sect1> <!-- The Internet and Books -->インターネットと書籍

<sect2><!-- Terminal Info on the Internet -->
インターネット上の端末情報 <label id="internet_">
<p>
<!--
<itemize>
<item> <url url="http://www.cs.utk.edu/~shuford/terminal_index.html"
 name= "Shuford's Website"> at the University of Tennessee has a great
 deal of useful information about text terminals.
<item> VT terminal information and history <url url="http://www.vt100.net/">
<item> <url url="http://www.boundless.com/textterm/" name="Boundless">
 purchased the VT and Dorio terminal business from DEC.  To get Specs
 select either ADDS, VT, or DORIO links.  Then select a "data
 sheet" link.  Then on the data sheet select the "Go to Specs" link.
<item> <url
url="http://www.wyse.com/service/support/kbase/wyseterm.asp"
 name="Wyse text-terminals kbase"> is a major manufacturer of terminals.
 For new models see <url
 url="http://www.wyse.com/terminal/" name="Wyse terminal">  See also
 <url url="http://www.wyse.com/service/faq/wysetter.htm" name="Old
 Wyse terminal Specs"> 
<item> <url url="http://www.pericom-usa.com/twdocs/doc/twproae.htm"
 name="Escape Seqs.; N. America"> or
 <url url="http://www.pericom.co.uk/teemworld/doc/twproae.htm"
 name="Escape Seqs.; Europe"> is a list of escape sequences (and control
 codes) for some terminal emulations (including VT 100, 300, 420, and
 Wyse).  
<item> comp.terminals is the newsgroup for terminals
</itemize>
-->
<itemize>
<item>テネシー大学の 
<url url="http://www.cs.utk.edu/~shuford/terminal_index.html"
 name= "Shuford's Website">は、テキスト端末について有用な情報を
提供してくれます。
<item> <url url="http://www.vt100.net/"> には VT 端末の情報や歴史があります。
<item> <url url="http://www.boundless.com/textterm/" name="Boundless">は DEC 
の VT や Dorio 端末の販売代理店です。ADDS, VT あるいは DORIO 端末の仕様を入手
したいなら、``data sheet'' のリンクを選択して、そこで ``Go to Specs'' のリンク
を選んでください。 
<item> <url
url="http://www.wyse.com/service/support/kbase/wyseterm.asp"
 name="Wyse text-terminals kbase"> は大手の端末製造メーカです。最新の機種は
<url
 url="http://www.wyse.com/terminal/" name="Wyse terminal">
にあります。<url url="http://www.wyse.com/service/faq/wysetter.htm" name="Old
 Wyse terminal Specs"> もご覧ください。
<item> <url url="http://www.pericom-usa.com/twdocs/doc/twproae.htm"
 name="Escape Seqs.; N. America"> や
 <url url="http://www.pericom.co.uk/teemworld/doc/twproae.htm"
 name="Escape Seqs.; Europe"> は幾つかの端末エミュレータ (VT 100, 300, 420
それと Wyse) のエスケープシーケンス (と制御コード) のリストです。
<item> comp.terminals は端末に関するニュースグループです。
</itemize>

<sect2><!-- Books Related to Terminals -->端末関連の書籍
<p>
<!--
 <itemize>
<item> EIA-232 serial port see <ref id="RS232_books"
 name="EIA-232 (RS-232) Books">.
<item> Repair see <ref id="repair_info" name="Repair Books &
 Websites">.
<item> Terminfo database see <ref id="termcap_docs"
 name="Termcap Documents">
</itemize>
-->
 <itemize>
<item> EIA-232 シリアルポートについては <ref id="RS232_books"
 name="EIA-232 (RS-232) 関連書籍">をご覧ください。
<item> 修理については <ref id="repair_info" name="修理関係の書籍と Web サイト">
にあります。
<item> Terminfo については<ref id="termcap_docs"
 name="Termcap 関連の文書">をご覧ください。
</itemize>

<sect2><!-- Entire Books on Terminals -->端末全般についての書籍
<p>
<!--
 As far as I know, there is no satisfactory book on text
terminals (unless you are interested in antique terminals of the
1970's).
-->
私の知る限り、テキスト端末について満足のいく本はありません (1970年代の
アンティックな端末に興味あるかた以外は)。 

<!--
<itemize>
<item> Handbook of Interactive Computer Terminals by Duane E. Sharp;
 Reston Publishing Co. 1977. (mostly obsolete)
<item> Communicating with Display Terminals by Roger K. deBry;
 McGraw-Hill 1985.  (mostly on IBM synchronous terminals)
</itemize>
-->
<itemize>
<item>Duane E. Sharp 著 Handbook of Interactive Computer Terminals; Reston P
ublishing Co. 1977. (ほとんど時代遅れです) 
<item>Roger K. deBry 著 Communicating with Display Terminals ; McGraw-Hill 1
985. (ほとんど IBM の同期端末について書かれています) 
</itemize>

<!--
The "HANDBOOK ... " presents brief specifications of over 100 different
models of antique terminals made in the early 1970's by over 60
different companies.  It also explains how they work physically but
incorrectly shows a diagram for a CRT which uses electrostatic
deflection of the electron beam (p. 36).  Terminals actually used
magnetic deflection (even in the 1970's).  This book explains a number
of advanced technical concepts such as "random scan" and "color
penetration principle".
-->
``HANDBOOK ... '' は 60 社以上の端末メーカが製造した 1970 年代初期の 1
00 種類以上の古い端末の簡単な仕様について書かれたものです。物理的にど
のように動作するかについても説明していますが、電子ビームの静電偏向を使
った CRT に関する図に誤りがあります (p.36)。実際には端末は電磁偏向 (19
70 年代であっても) を使うのです。本書には ``ランダムスキャン'' や ``光
の3原色による発色法(加色混合)'' のような先進的な技術コンセプトの説明が
あります。

<!--
The "COMMUNICATING ... " book in contrast to the "Handbook ... " ignores
the physical and electronic details of terminals.  It has an entire
chapter explaining binary numbers (which is not needed in a book on
terminals since this information is widely available elsewhere).  It
seems to mostly cover old IBM terminals (mainly the 3270) in block and
synchronous modes of operation.  It's of little use for the commonly
used ANSI terminals used today on Unix-like systems.  Although it does
discuss them a little it doesn't show the various wiring schemes used
to connect them to serial ports.
-->
``COMMUNICATING ... '' は、``Handbook ...''と違って端末の物理的な特徴
や電気的な面の詳細には触れていません。全章にわたって 2 進数での説明が
なされています (端末についての本には必要ないので、この情報はどこか他の
分野で広く有用なのでしょう)。この本では IBM 端末 (主として 3270 端末) 
のブロックモードと同期モードでの操作について述べられているようです。今
日の Unix 系システムで共通に使われる ANSI 端末のために少しだけ使えそう
です。それらについて少し述べられていますが、シリアルポートへのつなぎ方
などの配線の概要については示されていません。

<sect2><!-- Books with Chapters on Terminals -->端末についての章がある本
<p>
<!--
 These chapters cover almost nothing about the terminals themselves
and their capabilities.  Rather, these chapters are mostly about how
to set up the computer (and its terminal driver) to work with
terminals.  Due to the differences of different Unix-like systems,
much of the information does not not apply to Linux.
-->
これらの章では端末自身のことやその能力について何も触れていません。むし
ろ、コンピュータ (と端末ドライバ) を端末として動作させる設定方法につい
て書かれています。Unix 系のシステムにはそれぞれ違いがあるために、情報
の全てが Linux には当てはまりません。

<!--
<itemize>
<item> Unix Power Tools by Jerry Peck et. al.  O'Reilly 1998.
  Ch. 5 Setting Up Your Terminal, Ch. 41: Terminal and Serial Line
  Settings, Ch. 42: Problems With Terminals
<item> Advanced Programming in the Unix Environment by W. Richard Stevens
  Addison-Wesley, 1993.  Ch. 11: Terminal I/O, Ch. 19: Pseudo Terminals
<item> Essential System Administration by Aleen Frisch, 2nd ed.
  O'Reilly, 1998.  Ch. 11: Terminals and Modems.
</itemize>
-->
<itemize>
<item>
Jerry Peck 著 / O'Reilly 1998 年発行/ Unix Power Tools/ 5 章 端末の設
定、41 章 端末とシリアルラインの設定、42 章 端末での問題 
<item> W. Richard Stevens 著 / Addison-Wesley 1993 年発行 / Advanced 
Programming in the Unix Environment/ 11章 端末の入出力、19 章 擬似端末 
<item> Aleen Frisch 著 第 2 版 / O'Reilly 1998 年発行 / Essential System Admi
nistration / 11 章 端末とモデム 
</itemize>

<!--
The "UNIX POWER TOOLS" book has 3 short chapters on text terminals.
It covers less ground than this HOWTO but gives more examples to help
you.
-->
``UNIX POWER TOOLS'' にはテキスト端末に関する 3 つの短かい章があります。
本 HOWTO よりも狭い範囲ですが、参考になる例は多いです。

<!--
The "ADVANCED PROGRAMMING ... " Chapter 11 covers only the device driver
included in the operating system to deal with terminals.  It explains
the parameters one gives to the stty command to configure the
terminal.
-->
``ADVANCED PROGRAMMING ... '' の 11 章では、OS に含まれるデバイスドラ
イバが端末を扱うことに関して書かれているだけです。端末を設定するために
 stty コマンドに与えるパラメータについて説明しています。

<!--
The "ESSENTIAL SYSTEM ..." book's chapter has more about terminals
than modems.  It seems well written.
-->
``ESSENTIAL SYSTEM ...'' の章にはモデムより端末のことが多く触れられて
います。よい本だと思います。

<sect1><!-- Non-Linux OS's -->非 Linux OS
<p>
<!--
 The configuration of the host computer for terminals for
non-Linux operating systems is usually significantly different than
for Linux.  Here are some links to on-line manuals for Unix-like
systems.
-->
非 Linux OS での端末に関するホストコンピュータ側の設定は、Linux と重大
な違いがあります。ここに Unix 系システムのオンラインマニュアルへのリン
クを示します。

<!--
<itemize> 
<item> SCO's OpenServer <url url=
 "http://www2.sco.com:1996/HANDBOOK/serial_terminal_adding.html"
 name="Adding Serial Terminals"> in SCO OpenServer Handbook.
<item> Hewlett-Packard's HP-UX <url
 url="http://www.software.hp.com/OS_transition/DOCS/PERIPH/TERMS3.HTM"
 name="Configuring Terminals and Modems">
</itemize> 
-->
<itemize> 
<item>SCO 社の OpenServer ハンドブック <url url=
 "http://www2.sco.com:1996/HANDBOOK/serial_terminal_adding.html"
 name="Adding Serial Terminals">
<item> Hewlett-Packard 社の HP-UX<url
 url="http://www.software.hp.com/OS_transition/DOCS/PERIPH/TERMS3.HTM"
 name="Configuring Terminals and Modems">
</itemize> 

<sect><!-- Appendix B: Escape Sequence Commands Terminology -->
付録 B: エスケープシーケンスのコマンド用語 <label id="esc" >

<p> 
<!--
These are sometimes called "control sequences".  This section of
Text-Terminal-HOWTO is incomplete (and may never be complete as there
are such a huge number of control sequences).  This section is for
reference and perhaps really belongs in something that would be called
"Text-Terminal-Programming-HOWTO".  
-->
これらは ``制御シーケンス'' とも呼ばれます。本章は不完全です (制御シー
ケンスは沢山ありすぎてきっと永遠に完成しないでしょう)。この章はおそら
く ``Text-Terminal-Programming-HOWTO'' と呼ばれるはずの文書の一部にな
るか、それのリファレンスとなるはずです。

<!--
An example of an ANSI standard escape sequence is ESC[5B which moves
the cursor down 5 lines.  ESC is the Escape character.  The parameter
5 is included in the sequence.  If it were 7 the cursor would move
down 7 lines, etc.  A listing for this sequence as "move cursor down x
lines: ESC[xB" is easy to to understand.  But command jargon such as:
"tertiary device attribute request" is less comprehensible.  This
section will try to explain some of the more arcane jargon used for
escape sequence commands.  A full listing (including the escape
sequence codes for the ANSI standard) is a "wish list" project.  Since
many escape sequences do the same thing as is done when setting up the
terminal with <ref id="set_up_pars" name="Set-Up Options">, such
escape sequences options will not be repeated here.
-->
<!--?? A full listing (including the escape
sequence codes for the ANSI standard) is a "wish list" project
どういう意味ですか？ -->
ANSI エスケープシーケンスの例をあげると、ESC &lsqb 5B はカーソルを 5 行下
に移動する命令です。ESC はエスケープ文字を表します。シーケンスに含まれ
る 5 はパラメータです。もしそれが 7 だったら 7 行下へ移動するでしょう。
``x 行下へ移動 : ESC &lsqb xB'' のエスケープは理解しやすいものです。でも `
`第 3 のデバイスの属性を要求する'' なんていう専門的なコマンドになると
ちょっとわかり難い。この章ではエスケープシーケンスのコマンドで使用され
る不可解な 専門用語について説明してみましょう。完全なリスト (ANSI 標準のエス
ケープシーケンスコードを含む) は、``wish list'' プロジェクトに委ねます。
<ref id="set_up_pars" name="オプションとパラメータのセットアップ">を使って端
末を設定するときなどのように、多くのエスケープシーケンスは同じことをするので
、ここではそのようなオプションは繰り返して説明しません。

<sect1><!-- Esc Sequence List -->
エスケープシーケンスリスト <label id="esc_seq_list">
<p>
<!--
 For a list of many (but not all) escape sequences for various
terminals see <url
url="http://www.pericom-usa.com/twdocs/doc/twproae.htm"
name="Escape Seqs.; N. America"> or <url
url="http://www.pericom.co.uk/teemworld/doc/twproae.htm" name="Escape
Seqs.; Europe">.  These are  used for terminal emulation and are not
always the same as on the corresponding real terminal..  
A list for VT (not maintained) may be found at <url
url="http://www.cs.ruu.nl/wais/html/na-dir/emulators-faq/part3.html"
name="Emulators FAQ">.  Search for "VT".
-->
各種端末の沢山の (でも全部ではない) エスケープシーケンスのリストについ
ては、 <url
url="http://www.pericom-usa.com/twdocs/doc/twproae.htm"
name="Escape Seqs.; N. America"> か <url
url="http://www.pericom.co.uk/teemworld/doc/twproae.htm" name="Escape
Seqs.; Europe">をご覧なさい。
これらは端末エミュレーションで使用されますが、通信用リアルタイム端末に
関しては常に当てはまるものではありません。 VT のリスト (保守されてませ
ん) が <url
url="http://www.cs.ruu.nl/wais/html/na-dir/emulators-faq/part3.html"
name="Emulators FAQ">にあるので、そこで ``VT'' を検索してください。

<sect1><!-- 8-bit Control Codes -->8 ビット制御コード
<p>
<!--
 Table of 8-bit DEC control codes (in hexadecimal).  Work on VT2xx or
later.  CSI is the most common.
-->
DEC の制御コード (16 進数) の表です。VT2xx 以降の端末で動作します。CSI
はほぼ共通です。 

<tscreen><verb>
ACRONYM  FULL_NAME	 		HEX	REPLACES
IND Index (down one line)		84	ESC D
NEL Next Line				85	ESC E
RI  Reverse Index (one line up)		8D	ESC M
SS2 Single Shift 2			8E	ESC N
SS3 Single Shift 3			8F	ESC O
DCS Device Control String		90	ESC P
CSI Control Sequence Introducer)	9B	ESC [
ST  String Terminator			9C	ESC \
</verb></tscreen>

<tscreen><verb>
短縮    説明                            HEX     置換
IND     Index (down one line)           84      ESC D
NEL     次行                            85      ESC E
RI      Reverse Index (one line up)     8D      ESC M
SS2     Single Shift 2                  8E      ESC N
SS3     Single Shift 3                  8F      ESC O
DCS     デバイス制御文字                90      ESC P
CSI     制御シーケンスの開始            9B      ESC [
ST      終端文字                        9C      ESC \
</verb></tscreen>

<sect1><!-- Printer Esc -->プリンタ Esc <label id="printer_esc">
<p>
<!--
 <itemize> 
<item> Auto Print on/off: When on, data from the host is also teed
 (sent) to the printer port of the terminal (and also shows on the
 terminal screen).  
<item> Print Controller on/off: When on, data from the host is sent
 only to the printer (nothing shows on the terminal screen).
</itemize>
-->
 <itemize> 
<item>自動印刷 オン / オフ : オンなら、ホストからのデータは端末のプリンタポ
ートへも送られます (端末のスクリーンにも表示されます)。 
<item>プリンタ制御 オン / オフ : オンなら、ホストからのデータはプリンタにだ
け送られます (端末の画面にはなにも表示されません)。 
</itemize>

<sect1><!-- Reports -->報告
<p>
<!--
 These sequences are usually a request sent from the host to
request a report from the terminal.  The terminal responds by sending
a report (actually another escape sequence) to the host which has
embedded in it certain values telling the host about the current state
of the terminal.  In some cases a report may be sent to the host even
if it wasn't asked for.  This sometimes happens when set-up is exited.
By default no unsolicited reports should be sent.
-->
これらのシーケンスは端末からの報告を要求するためにホストから送られる要
求として普通は使用されます。端末は現在の状態をホストに示すためにある値
を埋め込んだ報告データ (実際は別なエスケープシーケンス) をホストに送り
返します。あるケースでは、要求しなくてもホストへ送られることがあります。
端末の設定が終了したような場合です。デフォルトでは端末からの自発的な報
告は送られません。 

<!--
<itemize> 
<item> Request for Status (Report Operating Status):  Meaning of
replies for VT100 is either "I'm OK" or "I'm not OK"
<item> Request for Device Attributes:  The "device" is usually the
 printer.  Is there a printer?  Is it ready?
<item> Reqest for Tertiary Device Attributes (VT):  Reply is report that
 was entered during set-up.  The tertiary device is the 3rd device
 (the printer or auxiliary port device ??).  The 1st device may
 be the host computer and the 2nd device the terminal.
<item> Request for Terminal Parameters:  What is the parity, baud
 rate, byte width, etc.  This request doesn't seem to make much sense,
 since if the host didn't already know this it couldn't communicate
 with the terminal or send a reply.
</itemize> 
-->
<itemize> 
<item>状態要求 (動作状態の報告): VT100 の場合は ``正常です'' か ``異常です''
 のどちらかとなります。 
<item>デバイス属性要求 : ``デバイス'' とは普通はプリンタのことです。プリンタ
は接続されていますか ? 準備できてますか ? 
<item>第 3 デバイス属性 (VT) 要求 : 応答として設定中であることを報告します。
第 3 デバイスとは 3 番目に接続している機器のことです (プリンタか補助ポ
ートの機器 ??)。1 番目のデバイスとはホストコンピュータで、2 番目のデバ
イスは端末のことです。 
<item>端末パラメータの要求 : パリティ、通信速度、データ長などの設定値。これ
はあまり意味のないことのように思える。なぜなら、ホストがこれらの値を知
らなければ端末と通信できないし、返事も返せないからです。 
</itemize> 

<sect1><!-- Cursor Movements -->カーソルの移動
<p>
<!--
 The cursor is where the next character received from the host will
be displayed.  Most of the cursor movements are self-explanatory.
"index cursor" means to move the cursor down one line.  Cursor
movements may be relative to the current position such as "move 4
spaces left" or absolute such as "move to row 3, column 39".  Absolute
is called "Direct Cursor Positioning" or "Direct Cursor Addressing".
-->
カーソルはホストから次の文字を受信したら表示されます。ほとんどのカーソ
ルの動きは説明不要でしょう。``インデックス カーソル'' とはカーソルをあ
る行へ移動することです。カーソルの動きには、``4 文字文左へ移動'' のよ
うに相対的な移動か、``3 行 4 列目に移動'' のように絶対的な移動がありま
す。絶対的な移動は ``ダイレクト カーソル ポジショニング'' とか ``ダイ
レクト カーソル アドレッシング'' と呼んでいます。

<!--
The home position is row 1 col. 1 (index origin is 1).  But where this
home position is on the physical screen is not completely clear.  If
"Cursor Origin Mode" = "Relative Origin Mode" is set, then home is at
the top of the scrolling region (not necessarily the top of the
screen) at the left edge of the screen.  If "Absolute Origin Mode" is
set (the same as unsetting any of the two modes in the previous
sentence) then home is at the upper left corner of the screen.  On
some old terminals if "Cursor Origin Mode" is set it means that it's
relative.
-->
ホームポジションは 1 行 1 列 (インデックスは 1 から始まる) です。しかし
物理画面上でのホームポジションは決して明確ではありません。``カーソル原
点モード'' が ``相対位置モード'' なら、ホームポジションは画面の左端の
スクロール領域の先頭 (画面の先頭である必要はない) になります。``絶対位
置モード'' が設定されていたら (上記 2 つのモードのどちらも設定されてな
いのと同じ)、ホームポジションは画面の左上隅になります古い端末では、`` 
カーソル原点モード'' が設定されていると、相対位置という解釈になります。

<sect1> <!-- Pages (definition) --> ページ (定義) <label id="pages_def">
<p> 
<!--
See <ref id="pages_" name="Pages"> for an explanation of pages.
There are a number of escape sequences to deal with pages.  Text may
be copied from one page to another and one may move the cursor from
page to page.  Switching pages may or may not be automatic: when the
screen becomes full (page 1) then more data from the host goes to page
2.  The cursor may only be on one page at a time and characters which
are sent to the terminal go there.  If that page is not being
displayed, new text will be received by the terminal and go into
display memory, but you will not see it (until the terminal is
switched to that page).
-->
<ref id="pages_" name="ページの説明">をご覧ください。ページを処理する幾つかの
エスケープシーケンスがあります。テキストは、あるページから別なページへコピー
され、カーソルをページからページへ移動します。ページは自動で切り替ったり、切
り替わらなかったりします。画面 (ページ 1) がいっぱいなったら、ホストからの
データはページ 2 に移ります。カーソルは一度に 1 ページにのみあって、端
末に送られてくる文字が次のページに移るのです。2 ページ目が画面表示され
ていなかったら、端末が受信した新しいテキストはメモリに書き込まれますが、
表示はされません (端末がそのページに切り替えるまでは)。

<sect><!-- Appendix C: Serial Communications on EIA-232 (RS-232) -->
付録 C: EIA-232 (RS-232) のシリアル通信
  <!-- keep block mode sect. -->
<sect1><!-- Intro to Serial Communication --> イントロ
<p>
<!--
 (Much of this section is now found in Serial-HOWTO.)  Text
terminals on Unix-like systems (and on PC's) are usually connected to
an asynchronous 232 serial port of a computer.  It's usually a
RS-232-C, EIA-232-D, or EIA-232-E.  These three are almost the same
thing.  The original RS prefix became EIA (Electronics Industries
Association) and later EIA/TIA after EIA merged with TIA
(Telecommunications Industries Association).  The EIA-232 spec
provides also for synchronous (sync) communication but the hardware to
support sync is almost always missing on PC's.  The RS designation is
obsolete but is still in use.  EIA will be used in this article.
-->
(本章の多くの部分は Serial-HOWTO に書かれています) Unix 系のシステム 
(で PC 上で動作するもの) でのテキスト端末は、コンピュータの非同期 232 
シルアル通信ポートに接続し、普通は RS-232-C, EIA-232-D, または EIA-23
2-E を使います。これら 3 つはほぼ同じものです。始めはプレフィクスとし
て RS を使ってしましたが、 EIA (Electronics Industries Association) と
なり、EIA と TIA (Telecommunications Industries Association) が統合さ
れた後は EIA/TIA となりました。EIA-232 仕様は同期 (sync) 通信について
も規定していますが、ほとんどの PC には同期通信をサポートするハードウェ
アが装備されていません。RS はもはや古い名称ですが今だに使われています。
本書では EIA を使用することにします。

<!--
The serial port is more than just a physical connector on the back of
a computer or terminal.  It includes the associated electronics which
must produce signals conforming to the EIA-232 specification.  The
standard connector has 25 pins, most of which are unused.  An
alternative connector has only 9 pins.  One pin is used to send out
data bytes and another to receive data bytes.  Another pin is a common
signal ground.  The other "useful" pins are used mainly for signalling
purposes with a steady negative voltage meaning "off" and a steady
positive voltage meaning "on".
-->
コンピュータや端末の背面に一つ以上のシリアルポートがあります。それには
電子部品が組み込まれていて、EIA-232 仕様に準拠した信号を生成します。標
準的なコネクタは 25 ピンで、ほとんどのピンは未使用です。代りに 9 ピン
だけのコネクタもあります。あるピンはデータの送信用として、別なピンは受
信のために使われます。他のピンは信号グランドです。それ以外の ``有用な''
ピンは ``オフ'' を意味する安定した負電圧と ``オン'' を意味する安定し
た正電圧により、主として信号処理の目的に使われます。

<!--
The UART (Universal Asynchronous Receiver-Transmitter) chip does most
of the work.  Today, the functionality of this chip is usually built
into another chip.
-->
UART (Universal Asynchronous Receiver-Transmitter 汎用非同期送受信器) 
チップが通信のほとんどの仕事をこなします。今日、このチップの機能は他の
チップに組み込まれています。

<sect1><!-- Voltages -->電圧
<sect2><!-- Voltage for a Bit -->ビット 1 つを表す電圧
<p>
<!--
 At the EIA-232 serial port, voltages are bipolar (positive or
negative with respect to ground) and should be about 12 volts in
magnitude (some are 5 or 10 volts).   For the transmit and receive
pins +12 volts is a 0-bit (sometimes called "space") and -12 volts is
a 1-bit (sometimes called "mark").  This is known as inverted logic
since normally a 0-bit is both false and negative while a one is
normally both true and positive.  Although the receive and transmit
pins are inverted logic, other pins (modem control lines) are normal
logic with a positive voltage being true (or "on" or "asserted") and a
negative voltage being false (or "off" or "negated").  Zero voltage
has no meaning (except it usually means that the unit is powered off).
-->
EIA-232 準拠のシリアルポートでは、電圧は二極式 (接地電圧に対し正または
負) であり、その絶対値は 12V です (5V や 10V のものもあります)。送信ピ
ンと受信ピンでは +12V が 0 を表すビット (``スペース'' と呼ばれることも
あります) で、-12V が 1 を表すビットです (``マーク'' と呼ばれることも
あります)。これは負論理として知られています。というのも、普通は 0 を表
すビットは偽かつ負であり、1 は真と正を表すからです。送信ピンと受信ピン
は負論理ですが、他のピン (モデム制御線) は通常の論理を用いており、正の
電圧が真 (または ``オン'' または ``アサート'' ) であり。負の電圧が偽 
(または ``オフ''または ``否定'') を表します。電圧 0 は意味を持ちません
 (その機器の電源が切れているという意味だけは持ちます)。

<!--
A range of voltages is allowed.  The specs say the magnitude of a
transmitted signal should be between 5 and 15 volts but must never
exceed 25 V.  Any voltage received under 3 V is undefined (but some
terminals will accept a lower voltage as valid).  One sometimes sees
erroneous claims that the voltage is commonly 5 volts (or even 3
volts) but it's usually 11-12 volts.  If you are using a EIA-422 port
on a Mac computer as an EIA-232 (requires a special cable) or EIA-423
then the voltage will actually be only 5 V.  The discussion here
assumes 12 V.  There is much confusion about voltages on the Internet.
-->
電圧に範囲を持たせることもできます。仕様においては、送信される信号の絶
対値は 5V と 15V の間でなければならず、25V を越えてはなりません。3V 未
満の電圧は未定義です (ただし、デバイスによっては電圧が低くても有効であ
るとして受け付けます)。電圧はたいてい 11-12V なのですが、「一般的に 5V
 (あるいは 3V) である」とする誤りをときどき見かけます。ただし、Mac コ
ンピュータの EIA-422 ポートを EIA-232 (特殊なケーブルが必要) や EIA-42
3 としてお使いならば、電圧はまさしくわずか 5V のはずです。ここでの説明
では 12V を使うものとします。インターネットで使う電圧はさらに混乱して
います。

<!--
Note that normal computer logic normally is just a few volts (5 volts
was once the standard) so that if you try to use test equipment
designed for testing 3-5 volt computer logic (TTL) on the 12 volts of a
serial port, it may damage the test equipment.
-->
通常のコンピュータの論理回路は数 V (かつては 5V が標準だったこともあり
ますが) しか使わないので、3-5V のコンピュータ回路 (TTL) の試験用に設計
されたテスト機器を 12V のシリアルポートに対して用いると、テスト機器が
壊れてしまうことがあります。

<sect2><!-- Voltage Sequence for a Byte -->
バイトデータを表す電圧シーケンス<label id="byte_seq">
<p>
<!--
 The transmit pin (TxD) is held at -12 V (mark) at idle when nothing
is being sent.  To start a byte it jumps to +12 V (space) for the
start bit and remains at +12 V for the duration (period) of the start
bit.  Next comes the low-order bit of the data byte.  If it's a 0-bit
nothing changes and the line remains at +12 V for another bit-period.
Then comes the next bit, etc.  Finally, a parity bit may be sent and
then a -12 V (mark) stop bit.  The line remains at -12 V (idle) until
the next start bit.  Note that there is no return to 0 volts and thus
there is no simple way (except by a synchronizing signal) to tell
where one bit ends and the next one begins for the case where 2
consecutive bits are the same polarity (both zero or both one).
-->
送信ピン (TxD) は、何も送っていないアイドル状態の時には -12V (マーク状
態) を保持しています。バイトデータを送る際には、送信ピンはスタートビッ
トを送るために +12V (スペース状態) となり、スタートビットを送る間 (期
間) は +12V を保ちます。次にバイトデータが下位ビットから順番に送られま
す。もし、ビットが 0 の場合は、信号線はこのビット期間から次のビット期
間まで、+12V になります。もし、ビットが 1 の場合、信号線はこのビット期
間から次のビット期間まで、-12V になります。次のビット以降も同様に送ら
れます (1 ならば -12V、0 ならば +12V)。最後のデータビットの後には、パ
リティビットが送られるかもしれません。そして ストップビット -12V (マー
ク) が送られます。その後は、次のスタートビットまでは送信ピンは -12V 
(アイドル状態) のままです。0V が返ってくることがないことと、そのため同
じ極性を持つビットが 2 つ続く場合 (0 が続く、あるいは 1 が続く場合) に
は、あるビットが終って次のビットが始まることを表す簡単な方法が (同期信
号以外には) ない点に注意してください。

<!--
A 2nd stop bit would also be -12 V, just the same as the first stop
bit.  Since there is no signal to mark the boundaries between these
bits, the only effect of the 2nd stop bit is that the line must remain
at -12 V idle twice as long.  The receiver has no way of detecting the
difference between a 2nd stop bit and a longer idle time between
bytes.  Thus communications works OK if one end uses one stop bit and
the other end uses 2 stop bits, but using only one stop bit is
obviously faster.  In rare cases 1 1/2 stop bits are used.  This means
that the line is kept at -12 V for 1 1/2 time periods (like a stop bit
50% wider than normal).
-->
2 番目の境界線のストップビットも -12V になります。これは最初のストップ
ビットと同じです。これらのビット間の境界を示す信号が無いため、2 番目の
ストップビットの影響は、送信ピンが続けている -12V のアイドル状態の長さ
が 2 倍になっただけです。2 番目のストップビットとバイト間の長いアイド
ル時間の区別を付ける方法は、受信側にはありません。したがって、うまく通
信できるのは、通信の片側がストップビットを 1 つ用い、その反対側がスト
ップビットを 2 つ用いた場合です。ただし、1 つしかストップビットを用い
ない方が明らかに高速です。稀ですが、1 1/2 個のストップビットが使われる
ことがあります。これは送信ピンが 1 1/2 区間の間 -12V を保つという意味
です (ストップビットの長さが通常の 5 割増しになったようになります)。


<sect1><!-- Parity Explained -->パリティ検査 <label id="parity_def">
<p>
<!--
 Characters are normally transmitted with either 7 or 8 bits (of
data).  An additional parity bit may (or may not) be appended to this
resulting in a byte length of 7, 8 or 9 bits.  Some terminal emulators
and older terminals do not allow 9 bits.  Some prohibit 9 bits if 2
stop bits are used (since this would make the total number of bits too
large: 12 bits total).
-->
文字は普通、7 ビットまたは 8 ビット (のデータ) で送信されます。これに
パリティビットを追加すると (追加しないこともあります) 1 バイトの長さは
7,8,9 ビットのいずれかとなります。一部の端末エミュレータや古い端末で
は、 9 ビットは使えません。ストップビットを 2 つ使うと 9 ビットが使え
なくなる端末もあります (というのも、スタートビットを追加した後の合計
ビット数が 12 ビットと多くなりすぎるからです)。

<!--
The parity may be set to odd, even or none (mark and space parity may
be options on some terminals).  With odd parity, the parity bit is
selected so that the number of 1-bits in a byte, including the parity
bit, is odd.  If a such a byte gets corrupted by a bit being flipped,
the result is an illegal byte of even parity.  This error will be
detected and if it's an incoming byte to the terminal an
error-character symbol will appear on the screen.  Even parity works
in a similar manner with all legal bytes (including the parity bit)
having an even number of 1-bits.  During set-up, the number of bits
per character usually means only the number of data bits per byte (7
for true ASCII and 8 for various ISO character sets).
-->
パリティには 「奇数 (odd)」、「偶数(even)」、「なし(none)」のいずれか
を設定します (一部の端末やシリアルデバイスではマーク (mark) パリティや
スペース (space) パリティがオプションとして使えます)。奇数パリティを使
うと、バイトデータ中で値が 1 になっているビットの数が (パリティビット
も含めて) 奇数となるようにパリティビットが決められます。ビットがひっく
り返って、このようなバイトが壊れた場合、得られるデータは不正な偶数パリ
ティのデータをなります。このエラーは検出されるので、これが端末が受け取
ったバイトデータであった場合には、文字化けを表す記号を画面に表示できま
す。偶数パリティの動作も同様であり、有効なバイトデータ中の 1 であるビ
ット数が (パリティビットも含めて) 偶数となるようにします。設定時には通
常、文字当りのビット数はバイト当りのデータビットの数だけを意味します 
(正式な ASCII の場合には 7 ですし、各種 ISO 文字集合の場合には 8 です)。

<!--
A "mark" is a 1-bit (or logic 1) and a "space" is a 0-bit (or logic
0).  For mark parity, the parity bit is always a one-bit.  For space
parity it's always a zero-bit.  Mark or space parity only wastes
bandwidth and should be avoided when feasible.  "No parity" means that no
parity bit is added.   For terminals that don't permit 9 bit bytes,
"no parity" must be selected when using 8 bit character sets since
there is no room for a parity bit.
-->
``マーク'' は値が 1 であるビット (つまり論理値の 1) であり、``スペース''
は値が 0 であるビット (つまり論理値の 0) です。マークパリティの場合
には、パリティビットは常に値が 1 であるビットです。スペースパリティの
場合には、これは常に値が 0 であるビットです。マークパリティやシペース
パリティは単にバンド幅を無駄にするだけなので、できる限り使わないように
すべきです。 ``パリティ無し'' はパリティを付加しないという意味です。9 
ビットからなるバイトデータを受け付けない端末を使う場合、8 ビット文字集
合を使うならば ``パリティ無し'' を選択しなければなりません。パリティビ
ットを入れる空きが無いからです。

<sect1><!-- Forming a Byte (Framing) -->バイトデータの構成 (フレーム分割)
<p>
<!--
 In serial transmission of bytes via EIA-232 ports, the low-order
bit is always sent first.  Serial ports on PC's use asynchronous
communication where there is a start bit and a stop bit to mark the
beginning and end of a byte.  This is called framing and the framed
byte is sometimes called a frame.  As a result a total of 9, 10, or 11
bits are sent per byte with 10 being the most common.   8-N-1 means 8
data bits, No parity, 1 stop bit.  This adds up to 10 bits total when
one counts the start bit.  One stop bit is almost universally used.
At 110 bits/sec (and sometimes at 300 bits/sec) 2 stop bits were once
used but today the 2nd stop bit is used only in very unusual
situations (or by mistake since it seemingly still works OK that way).
-->
EIA-232 ポートを使ったバイトデータのシリアル伝送では、常に下位ビットか
ら先に送られます。PC のシリアルポートは非同期通信を行います。この非同
期通信では、スタートビットとストップビットがバイトデータの始めと終りを
示します。このような区切り方はフレーム分割ト呼ばれ、フレーム分割された
アバイトデータはフレームと呼ばれることがあります。結果として、1 バイト
ごとに 9 個あるいは 10,11 個 のビットデータが送られます。この中で最も
一般的なのは 10 個です。8-N-1 とは、データビット 8 個、パリティ無し、
ストップビット 1 個という意味です。スタートビットを数に入れると合計 10
ビットになります。ストップビットはほぼ例外なく使われます。110 ビット/
秒 (300 ビット / 秒の時もあります) では、ストップビットが 2 つ使われて
いたこともありましたが、現在は 2 つめのストップビットが使われるのは例
外的な場合 (あるいは、その設定でもうまく動作するために間違って使われて
いるけれど、バンド幅を無駄に消費している) だけです。

<sect1><!-- Limitations of EIA-232 -->EIA-232 の制限
<sect2><!-- Low Speed & Short Distance -->低速で短距離
<p>
<!--
 The conventional EIA-232 serial port is inherently low speed and
is severely limited in distance.  Ads often read "high speed" but it
can only work at high speed over very short distances such as to a
modem located right next to the computer.  All of the wires use a
common ground return so that twisted-pair technology (needed for high
speeds) can't be used without additional hardware.  However some
computers have more modern interfaces.  See <ref id="non_232"
name="Successors to EIA-232">.
-->
EIA-232 シリアルポートの規定では、本来は低速で、かつ通信距離に厳密な制
限があります。ADS は ``高速''でリードしますが、それは通信距離がかなり
短かいケースに限られていて、コンピュータの近くのモデムとの通信などの場
合によります。全ての信号線は共通の信号グランドを使用するので、ハードウ
ェアを追加しなければツイステッドペア技術 (高速通信に必要) は使えません。
しかしいくつかのコンピュータにはより新しいインタフェースがあります。
<ref id="non_232" name="EIA-232 への継承"> をご覧ください。

<!--
It is somewhat tragic that the RS-232 standard from 1969 did not use
twisted pair technology which could operate about a hundred times
faster.  Twisted pairs have been used in telephone cables since the
late 1800's.  In 1888 (over 110 years ago) the "Cable Conference"
reported its support of twisted-pair (for telephone systems) and
pointed out its advantages.  But over 80 years after this approval by
the "Cable Conference", RS-232 failed to utilize it.   Since RS-232
was originally designed for connecting a terminal to a low speed modem
located nearby, the need for high speed and longer distance
transmission was apparently not recognized.
-->
1969 年に規定された RS-232 は、100 倍以上の速さで通信可能なツイステッ
ドペア技術を使えないので少々痛ましいものであるといえます。ツイステッド
ペアは 1800 年代後期より電話線で使われています。1888年 (今から 110年ほ
ど前) の ``Cable Conference'' ではツイステッドペアのサポート (電話シス
テム用として)と、その先進性が報告されています。しかし``Cable Conference''
 での承認から 80 年以上もの間、RS-232 はこの利用を怠ったのです。RS-232
 は元来、近くにある低速のモデムと端末を接続するために設計されたものなので
、高速や長距離通信の要求を明白に認めなかったのです。

<sect2><!-- Successors to EIA-232 -->
EIA-232 への継承 <label id="non_232">
<p>
<!--
 A number of EIA standards have been established for higher speeds
and longer distances using twisted-pair (balanced) technology.
Balanced transmission can sometimes be a hundred times faster than
unbalanced EIA-232.  For a given speed, the distance (maximum cable
length) may be many times longer with twisted pair.  But PC-s keep
being made with the "obsolete" EIA-232 since it works OK with modems
connected to slow telephone lines, and it works OK with mice.
-->
ツイステッドペア (平衡型) 技術を使った高速で長距離通信のための EIA 規
格がいくつも規定されました。平衡型通信は、時に非平衡型 EIA-232 の 100 
倍以上高速です。ある速度で比較すると、通信距離 (最大ケーブル長) はツイ
ステッドペア線を使った場合に何倍も長くできます。PC はいまだに ``時代遅
れ'' の EIA-232 を装備していますが、低速の電話線やマウスとの接続には何
の問題もありません。

<!--
One exception is Apple's Mac computer with its EIA-232/EIA-422 GeoPort
which provides twisted-pairs (balanced) for transmit and receive.  It
uses a small round "mini-DIN" connector.  It also provides
conventional EIA-232 but only at 5 volts (which is still legal
EIA-232).  However, due to the fact that Macs cost more than PC's,
they are seldom used as a host computer for terminals.  Some newer
terminals use EIA-423 but this is just like the unbalanced EIA-232 and
can be connected to a EIA-232 port.  This EIA-423 is only 5 volts, but
the specs call for higher speeds than the EIA-232 (which will be of no
help on a long run where it's the unbalance that causes interference).
-->
唯一の例外が Apple 社の Mac コンピュータで、送受信用にツイステッドペア
 (平衡型) が使える EIA-232/EIA-422 GeoPort を装備しています。小さくて
丸い `` ミニ DIN'' コネクタを使って接続します。Mac には 従来型の 
EIA-232 ポートもついています。5 ボルトでのみ動作しますが (これは 
EIA-232 ではまだ規約通りです)。しかし、このために Mac は PC よりも高価
で、ホストコンピュータの端末としても自由に使えます。いくつかの新しい端
末には EIA-423 が使われていますが、これは非平衡型 EIA-232 のようなもの
で、EIA-232 ポートに接続できます。この EIA-423 は 5 ボルトでのみ動作し
ますが、スペックには EIA-232 より高速だとうたっています (非平衡インタ
フェースによる長時間の動作に対しては無保証です)。

<!--
EIA-485 is also balanced and is used as a "bus" like ethernet and USB.
One device connected to it is the "master" and polls the "slaves" for
input.  Since many computers may share the twisted pair its sometimes
called "multidrop".  Another twisted pair is used for traffic from the
master to the slaves.  The output voltage on the pins must be tristate
with the third state being open circuit to permit other units to use
the "bus".  It's been claimed that protocols are not standardized for
multidrop and that's bad news.  See <url
url="http://www.hw.cz/english/docs/rs485/rs485.html">
-->
EIA-485 もまた平衡型であり、ethernet や USB などのような ``バス'' とし
て使えます。EIA-485 に接続された機器がマスターとして、 ``スレーブ'' か
らの入力をポーリングします。多くのコンピュータがツイステッドペアを共有
するので、``マルチドロップ'' と呼ばれています。別なツイステッドペアは
マスタからスレーブへのトラフィックのために使われます。ピンの出力電圧は
 3 つの状態を持たなければならず、回路を開いた 3 番目の状態は他のユニッ
トが ``バス'' を使うことを許可します。マルチドロップのプロトコルが標準
化されてないと言われつづけています。そして悪いニュースがあります。<url
url="http://www.hw.cz/english/docs/rs485/rs485.html">をご覧ください。

<!--
EIA-530-A (balanced but can also be used unbalanced) at 2Mbits/s
(balanced) was intended to be a replacement for EIA-232 but few have
been installed.  It uses the same 25-pin connector as EIA-232. 
-->
2 Mbits/s で動作する EIA-530-A (平衡型ですが、非平衡型としても使えま
す) は EIA-232 のリプレースを意図したものでしたが、一部でしか使われま
せんでした。EIA-232 と同じ 25 ピンコネクタで接続します。

<!--
The High Speed Serial Interface ( HSSI = EIA-612/613) uses a 50-pin
connector and goes up to about 50 Mbits/s but the distance is limited
to only several meters.  The Universal Serial Bus (USB) is being built
into PCI chips.  It is 12 Mbits/s over a twisted pair with a 4-pin
connector (2 wires are power supply) but it also is limited to short
distances of at most 5 meters (depends on configuration).
-->
高速のシリアル通信インタフェース (HSSI = EIA-612/613) は 50 ピンコネク
タを使い、50 Mbits/s まで向上しますが、数メータの距離に限られます。ユ
ニバーサル シリアルバス (USB) は PCI チップに埋めこまれていて、4 ピン
のツイステッドペアにより 12 Mbits/s で通信しますが、距離は 5 メートル
以下の制限があります (設定にもよりますが)。

<sect2><!-- Line Drivers -->ラインドライバ
<p>
<!--
 For a text terminal, the EIA-232 speeds are fast enough but the
usable cable length is often too short.  Balanced technology could
fix this.  The common method of obtaining balanced communication with
a text terminal is to install 2@ line drivers in the serial line to
convert unbalanced to balanced (and conversely).  They are a
specialty item and are expensive if purchased new.
-->
テキスト端末では EIA-232 は十分高速なのですが、ケーブル長が短かすぎま
す。平衡技術がこれを解決します。テキスト端末で平衡型通信を行う一般的な
方法は、平衡-非平衡変換 (逆変換も含む) を行う 2 つのラインドライバをイ
ンストールすることです。それは特別な機器なので新しく購入すると高くつき
ます。

<sect1><!-- Synchronization & Synchronous -->
同調させることと同期 <label id="sync">
<sect2><!-- How "Asynchronous" is Synchronized -->
どのようにして ``非同期'' を同期させるか

<p>
<!--
 Per EIA-232 there are only two states of the transmit (or receive)
wire: mark (-12 V) or space (+12 V).  There is no state of 0 V.  Thus
a sequence of 1-bits is transmitted by just a steady -12 V with no
markers of any kind between bits.  For the receiver to detect
individual bits it must always have a clock signal which is in
synchronization with the transmitter clock.  Such clocks generate a
"tick" in synchronization with each transmitted (or received) bit.
-->
EIA-232 において、送信 (あるいは受信) には 2 つの状態、マーク (-12V) 
とスペース (+12V) があります。0V はどの状態でもありません。したがって 
1 ビットのシーケンスは、ビットとビットの間を示すマーカがない定常的な -
12V だけを使って送られます。受信側で個々のビットを区別するためには、送
信側のクロックを同期しているクロック信号が必ず必要です。このクロックが
送信 (受信) される各ビットと同期している ``時間の刻み'' を生成するので
す。 

<!--
For asynchronous transmission, synchronization is achieved by framing
each byte with a start bit and a stop bit (done by hardware).  The
receiver listens on the line for a start bit and when it detects one
it starts its clock ticking.  It uses this clock tick to time the
reading of the next 7, 8 or 9 bits.  (It actually is a little more
complex than this since several samples of a bit are often taken and
this requires additional timing ticks.)  Then the stop bit is read, the
clock stops and the receiver waits for the next start bit.  Thus async
is actually synchronized during the reception of a single byte but
there is no synchronization between one byte and the next byte.
-->
非同期の伝送においては、スタートビットとストップビットを使って各バイト
をフレーム分割することによって同期を実現します (これはハードウェアが行
います)。受信側は信号線からスタートビットが届くのを待ち、これを検出す
るとクロックを刻み始めます。受信側はこのクロック刻みを使って、次の 7,
8 または 9 個のビットを読み込むタイミングを計ります (実際にはもう少し複雑で
す。というのも、普通は 1 ビットからサンプル点をいくつか取るので、その
ために別のタイミング刻みが必要になるからです)。そしてストップビットを
読むと、受信側がクロックを止めて、次のスタートビットを待ちます。このよ
うに、単独のバイトデータを受け取る際には、非同期伝送も実際には同期伝送
になりますが、複数のバイトデータ間での同期は行われません。

<sect2><!-- Defining Asynchronous vs Synchronous -->
同期に対する非同期の定義

<p>
<!--
 Asynchronous (async) means "not synchronous".  In practice, an
async signal is what the async serial port sends and receives which is
a stream of bytes each delimited by a start and stop bit.  Synchronous
(sync) is most everything else.  But this doesn't explain the basic
concepts.
-->
非同期 (async) とは ``同期しない'' ことです。具体的には、非同期シリア
ルポートが、非同期信号をスタートビットとストップビットで囲まれたバイト
の塊として送信または受信することなのです。同期 (sync) はそれ以外のほと
んど全てです。でも基本コンセプトはここでは解説しません。

<!--
In theory, synchronous means that bytes are sent out at a constant
rate one after another in step with a clock signal tick.  There is
often a separate wire or channel for sending the clock signal.  
Asynchronous bytes may be sent out erratically with various time
intervals between bytes (like someone typing characters at a
keyboard).
-->
理論的に同期とは、バイトがクロック信号の刻みに従って一定の単位で送出さ
れることです。クロック信号のために、たいていは別な線かチャネルを使いま
す。非同期のバイトは、送出されるバイト間の周期が不定です (誰かがキーボ
ードを叩いたときのように)。

<!--
There are borderline situations that need to be classified as either
sync or async.  The async serial port often sends out bytes in a
steady stream which would make this a synchronous case but since they
still have the start/stop bits (which makes it possible to send them
out erratically) its called async.  Another case is where data
bytes (without any start-stop bits) are put into packets with possible
erratic spacing between one packet and the next.  This is called sync
since the bytes within each packet must be transmitted synchronously.
-->
同期か非同期かを区分けする必要のある境界的な状況があります。非同期シリ
アルポートは、同期状態にさせる安定した流れの中でバイトを送出しますが、
スタート / ストップビット (不定期な送出を可能にする) が含まれているの
で非同期と呼んでいます。別な場合では、データバイト (スタート / ストッ
プビットのない) は不定期に送られるパケットに含まれますが、これは同期通
信と呼んでいます。各パケット内のバイトが同期して送られなければならない
からです。

<sect2><!-- Synchronous Communication -->同期通信
<p>
<!--
 Did you ever wonder what all the unused pins are for on a 25-pin
connector for the serial port?  Most of them are for use in
synchronous communication which is seldom implemented on PC's.  There
are pins for sync timing signals as well as for a sync reverse
channel.  The EIA-232 spec provides for both sync and async but PC's
use a UART (Universal Asynchronous Receiver/Transmitter) chip such as
a 16450, 16550A, or 16650 and can't deal with sync.  For sync one
needs a USART chip or the equivalent where the "S" stands for
Synchronous.  Since sync is a niche market, a sync serial port is
likely to be quite expensive.
-->
あなたはシリアルポートコネクタの 25 ピンの内、未使用のピンは何に使われ
るのか考えたことはありますか ? ほとんどのピンは PC ではめったに実装さ
れない同期通信のためにあります。同期リバースチャネルと同じように、同期
タイミング信号なのです。EIA-232 の仕様には、同期と非同期の両方がありま
すが、PC が使う UART、例えば 16450, 16550A, あるいは 16650 は同期をサ
ポートしていません。同期通信には USART チップか同等品が必要です。USART
 の ``S'' は同期 (Synchronous) の頭文字からとっています。同期通信の分
野はニッチーマーケットなので、製品はとても高価です。

<!--
Besides the sync part of the EIA-232, there are various other EIA 
synchronous standards.  For EIA-232, 3 pins of the connector are
reserved for clock (or timing) signals.  Sometimes it's a modem's task
to generate some timing signals making it impossible to use
synchronous communications without a synchronous modem (or without a
device called a "synchronous modem eliminator" which provides the
timing signals).
-->
EIA-232 の同期部分以外にも、EIA には同期に関する規定が各種あります。 E
IA-232 の場合、コネクタの 3 番ピンはクロック (またはタイミング) 信号と
して予約されています。時にはタイミング信号を生成するのはモデムの役割で
あり、同期モデム (または``同期モデムエリミネータ'' と呼ぶタイミング信
号を作る機器) なしに同期通信に使うことは不可能です。

<!--
Although few serial ports are sync, synchronous communication
does often take place over telephone lines using modems which use
V.42 error correction.  This strips off the start/stop bits and puts
the date bytes in packets resulting in synchronous operation over the
phone line.
-->
けれど少数のシリアルポートは同期通信をサポートしており、同期通信は 
V.42 エラー訂正機能付きのモデムを使った電話線を経由して行われます。ス
タート / ストップビットを除いたデータを、電話線経由の同期操作に使用される
パケットに詰め込むのです。

<sect1><!-- Block Mode -->ブロックモード <label id="block">

<sect2><!-- Intro to Block Mode -->はじめに
<p>
<!--
 Block mode is seldom used with Linux.  In block mode when one types
at a terminal, the results are saved in the terminal memory and are
not sent just yet to the host computer.  Such terminals often have
built-in editing capabilities.  When the user presses certain keys
(such as the send key) what has been saved in the terminal memory is
sent to the host computer.  Now the Linux editors vi and emacs, react
instantly to pressing certain keys but in the above situation such
keys will be pressed and nothing will happen since nothing is sent
when a key is pressed.  Thus using a block mode terminal will not
allow the use of such interactive programs.  The old IBM mainframe
interface uses block mode (see <ref id="ibm_" name="IBM Terminals ">
so many IBM terminals are block-mode only and also synchronous (see
Section <ref id="sync" name="Synchronization & Synchronous">).
-->
ブロックモードは linux では稀にしか使われません。ブロックモードでは、
端末でキーが叩かれたときにキーコードは端末内のメモリに保存され、すぐに
はホストコンピュータに送られません。そのような端末にはよく組込みの編集
機能が備わっています。ユーザがあるキー (送信キーなどのような) を押した
とき、端末内のメモリに保存されていたものがホストコンピュータに送られま
す。今日 Linux のエディターである vi や emacs ではあるキーが押されたら
すぐに反応します。従って上記のシチュエーションで、送信キーが押されて
も何も起こらず、何も送られません。このような理由で、ブロックモード端末
を使うときには対話式のプログラムの使用を許していません。 IBM の古いメ
インフレームではインタフェースにブロックモードが使われるので ( <ref id
="ibm_" name="IBM 端末">をご覧ください)、多くの IBM 端末はブロックモー
ドだけをサポートし、また同期通信を行います ( <ref id="sync" 
name="同調させることと同期">の章をご覧ください)。

<sect2><!-- Types of Block Modes, Forms -->ブロックモード、フォームの種類
<p>
<!--
 Block mode may itself have various sub-modes such as "page" (a
page at a time) and "line" (a line at a time).  Some terminals have
both block transmission modes and conventional character modes and may
be switched from one mode to another.  Async terminals which have
block modes include HP2622A, VT130, VT131, VT330, VT340, and
Visual500.  Many later model terminals can emulate block mode.  Block
modes may include a forms capability where the host computer sends a
form to the terminal.  Then the user fills it out and hits the send
key which sends only the data in the form back to the host computer.
The form itself (not the data) is displayed on the screen in protected
fields which don't get transmitted to the host.
-->
ブロックモード自身には ``ページ'' (一度に 1 ページ) や ``ライン'' (一
度に 1 行) などのサブモードがあります。いくつかの端末にはブロックモー
ドと従来のキャラクターモードの両方があり、あるモードから別なモードへ切
り替えることができます。ブロックモードを持つ非同期端末として HP2622A, 
VT130, VT131, VT330, VT340 それに Visual500 があります。後のモデルの
多くはブロックモードをエミュレートできます。ブロックモードは、ホストコ
ンピュータが端末に送るフォーム機能に対応します。ユーザがデータを入力し
た後に送信キーを押せば、入力したデータだけがホストコンピュータに送られ
ます。フォーム自身 (データではない) はホストに送信されない保護されたフ
ィールドとして画面に表示されます。

<sect2><!-- Efficiency -->能力
<p>
<!--
 Block mode takes a great deal of load off the host computer,
especially if the host computer's hardware is designed for block modes
(as IBM mainframes were).  In character mode every character typed is sent
immediately to the serial port and usually causes an interrupt at the
host computer.  The host that receives the byte must stop whatever it
is doing and fetch that character from the port hardware.  Even with
UART's that have FIFO hardware buffers, the hardware timeout is
normally only the transmission time of 3 bytes so that an interrupt is
usually issued for every character typed.
-->
ブロックモードはホストコンピュータの負荷を相当量減らします。特にホスト
コンピュータのハードウェアがブロックモード対応として設計されている 
(IBM のメインフレームのように) なら尚更です。キャラクタモードではキータイ
プされた全ての文字はすぐにシリアルポートに送られ、ホストコンピュータに
割込みを発生させます。バイトを受信したホストは何をしていようが中断して、
シリアルポートから文字を取り出さなければなりません。FIFO ハードウェア
バッファがある UART であっても、ハードウェアのタイムアウトは 3 バイト
の送信時間分しかないので、各文字がタイプされたら即座に割り込みが発生し
ます。

<!--
In true block mode a long block of characters is received using only
one interrupt.  If block mode is used with conventional async FIFO
serial ports, an interrupt is needed only every 14 bytes since they
have 16-byte hardware buffers.  Thus much of the load and overhead of
interrupt handling is eliminated and the computer has more time to do
other tasks when block mode is used.
-->
本当のブロックモードでは、1 回の割り込みで長い文字ブロックを受信します。
ブロックモードが従来の非同期 FIFO シリアルポートで使われたら、それには
16 バイトのハードウェアバッファがあるので、割り込みは 14 バイト毎に
しか発生しません。
ト毎に割込みが必要なので、16 バイトのハードウェアバッファがあります。
このように多くの負荷や割り込みハンドラのオーバヘッドを軽減するので、コ
ンピュータはブロックモードを使っているときは他の仕事に時間を割くことが
できるのです。

<!--
A significant savings for block mode occurs if the terminal is
connected to its host via a network.  Without block mode, every
character (byte) typed is sent in its own packet including all the
overhead bytes (40 in a TCP/IP packet as used on the Internet).  With
block mode, a large number of characters are sent in a single packet.
-->
端末がネットワーク経由でつながっているなら、ブロックモードにすると貴重
な節約ができます。ブロックモードでなければ、タイプされた全ての文字 (バ
イト) は、余分なバイト (インターネットで使われる TCP/IP のパケットでは
 40 バイト) を含んだパケットに包まれて送られることになります。ブロック
モードでなら大量の文字は 1 つのパケットで送られます。

<sect1><!-- EIA-232 (RS-232) Books -->
EIA-232 (RS-232) 関連書籍 <label id="RS232_books">
<p>
<!--
 (Note: The first book covers much more than just EIA-232.)
<itemize>
<item> Black, Uyless D.: Physical Layer Interfaces & Protocols, IEEE
	Computer Society Press, Los Alamitos, CA, 1996.
<item> Campbell, Joe: The RS-232 Solution, 2nd ed., Sybex, 1982.
<item> Putnam, Byron W.: RS-232 Simplified, Prentice Hall, 1987.
<item> Seyer, Martin D.: RS-232 Made Easy, 2nd ed., Prentice Hall,
	1991.
</itemize>
-->
(注 : 最初の本は EIA-232 より広範な分野をカバーしています) 
<itemize>
<item> Black, Uyless D.: Physical Layer Interfaces & Protocols, IEEE
	Computer Society Press, Los Alamitos, CA, 1996.
<item> Campbell, Joe: The RS-232 Solution, 2nd ed., Sybex, 1982.
<item> Putnam, Byron W.: RS-232 Simplified, Prentice Hall, 1987.
<item> Seyer, Martin D.: RS-232 Made Easy, 2nd ed., Prentice Hall,
	1991.
</itemize>

<sect1><!-- Serial Software -->シリアルソフトウェア
<p>
<!--
 See <url url="ftp://sunsite.unc.edu/pub/Linux/system/serial/"
name="Serial Software"> for Linux software for the serial ports
including getty and port monitors.
-->
シリアルポートについての Linux 用のソウトウェアについては<url url="ftp://sunsite.unc.edu/pub/Linux/system/serial/"
name="Serial Software">をご覧ください。getty やポートモニタなどが含ま
れています。

<sect><!-- Appendix D: Notes by Brand Name -->付録 D: 端末メーカ名

<p>
<!--
 Here are notes by brand name that were too specific to a certain
terminal to be put elsewhere in this HOWTO.  If you have some info to
contribute on a certain terminal that is not covered elsewhere, it
could go here.  Various models and brands often have much in common
which only need be written about in one place.  It would be nice to
have for each terminal model, a large set of links linking to the
documentation relevant to that model (including escape codes).  There
are so many models of terminals that such a task would be quite
onerous and I, David Lawyer (as of 1998), have no intention of
attempting this.  If terminal manufacturers would only make their
manuals available on the net, then all this might not be needed.
-->
この HOWTO のどこかで紹介した特定の端末の使用をブランド別に書きとめた
ものです。ここに記載されてない端末について寄与できる情報をお持ちの方は
著者に報せてください。さまざまなモデルやブランドはしばしば共通したもの
があるので、一箇所で書いておく必要があります。各モデルに関する文書 (エ
スケープコードを含む) へのリンクを大量に揃えることは各端末のためにとて
も凄いことです。端末にはたくさんの種類があるので、これはすごく大変なこ
とです。私こと David Lawyer は、(1998 年現在) このようなことをする考え
はありません。もし端末の製造メーカがマニュアルをネット上で利用可能にし
てくれたら、これらの作業は不要なのですが。

<sect1> CIT

<p>
<!--
 CIT terminals were made in Japan in the 1980's for CIE Terminals.
They ceased to be imported in the late 1980's.  The company, CIE,
still makes CItoh printers (in 1997) but has no parts for its
abandoned terminals.  Ernie at (714) 453-9555 in Irvine CA sells (in
1997) some parts for models 224, 326, etc. but has nothing for the 80
and 101.  (The document you are now reading was written mostly on the
101e.)

To save the Set-Up parameters press ^S when in Set-Up mode.
cit80: Contrast: knob on rear of terminal,
cit101e: Brightness: use up/down arrow keys in Set-Up mode.
-->
CIT 端末は CIE 端末用として 1980 年代の日本で製造され、1980 年代後半に
輸入されなくなりました。CIE 社は CItoh プリンタ (1997年) を製造してい
ますが 、製造中止した部品はもうありません。カリフォルニアのアービンに
ある Ernie (714) 453-9555 ではモデル 224,326 などの部品を扱っています
が、80 と 101 についてはもうありません (あなが読んでいる文書は主に 101
e について書いています)。

セットアップモードで設定したパラメータを保存するには ?S を押します。 
cit80: Contrast: 端末の背面のノブで調整します。 cit101e:Brightness: セ
ットアップモードで上下矢印を操作します。

<sect1><!-- IBM Terminals -->IBM 端末 <label id="ibm_">

<p>
<!--
 Don't confuse IBM terminals with IBM PC monitors.  Many IBM
terminals don't use ASCII but instead use an 8-bit EBCDIC code.  It's
claimed that in EBCDIC the bit order of transmission is reversed from
normal with the high-order bit going first.  The IBM mainframe
communication standards are a type of synchronous communication in
block mode (sends large packets of characters).  Two standards are
"BISYNC" and "SNA" (which includes networking standards).  Many of
their terminals connect with coax cable (RG62A/U) and naive persons
may think the "BNC" connecter on the terminal is for ethernet (but
it's not).
-->
IBM 端末と IBM PC モニタを混同してはいけません。多くの IBM 端末は ASCI
I コードの代りに 8 ビットの EBCDIC コードを使います。EBCDICのビット送
信順序は上位ビットが先で、通常とは逆です。IBM メインフレーム通信規格は
ブロックモード (大量の文字を 1 つのパケットで送る) の同期通信型です。
多くの端末は同軸ケーブル (RG62A/U) で接続しますが、単純な人は端末の ``
BNC'' コネクタをイーサネット用だと勘違いするかもしれません (もちろん違
いますよ)。

<!--
While this IBM system is actually  more efficient than what is
normally used in Linux, terminals meeting this IBM standard will not
currently work with Linux.  However, some IBM terminals are
asynchronous ASCII terminals and should work with Linux on PC's.  The
numbers 31xx may work with the exception that 317x and 319x are not
ASCII terminals.  Before getting an IBM terminal, make sure there is a
termcap (terminfo) for it.  If their isn't, it likely will not work
with Linux.  Even if there is a terminfo, it may not work.  For
example, there is a termcap for 327x but the 3270 is an EBCDIC
synchronous terminal.
-->
実際このような IBM システムは Linux で通常使われているものより効率的で
すが、IBM 規格に合う端末は現在のところ Linux では動きません。しかしい
くつかの IBM 端末は非同期の ASCII 端末なので、PC で動く Linux 端末とし
て使えます。317x と 319x を除く 31xx シリーズは ASCII 端末ではありませ
ん。IBM 端末を使う前に、それが termcap (terminfo) に存在するかどうか確
認しておきましょう。もしなければ、Linux では動かない可能性が高いでしょ
う。terminfo にあったとしても、動かないかもしれません。例えば、327x は
 terminfo にありますが、3270 は EBCDIC の同期端末なんです。

<!--
The 3270 series includes the 3278 (late 1970's), 3279 with color and
graphics, and the 3274 terminal controller (something like the 3174).
They may be used for both BISYNC and SNA.  The 3290 has a split screen
(splits into quarters).
-->
3270 シリーズは 3278 (1970 年後半) 、カラーグラフィック端末の 3279、 3
274 端末コントローラ (3174 のようなもの) を含みます。それらは BISYNC 
と SNA の両方で使用できます。3290 は画面分割 (4 分割) ができます。

<!--
The synchronous IBM terminals don't connect directly to the IBM
mainframe, but connect to a "terminal controller" (sometimes called
"cluster controller" or "communication controller").  Some of these
controllers can convert a synchronous signal to asynchronous so that in
this case a synchronous terminal could indirectly connect to a
Unix-like host computer via its serial port.  But there is still a
major problem and that is block transmission.  See section <ref
id="block" name="Block Mode">.
-->
同期型の IBM 端末は IBM のメインフレームに直接は接続できませんが、``端
末コントローラ'' (時には ``クラスターコントローラ'' とか ``コミュニケ
ーションコントローラ'' と呼ばれます) ヘは接続できます。これらのコント
ローラのいくつかは同期信号を非同期信号に変換するので、同期端末は間接的
に unix 系のホストコンピュータのシリアルポートに接続できます。しかしま
だブロック伝送という大きな問題があります。<ref
id="block" name="ブロック モード">をご覧ください。

<sect2> IBM 3153
<p>
<!--
 It's claimed that the Aux port is DCE and uses a straight-thru
cable.
-->
補助ポートには DCE 機能が求められ、ストレートケーブルが必要です。

<sect1><!-- Teletypes -->テレタイプ<label id="teletype">
<p>
<!--
 These are antiques and represent the oldest terminals.  They are
like remotely controlled typewriters but are large and noisy.  Made by
the Teletype Corp., the first models were made in the 1920's and
predate the computer by over 30 years.  Early models used
electro-mechanical relays and rotating distributors instead of
electronics.  Their Baudot code was only 5-bits per character as
compared to 7-bit ASCII.  See the book "Small Computer Systems
Handbook" by Sol Libes, Hayden Books, 1978: pp. 138-141 ("Teletypes").
-->
これは旧式で古い端末であることを意味します。遠隔操作のタイプライターの
ようなものですが、大きくてうるさい。Teletype 社が製造していて、最初の
モデルは 1920 年代に作られており、コンピュータより 30 年も先行していま
す。初期のモデルは電子式ではなく電磁式のリレーと回転式リレーが用いられ
ていました。Baudot コードは 1 文字 5 ビットで表現しています。ちなみに 
ASCII は 7 ビットですね。``Small Computer Systems Handbook'' 
by Sol Libes, Hayden books, 1978:ページ 138-141 (``Teletypes'')が参考
になるでしょう。

<sect1> VT (DEC)
<p>
<!--
 Digital Equipment Corporation made the famous VT series of
terminals including the commonly emulated VT100.  In 1995 they sold
their terminal business to SunRiver which is now named Boundless
Technologies.  Detailed VT terminal information, some manuals, and
history is at <url url="http://www.vt100.net/">.  Other information is
available at <url
url="http://www.cs.utk.edu/~shuford/terminal_index.html" name=
"Shuford's Website">.  Information on current products is available
from the Boundless website.  See <ref id="internet_" name="Terminal
Info on the Internet">.

VT220: Some have a BNC connector for video output (not for input).
Sometimes people erroneously think this is for an ethernet connection.

VT520: Supports full DTR/DSR flow control.
-->
Digital Equipment Corporation は有名な VT 端末シリーズの製造メーカで、
端末には VT100 を共通にエミュレートする機能が含まれています。1995 年に
 Boundless Technologies と社名変更した SunRiveR に端末ビジネスを譲渡し
ました。詳細な VT 端末の情報、マニュアル関係、歴史などは
<url url="http://www.vt100.net/">にあります。より詳しい情報は 
<url
url="http://www.cs.utk.edu/~shuford/terminal_index.html" name=
"Shuford's Website">にあります。現在の製品については Boundless の Web 
サイトにあります。
<ref id="internet_" name="Terminal Info on the Internet">をご覧ください。

VT220: いくつかのものにはビデオアウト用 (入力用ではありません) の BNC 
コネクタがあります。たまにこれを見てイーサネットへの接続用かと勘違いす
る人がいます。 

VT520: DTR/DSR フルコントロールをサポートします。

<sect1> Wyse
<p>
<!--
 Wyse has some FAQ's for terminal numbers under 100 (such as WY60).
See <url url="http://www.wyse.com/service/faq/wysetter.htm">
For the specs on more recent terminals see
See <url url="http://www.wyse.com/terminal/">.
-->
Wyse には 100 以下の数字の端末 (WY60 のような) についての FAQ がありま
すを。<url url="http://www.wyse.com/service/faq/wysetter.htm">ご覧くだ
さい。最近の端末のスペックについては<url
url="http://www.wyse.com/terminal/">をご覧ください。

<sect2> Wyse 60
<p>
<!--
 Display adjustments (must remove cover): Brightness VR202, Height
VR302, Width VR101 (also affects height).
-->
表示調整 (カバーを外さなければなりません):輝度 VR202, 高さ VR302, 幅 V
R101 (高さへの影響もあり) 

訳注：VRxxxは内部にある、可変抵抗器の番号のこと。

<sect2> Wyse 85
<p>
<!--
 Can emulate VT52/T100/VT200.  Press F3 for setup.  Scroll thru
setup with up/down keys.
-->
VT52/T100/VT200 をエミュレートできます。セットアップするには F3 キーを
押します。上下キーを押せばセットアップをスクロールできます。

<sect2> Wyse 99-GT
<p>
<!--
 Here is the setup Menus of the Wyse99GT (late 1980's).  Note that
TERM means "termination" (character) and not "terminal".
-->
これは Wyse99GT (1980 年代後半) のセットアップメニューです。TERM は ``
 終端'' (文字) という意味で ``端末'' ではありません。

<!--
<tscreen><verb>  WYSE 99-GT Terminal Set-Up as used at the University of CA, Irvine 
		by David Lawyer, April 1990

			F1 DISP:
COLUMNS=80		LINES=24		CELL SIZE=10 X 13
STATUS LINE=STANDARD	BACKGROUND=DARK		SCROLL SPEED=JUMP
SCREEN SAVER=OFF	CURSOR=BLINK BLOCK	DISPLAY CURSOR=ON
ATTRIBUTE=CHAR		END OF LINE WRAP=ON	AUTO SCROLL=ON
----------------------------------------------------------------------------
			F2  GENERAL: 
PERSONALITY=VT 100	ENHANCE=ON		FONT LOAD=OFF
COMM MODE=FULL DUPLEX	RCVD CR=CR		SEND ACK=ON
RESTORE TABS=ON		ANSWERBACK MODE=OFF	ANSWERBACK CONCEAL=OFF 
WIDTH CHANGE CLEAR=OFF	MONITOR=OFF		TEST=OFF
----------------------------------------------------------------------------
			F3 KEYBRD:
KEYCLICK=OFF		KEYLOCK=CAPS		KEY REPEAT=ON
RETURN=CR		ENTER=CR		FUNCT KEY=HOLD
XMT LIMIT=NONE		FKEY XMT LIMIT=NONE	BREAK=170MS
LANGUAGE=US		MARGIN BELL=OFF		PRINTER RCV=OFF
----------------------------------------------------------------------------
			F4 COMM:
DATA/PRINTER=AUX/MODEM	  MDM RCV BAUD RATE=9600  MDM XMT BAUD RATE=9600
MDM DATA/STOP BITS=8/1	  MDM RCV HNDSHAKE=NONE	  MDM XMT HNDSHAKE=NONE
MDM PARITY=NONE		  AUX BAUD RATE=9600	  AUX DATA/STOP BITS=8/1
AUX RCV HNDSHAKE=NONE	  AUX XMT HNDSHAKE=NONE	  AUX PARITY=NONE
(There is a main port (Modem=MDM) and an Auxiliary Port (AUX)
----------------------------------------------------------------------------
			F5 MISC 1:
WARNING BELL=ON		FKEY LOCK=OFF		FEATURE LOCK=ON
KEYPAD=NUMERIC		DEL=DEL/CAN		XFER TERM=EOS
CURSOR KEYS=NORMAL	MARGIN CTRL=0		DEL FOR LOW Y=ON
GIN TERM=CR		CHAR MODE=MULTINATIONAL
----------------------------------------------------------------------------
			F6 MISC 2:
LOCAL=OFF		SEND=ALL		PRINT=NATIONAL
PORT=EIA DATA		SEND AREA=SCREEN	PRINT AREA=SCREEN
DISCONNECT=60 MSEC	SEND TERM=NONE		PRINT TERM=NONE
PRINT MODE=NORMAL	VT100 ID=VT100		POUND=US
----------------------------------------------------------------------------
F7 TABS: You should see several "T" characters spaced 8 dots apart.
    If you don't, hit backspace.
F8 F/KEYS: Normally you will see no definitions for the Function Keys
    here (unless someone has set them up and saved them).  This means that
    they will normally generate their default settings (not displayed here).
    <ctrl><F5> shows the "user defined definition" of the F5 key, etc.
F9 A/BACK: Normally not defined: ANSWERBACK =
F10 EXIT: Selecting "DEFAULT ALL" will make the factory default settings
    the default.
</verb></tscreen>
-->
<tscreen><verb>カリフォルニア大学 (アービン) での WYSE 99-GT 端末セッ
トアップメニュー
                David Lawyer、1990 年 4 月
                F1 DISP:
COLUMNS=80              LINES=24                CELL SIZE=10 X 13
STATUS LINE=STANDARD    BACKGROUND=DARK         SCROLL SPEED=JUMP
SCREEN SAVER=OFF        CURSOR=BLINK BLOCK      DISPLAY CURSOR=ON
ATTRIBUTE=CHAR          END OF LINE WRAP=ON     AUTO SCROLL=ON
----------------------------------------------------------------------------
                        F2  GENERAL: 
PERSONALITY=VT 100      ENHANCE=ON              FONT LOAD=OFF
COMM MODE=FULL DUPLEX   RCVD CR=CR              SEND ACK=ON
RESTORE TABS=ON         ANSWERBACK MODE=OFF     ANSWERBACK CONCEAL=OFF 
WIDTH CHANGE CLEAR=OFF  MONITOR=OFF             TEST=OFF
----------------------------------------------------------------------------
                        F3 KEYBRD:
KEYCLICK=OFF            KEYLOCK=CAPS            KEY REPEAT=ON
RETURN=CR               ENTER=CR                FUNCT KEY=HOLD
XMT LIMIT=NONE          FKEY XMT LIMIT=NONE     BREAK=170MS
LANGUAGE=US             MARGIN BELL=OFF         PRINTER RCV=OFF
----------------------------------------------------------------------------
                        F4 COMM:
DATA/PRINTER=AUX/MODEM    MDM RCV BAUD RATE=9600  MDM XMT BAUD RATE=9600
MDM DATA/STOP BITS=8/1    MDM RCV HNDSHAKE=NONE   MDM XMT HNDSHAKE=NONE
MDM PARITY=NONE           AUX BAUD RATE=9600      AUX DATA/STOP BITS=8/1
AUX RCV HNDSHAKE=NONE     AUX XMT HNDSHAKE=NONE   AUX PARITY=NONE
(There is a main port (Modem=MDM) and an Auxiliary Port (AUX)
----------------------------------------------------------------------------
                        F5 MISC 1:
WARNING BELL=ON         FKEY LOCK=OFF           FEATURE LOCK=ON
KEYPAD=NUMERIC          DEL=DEL/CAN             XFER TERM=EOS
CURSOR KEYS=NORMAL      MARGIN CTRL=0           DEL FOR LOW Y=ON
GIN TERM=CR             CHAR MODE=MULTINATIONAL
----------------------------------------------------------------------------
                        F6 MISC 2:
LOCAL=OFF               SEND=ALL                PRINT=NATIONAL
PORT=EIA DATA           SEND AREA=SCREEN        PRINT AREA=SCREEN
DISCONNECT=60 MSEC      SEND TERM=NONE          PRINT TERM=NONE
PRINT MODE=NORMAL       VT100 ID=VT100          POUND=US
----------------------------------------------------------------------------
F7 TABS:8 つのスペース分離れた ``T'' を数個見ることでしょう。もしそう
ならないなら、バックスペースを打ってみてください。
F8 F/KEYS:通常はファンクションキーに何の割り当てもしてないでしょう (誰
かがセットして保存してなければ)。普通はデフォルトの設定が使われること
を意味します (ここでは表示しません)。<ctrl><F5> は F5 キー等の``ユーザ
定義宣言'' を表示します。
F9 A/BACK:通常は定義されていません: ANSWERBACK =
F10 EXIT: ``DEFAULT ALL'' を選択すると工場出荷時の設定になります。

</verb></tscreen>

<!--
HINTS on use of WY-99GT User's Guide:  
Note that much that is missing from this Guide may be found in the
WY-99GT Programmer's Guide.  The VT100 emulation (personality) is 
known as ANSI and uses ANSI key codes per p. A-10+ even though the
keyboard may be ASCII.  A sub-heading on p. A-13 "ASCII Keyboard" also
pertains to VT100 because it has an "ANSI KEY ..." super-heading a few
pages previously.  But not all ASCII keyboard headings pertain to
VT100 since they may fall under a non-ANSI personality super-heading
which may found be a few pages previously.  Appendix H is the "ANSI
Command Guide" except for the VT52 (ANSI) personality which is found
in Appendix G.
-->
WY-99GT ユーザズガイドを使う上でのヒント：このガイドに見当たらなければ
 WY-99GT プログラマーズ ガイドにあるかもしれません。 VT100 エミュレー
ション (パーナリティ) は ANSI(キーボード配列)として知られています。ペ
ージ A-10 以降に ANSI キーコードが使われるのですが、説明に使われている
キーボードは ASCII配列です。ページ A-13 ``ASCII キーボード'' の小見出
しも VT100 (の ASNI キーボード配列) に属します。なぜなら ``ANSI KEY ..''
の大見出しが 少し前にあるからです。しかし全ての ASCII キーボードの
見出しが VT100 に属するわけではないので、非 ANSI の大見出しが少し前の
ページから抜けています。付録 H は ``ANSI コマンドガイド'' ですが、VT52
 (ANSIです) が含まれていません。 VT52 は付録 G にあります。

訳注：VT100には ANSIキーボードとASCIIキーボードがあります。少しだけキ
ー配列が違います。

<sect2> Wyse 150
<p>
<!--
 When exiting set-up using F12, hitting space changes "no" to "yes"
to save the set-up.  The sentence to the left of this no/yes is about
"vertical alignment" and has nothing to do with this no/yes for saving
the set-up (confusing menu design).

END OF Text-Terminal-HOWTO
-->
F12 を使ってセットアップを終了させるとき、セットアップを保存するならス
ペースを叩いて、``no'' から ``yes'' に変更します。この no/yes の左にあ
る文はだいたい ``縦に整列'' していて、セットアップを保存するための no/
yes で何をするのかわかりません (間違いやすいデザインだ)。

以上で Text-Terminal-HOWTO を終ります。
</article>

