<!DOCTYPE Article PUBLIC "-//OASIS//DTD DocBook V3.1//EN">

<article>

<artheader>

<title>Visible bell mini-Howto</title>
<author>
<firstname>Alessandro</firstname>
<surname>Rubini</surname>
 <affiliation><address>rubini@linux.it</address></affiliation>
</author>
<othercredit lang="ja">
<firstname>JF Project</firstname>
<surname></surname>
<contrib>日本語訳</contrib>
<affiliation>
 <address>JF@linux.or.jp</address>
</affiliation>
</othercredit>
<pubdate>v2.2, 11 November 1997</pubdate>

<abstract>

<para>
<!--
This document explains how to use termcap to configure a visual bell
on one's system and describes how to disable audible bells on demand.
-->
この文書では、termcap を使って、ビープ音を鳴らさずに視覚的に知らせる 
(visible bell) ようシステムを設定する方法を説明します。また、必要に応じて
ビープ音自体を消す方法についても紹介しています。
</para>

</abstract>

</artheader>

<sect1 id="intro">
<title><!--Introduction-->はじめに</title>

<para>
<!--
The Linux console driver beeps the audible bell whenever a BEL char is
output (ASCII code 7).  Though this is a right choice for the default
behaviour, many users don't like their computer to beep. This
mini-Howto is meant to explain how to tell applications not to output
the BEL code. It also explain how to instruct the kernel and the X
Window System to avoid beeping when a BEL is output. Note that most of
this document refers to the text console, as configuring the X server
is an easy catch-all for any user who works in a graphic environment.
-->
Linux コンソールドライバは、BEL 文字 (ASCII code 7) を出力する際、
いつもビープ音を鳴らすようになっています。これは初期設定での振舞い
としては問題ないのですが、ユーザのなかには、コンピュータのビープ音を
鳴らさないようにしたいと思っている人も多いでしょう。この mini-HOWTO 
は、アプリケーションに BEL コードを出力しないよう指示する方法を説明
するものです。また、カーネルや X Window System を設定して、BEL 文字の
出力の際にビープ音を鳴らさないようにする方法も説明しています。ただ、
この文書は、テキストコンソールに関する説明が大半となっています。X サーバ
の設定は、グラフィック環境を使っているユーザ向けに、付け足し程度しか
説明していないので、ご了承ください。
</para>

<para>
<!--
In my opinion the best way to face a fussy computer is fixing the
hardware, and my own computer doesn't even carry a loudspeaker.
-->
思うに、何かと面倒なことが多いコンピュータを思い通りに動かす最良の
方法は、ハードウェア段階で対処することです。(ビープ音の嫌いなわたしは) 
コンピュータからスピーカ自体を取り外しています。
</para>

</sect1>

<sect1 id="speakerectory">
<title><!--Spekearectomy-->スピーカを取り外す</title>

<para>
<!--
Speakerectomy is by far the most brilliant solution to the audible bell
problem. As its name implies, it consists in removing the beeps by removing
the beeper. The operation is straightforward and you don't
even need any anesthetic, but if you want there's room for refinement.
-->
スピーカを外科的に取り外す (Speakerectomy 

<footnote><para>
訳注： Speakerectomy について著者からの説明です。
</para><para>
<blockquote><attribution>Alessandro Rubini</attribution><para>
Speakerectomy is a
neologism, an invented word. Taken from the surgical vocabulary, -
ctomy means cut-and-remove. It's (loud)speaker removal -- by
cutting wires. </para><para>
( Speakerectomy という言葉は、私が勝手に作った造語です。
外科的な言葉に由来します。-ctomy というのは、切断し、取りはずすこと
を意味します。つまり、接続線を切断してスピーカーを撤去することです。)
</para></blockquote></para>
</footnote>

) こと、それがビープ音の問題を解決するのに最も賢明な手段です。
これは、字義通り、ビープ音の発生源を取り外すことでビープ音が
鳴らないようにするわけです。この手術は回りくどさがなく、
麻酔すら不要ですが、ただ、安直な方法ではあるので洗練の余地はあります。
</para>

<para>
<!--
PC's are usually equipped with a silly switch to lower CPU clock.  The
switch is never used when you work in a multitasking environment, as
you don't even need to slow the computer down to run games based on
software loops. Unfortunately we can't use the switch to increase
processor speed, but we can use it to enable/disable the
loudspeaker. Sometimes the speaker is useful even if you enjoy a
silent number cruncher, for example to signal the end of a lenghty
compilation.  To modify the switch functionality, just detatch it from
the main board and connect its wires in series with the
loudspeaker.
-->
通常、PC には、CPU を低速にするためのあまり役に立たないシステムクロック
切り替えスイッチが付いています。このスイッチは、マルチタスク環境で動かす
ような場合には、全く使用されません。ソフトウェアループでタイミングを
取っている古い DOS ゲームを低速で動かすような場合ですら、もはや使われて
いません。残念ながらこのスイッチを使ってプロセッサ速度を上げることは
できませんが、これを転用してスピーカ
の有効無効を切り替えることができます。確かに、ビープ音が役立つ場合も
あります。静かで高速なマシンを使っていて、例えば、長時間のコンパイルの
終了時をビープ音で知らせるといった際には、スピーカが役立つこともある
でしょう。このスイッチの機能を変更するには、メインボードからそれを
取り外して、配線をスピーカと直列に接続するだけです。
(訳注：この文書は、1997 年に書かれています。現在では、多少事情が
違うと思われるので、ご注意ください)
</para>

<para>
<!--
Owners of laptop boxes, unfortunately, don't have easy access to the
loudspeaker, and neither they have a spare switch to turn to a
different task.  The preferred solution for such users is configuring
their software to avoid beeping, as described below.
-->
ラップトップを使っている場合は、残念ながら、スピーカにアクセスすることは
簡単ではありませんし、余分なスイッチを使って別の目的に転用するようなこと
もできません。そうしたユーザにとって、よりよい解決策は、ソフトウェア上で
設定を行ってビープ音を消すことです。そうした方法を以下で説明します。
</para>

</sect1>

<sect1 id="pre-console">
<title><!--Per-console Beep Configuration-->
コンソールごとにビープ音の音色を変える</title>

<para>
<!--
As of Linux 1.3.43, Martin Mares added the ability to configure the
pitch and duration of the beep, by modifying <literal>console.c</literal>. Each
console can be configured to feature a different duration and/or pitch
of the bell sound; the task is accomplished by using escape sequences
to the console device.  You can configure your own <literal>&tilde;/.profile
</literal> or <literal>&tilde;/.login</literal> file to select a different 
beep sound associated to each console (or no beep at all, if needed).
-->
Linux 1.3.43 では、Martin Mares が、<filename>console.c</filename> の変更
によって、ビープ音のピッチと持続時間を設定できる機能を追加しました。
コンソールごとに、異なるピッチと持続時間の音色でビープ音を鳴らすよう
設定することが可能です。このタスクの実行には、コンソールデバイスに送られる
エスケープシーケンスが使われています。<filename>~/.profile</filename> 
や <filename>~/.login</filename> ファイルの設定により、別々のビープ
音を個々のコンソールで鳴らすことができます(また、必要に応じて、ビープ音を
消すこともできます)。
</para>

<para>
<!--
The escape sequences work as follow:
-->
エスケープシーケンスは、次のような働きをします。

<itemizedlist>

<listitem><para>
<!--
ESC-<literal>[10;</literal>xx<literal>]</literal> selects the bell frequency 
in Hertz. The value should be in the range 21-32766, otherwise the result is 
undefined. If the `xx' argument is missing, the default value (750Hz) will 
apply, as in `ESC-<literal>[10]</literal>.
-->
ESC-<option>[10;</option>xx<option>]</option> により、ヘルツ(Hz)単位で
ビープ音の周波数を設定します。この値は、21-32766 の範囲でなければならず、
それ以外の値は未定義と解釈されます。引数 xx が定義されていない場合、例えば
ESC-<option>[10]</option> となっているような場合は、デフォルト値 (750Hz) が
適用されます。
</para></listitem>
<listitem>

<para>
<!--
ESC-<literal>[11;</literal>xx<literal>]</literal> selects the bell duration, 
in milli-seconds. If you specify more than 2 seconds, the default applies 
(125ms). Once again, if the `xx' argument is missing (ESC-<literal>[11]
</literal>) the default value will be used.
-->
ESC-<option>[11;</option>xx<option>]</option> により、ミリ秒単位でビープ音
の持続時間を設定します。2 秒以上を指定すると、デフォルト値 (125ms) が適用
されます。上記同様、引数 xx が定義されていない場合 (ESC-<option>[11]</option>
)、デフォルト値が使われます。
</para>
</listitem>

</itemizedlist>

</para>

<para>
<!--
To select, for example, a 50Hz pitch for one-second duration, you can
"<literal>echo -e "\\33[10;50]\\33[11;1000]"</literal>" with <literal>bash
</literal> (where "-e" means `understand Escape sequences'. If you use 
<literal>tcsh</literal> the same command spells "<literal>
echo "\\033[10;50]\\033[11;1000]"</literal>".
-->
例えば、50Hz のピッチで一秒間持続させたい場合、<acronym>bash</acronym> なら、
" <computeroutput>echo -e "\\33[10;50]\\33[11;1000]"</computeroutput> " と
なります
<footnote><para>
(訳注：このコマンドは、X 用ではなく、ターミナル用です。
テキスト端末画面で上記コマンドを打ち、Ctrl-G でそのビープ音を鳴らすことが
できます。X 用の設定は、<link linkend="applications">こちら</link>をご覧
ください。)
</para></footnote>
。("<option>-e</option>" は、エスケープシーケンスを理解せよという
意味です。<acronym>tcsh</acronym> の場合でも、コマンドスペルは同じです。)
</para>

<para>
<!--
Although I don't know of any version of the <literal>setterm</literal> command 
that supports such configuration, a future version of the command might
well support a command-line option to configure the bell sound.
-->
<command>setterm</command> コマンドにこのような設定をサポートするバージョンが
あるかどうかは知りませんが、将来的には <command>setterm</command> のコマンド
ラインオプションでビープ音の設定ができようになるだろうと思います。
</para>

<para>
<!--
If you run Linux-1.3.43 or newer, you may be satisfied with the escape
sequences and avoid reading further. If you run an older kernel, or if
you want the visual bell, you'll enjoy the rest of this document.
-->
Linux カーネル 1.3.43 以降を使っているなら、このエスケープシーケンスを
使った設定を行えば充分なので、本書をこれ以上読む必要はないでしょう。
もし、それ以前のカーネルを使っているか、もしくはビープ音を視覚的に表現させ
ようと思うなら、次章以下がお役に立ちます。
</para>

</sect1>

<sect1 id="basics">
<title><!--Basic Concepts About Termcap and Terminfo-->
termcap と terminfo の基本概念</title>

<para>
<!--
The file <literal>/etc/termcap</literal> is a text file that lists the
<literal>term</literal>inal <literal>cap</literal>abilities. Several 
applications use the <literal>termcap</literal> information to move the cursor 
around the screen and do other screen-oriented tasks.  <literal>tcsh</literal>,
 <literal>bash</literal>, <literal>vi</literal> and all the <literal>curses
</literal>-based applications use the <literal>termcap</literal> database.
-->
<filename>/etc/termcap</filename> ファイルは、ターミナルの機能 (
<literal>term</literal>inal <literal>cap</literal>ability ) を
列記したテキストファイルです。多くのアプリケーションが <filename>termcap
</filename> ファイルを使って、スクリーン上でのカーソル移動やその他の
スクリーン関係の処理を行っています。<acronym>tcsh</acronym> や <acronym>
bash</acronym>、<acronym>vi</acronym> 等、すべてのカーソルベースの
アプリケーションは、<filename>termcap</filename> データベースを使用して
います。
</para>

<para>
<!--
The database describes several terminal types. The 
<literal>TERM</literal> environment variable selects the right behaviour
at run-time, by naming a <literal>termcap</literal> entry to be used by
applications.
-->
<filename>termcap</filename> データベースには、各種のターミナルタイプが
記述されています。実行時には、環境変数 <envar>TERM</envar> によって
ターミナルの振る舞いが選択されます。これは、<filename>termcap</filename> の
エントリのひとつを指定することで、アプリケーションがそこに記述されたデータ
を利用するという仕組みになっています。
</para>

<para>
<!--
Within the database, each capability of the terminal appears as a
two-letter code and a representation of the actual escape sequence
used to get the desired effect.  The separator character between
different capabilities is the colon (":").  As an example, the audible
bell, with code "bl", usually appears as "<literal>bl=&circ;G</literal>". 
This sequence tells that the bell sound is obtained by printing the control-G
character, the ASCII BEL.
-->
このデータベース内では、ターミナルの個々の機能が、二文字のコードと、
必要な効果を得るための実際のエスケープシーケンスとで表記されています。
異なる機能を区別する際には、分離用の文字としてコロン (":") が使われています。
例えば、ビープ音は、"bl" というコードで表記され、通常は、" <literal>
bl=&circ;G</literal> " というふうに記載されます。このシーケンスの意味は、
Ctrl-G という文字 (ASCII BEL) を出力する際にビープ音を鳴らすというものです。
</para>

<para>
<!--
In addition to the <literal>bl</literal> capability, the <literal>vb</literal> 
capability is recognized. It is used to represent the "visible bell". 
<literal>vb</literal> is usually missing in the <literal>linux</literal> entry 
of the <literal>termcap</literal> file.
-->
<literal>bl</literal> 機能に加えて、<literal>vb</literal> 機能というのが
あります。これが、ビープ音を視覚的に表す (visible bell) 際に
使われるコードです。ただ、<literal>vb</literal> は、通常、<filename>termcap
</filename> ファイルの <literal>linux</literal> エントリには記述されて
いません。
</para>

<para>
<!--
Most modern applications and libraries use the <literal>terminfo</literal> 
database instead of <literal>termcap</literal>. This database uses one file 
per terminal-type
and lives in <literal>/usr/lib/terminfo</literal>; to avoid using huge
directories, the description of each terminal type is stored in a
directory named after its first letter; the <literal>linux</literal> entry,
therefore, is <literal>/usr/lib/terminfo/l/linux</literal>. To build a
<literal>terminfo</literal> entry you'll ``compile'' the <literal>termcap
</literal> description; 
refer to the <literal>tic</literal> program and its manual page.
-->
最近のアプリケーションやライブラリでは、<filename>termcap</filename> の
かわりに <filename>terminfo</filename> が使われています。<filename>
terminfo</filename> データベース
では、ターミナルタイプごとにひとつのファイルを使うようになっていて、
それらは <filename>/usr/lib/terminfo</filename> 以下に置かれています。
そして、ディレクトリ構造を分かり易くするために、それぞれのターミナルタイプ
の記述ファイルは、そのターミナル名の頭文字の付いたディレクトリ内に保存
されています。それゆえ、<literal>linux</literal> エントリは、<filename>
/usr/lib/terminfo/l/linux</filename> ファイルとなります。<filename>
terminfo</filename> エントリを構築するには、<filename>termcap</filename> 
の記述ファイルを「コンパイル」する必要があります。詳細は、<command>tic
</command> プログラムとそのマニュアルページをご覧ください。
</para>

</sect1>

<sect1 id="visible">
<title><!--Defining a Visible Bell-->ビープ音を視覚化する</title>

<para>
<!--
You can add the entry for the <literal>vb</literal> capability in your own 
termcap file, if it doesn't already define one.  Dennis Henriksen
(duke@diku.dk) suggested to insert the following line in the
<literal>termcap</literal> entry for <literal>linux</literal> 
(note that the entry is called <literal>console</literal> in old 
distributions):
-->
<filename>termcap</filename> ファイルに <literal>vb</literal> 機能の
エントリーがまだ定義されていない場合は、自分でエントリを追加することが
できます。これは Dennis Henriksen (duke@diku.dk) からの提案なのですが、
以下の行を <filename>termcap</filename> ファイルの <literal>linux</literal> 
エントリ内に書き込むことで、<literal>vb</literal> 機能が利用可能になります
 (古いディストリビューションでは、この <literal>linux
</literal> エントリが <literal>console</literal> という名前になっている
ので、注意してください)。
</para>

<para>
<screen>
:vb=\E7\E[?5h\E[?5l\E[?5h\E[?5l\E[?5h\E[?5l\E[?5h\E[?5l\E8:\
</screen>
</para>

<para>
<!--
The trailing backslash is used to escape the newline in the database.
Dennis' code does the following (his own words):
-->
行末のバックスラッシュは、データベース内での改行をエスケープするための
ものです。上記 Dennis のコードは、(彼の言によると)次の機能を持つそうです。

<itemizedlist>
<listitem>

<para>
<!--
Save the cursor position (uust a safety precaution).
-->
(安全策として)カーソル位置を保存する
</para>
</listitem>
<listitem>

<para>
<!--
Change the background color several times between normal and reverse.
-->
背景色と対になる色を使って、背景を数回点滅させる
</para>
</listitem>
<listitem>

<para>
<!--
Restore the cursor position.
--> 
カーソル位置を元に戻す
</para>
</listitem>

</itemizedlist>

</para>

</sect1>

<sect1 id="disabling">
<title><!--Disabling the Audible Bell on the Text Console-->
テキストコンソールのビープ音を消す</title>

<para>
<!--
If you want to force the visible bell on your console you can use the
"<literal>bl</literal>" entry in <literal>termcap</literal> and define it with 
the same string suggested for "<literal>vb</literal>" above.  This approach is 
handy if you don't want to customize each application (which is described 
below, anyway). I use this option on all the machines where I can run Linux 
and I can't detach the speaker.
-->
コンソール上でビープ音の視覚化を強制したい場合は、<filename>termcap</filename> 
ファイルの <literal>bl</literal> エントリの部分を前章の <literal>
vb</literal> の文字列に置き換えてください。アプリケーションごとのカスタマイズ
を望まないなら、このアプローチは非常に手軽な方法です (アプリケーションごと
のカスタマイズは、次章で説明します)。わたしは、スピーカの取り外しができない 
Linux マシンには、すべてこのオプションを使っています。
</para>

</sect1>

<sect1 id="applications">
<title><!--Telling Applications to Avoid Beeping-->
アプリケーションのビープ音を消す</title>

<para>
<!--
This is an incomplete list of applications that can be instrued
to use the <literal>vb</literal> entry for the current terminal type (using 
either the <literal>termcap</literal> information or the <literal>terminfo
</literal> one):
-->
この章では、 (<filename>termcap</filename> か <filename>terminfo</filename> 
に記述されている情報を使って) ターミナルタイプを判断しているアプリケーション
のうち、 <literal>vb</literal> エントリを使うよう指示することが可能なものを
いくつかを取り上げて説明します。
</para>

<para>

<itemizedlist>
<listitem>

<para>
<!--
The X server: use the "<literal>xset b</literal>" command to select
the bell's behaviour. The command takes three numeric
arguments: volume, pitch and duration. "<literal>xset -b</literal>" disables
the bell altogether. Configuring the X server affects all
the applications running on the display.
-->
X サーバ：X サーバでは、"<command>xset b</command>" コマンドを使ってビープ音の
音色を調整します。このコマンドは、「ボリューム」「ピッチ」「持続時間」という 
3 つ数値の引数を取ります 
<footnote><para>
(訳注：例えば、"<command>xset b</command> <option>10 
50 2000</option>" など。)
</para></footnote>
。また、"<command>xset -b</command>" で、ビープ音を
無効にできます。この X サーバの設定は、ディスプレイ上で動作するすべての
アプリケーションに影響を与えます。
</para>
</listitem>
<listitem>

<para>
<![IGNORE[
<literal>xterm</literal>: xterm can convert each bell to either a visible or
audible signal. If you use the audible bell, the settings of
"<literal>xset</literal>" will apply. The bell in <literal>xterm</literal> 
defualts to be
audible, but you can use the "<literal>-vb</literal>" command line option
and the "<literal>xterm*visualBell: true</literal>" resource to turn it to a
visible flash. You can toggle visible/audible signaling at
run-time by using the menu invoked by
control--left-mouse-button.  If you run X you most likely
won't need the following information.
]]>
<literal>xterm</literal>：xterm は、BEL 文字を聴覚信号か視覚信号かの
どちらにでも変換することができます。聴覚信号(ビープ音)を使う場合は、
上記の <command>xset</command> コマンドでの設定方法がそのまま当てはまり
ます。<literal>xterm</literal> での初期設定は聴覚信号になっていますが、
コマンドラインオプションで "<option>-vb</option>" を指定するか、リソース
(訳注：<filename>~/.Xresources</filename> の意味と思われます) に 
"<literal>xterm*visualBell: true</literal> と記述することで、
画面をフラッシュさせる視覚信号に変更できます。また、実行中でも 
Control--left-mouse-button で聴覚信号と視覚信号を切り替えることができます。
X を実行しているのなら、おそらくこれらの情報があれば、以下の説明は不用
だと思われます。
</para>
</listitem>
<listitem>

<para>
<!--
<literal>tcsh</literal> (6.04 and later): "<literal>set visiblebell</literal>".
The instruction can be placed in <literal>.cshrc</literal> or can be issued
interactively. To reset the audible bell just "<literal>unset
visiblebell</literal>". To disable any notification issue use "<literal>set
nobeep</literal>" instead.
-->
<literal>tcsh</literal> (6.04 以降)："<command>set visiblebell</command>" 
としてください。この設定は、<filename>.cshrc</filename> に記述することも
できますし、手動で打ち込んでもかまいません。元のビープ音に戻す際は、
"<command>unset visiblebell</command>" とします。シグナルを一切消す場合は、
"<command>set nobeep</command>" を使います。
</para>
</listitem>
<listitem>

<para>
<!--
<literal>bash</literal> (any bash, as fas as I know): put "<literal>
set bell-style visible</literal>" in your <literal>&tilde;/.bashrc</literal>. 
Possible bell-style's are also "none" or "audible".
-->
<literal>bash</literal> (著者の知る限り、バージョンを問いません)：
"<command>set bell-style visible</command> を <filename>~/.bashrc</filename> 
に記述してください。bell-style のオプションは、これ以外にも "none" と 
"audible" があります。
</para>
</listitem>
<listitem>

<para>
<!--
<literal>bash</literal> (with <literal>readline</literal>, as well as other 
<literal>readline</literal>
based applications): put "<literal>set prefer-visible-bell</literal>" in
<literal>&tilde;/.inputrc</literal>.
-->
<literal>bash</literal> (<literal>readline</literal> を使っている bash、
および readline ベースのすべてのアプリケーション)：
"<command>set prefer-visible-bell</command>" を <filename>~/.inputrc</filename>
 に記述します。
</para>
</listitem>
<listitem>

<para>
<!--
<literal>nvi</literal> and <literal>elvis</literal>: put "<literal>set flash
</literal>" in <literal>&tilde;/.exrc</literal> or tell "<literal>:set flash
</literal>" interactively (note the colon).  To disable the visible bell use 
<literal>noflash</literal> in place of <literal>flash</literal>.
-->
<literal>nvi</literal> と <literal>elvis</literal>：
"<command>set flash</command>" を <filename>~/.exrc</filename> に記述するか、
"<command>:set flash</command>" (コロンが必要です)を手動で打ち込んでください。
視覚効果を無効にする場合は、<literal>flash</literal> の部分を <literal>
noflash</literal> に変更して使ってください。
</para>
</listitem>
<listitem>

<para>
<!--
<literal>emacs</literal>: put "<literal>(setq visible-bell t)</literal>" in 
your <literal>&tilde;/.emacs</literal>.  It is disabled by "<literal>
(setq visible-bell nil)</literal>".
-->
<literal>emacs</literal>："<userinput>(setq visible-bell t)</userinput>" 
を <filename>~/.emacs</filename> に記述します。無効にするには、"<userinput>
(setq visible-bell nil)</userinput> とします。
</para>
</listitem>
<listitem>

<para>
<!--
<literal>less</literal>: use "<literal>-q</literal>" on command line to use 
the visual bell, use "<literal>-Q</literal>" to disable any reporting. Default 
options can be put in your environment variable "<literal>LESS</literal>".
-->
<literal>less</literal>：コマンドラインで "<option>-q</option>" オプションを
付けるとビープ音を視覚化でき、"<option>-Q</option>" オプションでシグナル自体
を無効にできます。初期設定を環境変数 <envar>LESS</envar> に設定しておく
ことが可能です。
</para>
</listitem>
<listitem>

<para>
<!--
<literal>screen</literal>: issue the CtrlA-CtrlG command. It changes the
behaviour of all the virtual screens. Refer to the man page
under "CUSTOMIZATION" for setting the default.
-->
<literal>screen</literal>：CtrlA-CtrlG コマンドを使います。このコマンドで、
すべてのバーチャルスクリーンの振る舞いを変更することができます。初期設定
の変更については、マニュアルページの "CUSTOMIZATION" の項をご覧ください。
</para>
</listitem>

</itemizedlist>

</para>

</sect1>

<sect1 id="problem">
<title><!--The Dark Side of the Problem-->問題点</title>

<para>
<!--
The bad news is that not every application uses <literal>termcap</literal> or
<literal>terminfo</literal>. Most small programs feature 'backslash-a' (alarm)
characters in the C source code.  The "alarm" code becomes a literal
ASCII BEL in the strings as stored in the executable binary.  Real
application don't usually fall in this category, but be careful of C
newcomers who give you their own programs. Students of computer science
are the worst of all, granted.
-->
問題となるのは、必ずしもすべてのアプリケーションが <filename>termcap
</filename> や <filename>terminfo</filename> を使っているわけではない
ということです。小さなプログラムの大部分では、C ソースコード内で
「バックスラッシュ a」(アラーム) 文字が使われています。この「アラーム」
文字は、実行バイナリでそのまま ASCII の BEL 文字になります。きちんとした
プログラムは、通常こうしたことはないのですが、C の初心者が作成した
プログラムには気を付けてください。コンピュータサイエンスを学び始めた
ばかりの学生は、特にひどかったりします。
</para>

<para>
<!--
The only way to make these programs silent applications is
spekearectomy, or using the escape sequences by Martin Mares.
-->
そうしたプログラムのビープ音を消す唯一の方法は、スピーカ自体を取り外すか、
Martin Mares が作成したエスケープシーケンスを使うことです。
</para>

</sect1>

<sect1 id="jptrans">
<title>日本語訳について</title>
<para>
日本語訳は Linux-JF プロジェクトの多くの方々にサポート頂きました。
ありがとうございます。
</para>
<para>
誤植・誤訳等については、JF メーリングリスト &lt;JF@linux.or.jp&gt; か、
&lt;ysenda@pop01.odn.ne.jp&gt; までお願いします。
</para>
<para>
<simplelist columns="3" type="horiz">
<member>訳：</member>
<member>中谷千絵 &lt;jeanne@mbox.kyoto-inet.or.jp&gt;</member>
<member>(1996/10/06)</member>
<member>更新：</member>
<member>千旦裕司 &lt;ysenda@pop01.odn.ne.jp&gt;</member>
<member>(2001/08/28)</member>
<member>校正：</member>
<member>Seiji Kaneko &lt;skaneko@a2.mbn.or.jp&lt;</member>
<member></member>
</simplelist>
</para>
</sect1>

</article>
