This file is indexed.

/usr/share/doc/HOWTO/fr-html/Visual-Bell.html is in doc-linux-fr-html 2013.01-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
<meta name="GENERATOR" content="LinuxDoc-Tools 0.9.69">
<title>Bip visuel mini-Howto (Visual bell mini-Howto)</title>
</head>
<body>
<h1>Bip visuel mini-Howto (Visual bell mini-Howto)</h1>
<h2>Alessandro Rubini, <code>rubini@linux.it</code><br>
Traduction Jean-Albert Ferrez,
<code>Jean-Albert.Ferrez@epfl.ch</code></h2>
v2.2, 11 Novembre 1997
<hr>
<em>Ce document explique comment utiliser termcap pour configurer
un bip visuel sur son syst&egrave;me et comment d&eacute;sactiver
&agrave; la demande le bip sonore.</em>
<hr>
<h2><a name="s1">1. Introduction</a></h2>
<p>La console Linux &eacute;met un bip sonore lorsqu'un
caract&egrave;re BEL (code ASCII 7) est produit. Bien que ce soit
un choix raisonnable dans la plupart des cas, bien des utilisateurs
n'aiment pas que leur ordinateur fasse du bruit. Ce mini-howto est
cens&eacute; expliquer comment indiquer aux applications de ne pas
produire de caract&egrave;re BEL. Il explique &eacute;galement
comment faire en sorte que le noyau et le serveur X Window ne
sonnent pas en pr&eacute;sence d'un caract&egrave;re BEL. Notez que
la plupart de ce document concerne la console texte, &eacute;tant
donn&eacute; que la configuration du serveur X est triviale pour
ceux qui travaillent dans un environnement graphique.</p>
<p>A mon avis, la meilleure attitude &agrave; adopter face &agrave;
un ordinateur bruyant consiste &agrave; op&eacute;rer au niveau du
mat&eacute;riel, le mien n'a m&ecirc;me pas de haut-parleur.</p>
<h2><a name="s2">2. "Spekearectomy", ablation du
haut-parleur</a></h2>
<p>L'ablation du haut-parleur est de loin la solution la plus
brillante au probl&egrave;me du bip sonore. Comme son nom
l'indique, elle consiste &agrave; supprimer le bip &agrave; la
source. L'op&eacute;ration est simple, elle ne n&eacute;cessite pas
d'anesth&eacute;sie.</p>
<p>Les PC sont habituellement &eacute;quip&eacute;s d'un bouton
ridicule servant &agrave; r&eacute;duire la fr&eacute;quence du
CPU. Ce bouton n'est jamais utilis&eacute; dans un environnement
multit&acirc;che, puisque l'on n'a jamais besoin de ralentir la
machine pour utiliser des jeux bas&eacute;s sur des boucles de
temporisation. Malheureusement, on ne peut pas utiliser ce bouton
pour augmenter la fr&eacute;quence du CPU, mais on peut l'utiliser
pour activer/d&eacute;sactiver le haut-parleur. Parfois, ce dernier
est utile m&ecirc;me si vous pr&eacute;f&eacute;rez un ordinateur
silencieux, par exemple pour signaler la fin d'une longue
compilation. Pour modifier la fonction de ce bouton, il suffit de
le d&eacute;connecter de la carte-m&egrave;re et de le brancher en
s&eacute;rie avec le haut-parleur.</p>
<p>Cela dit, les possesseurs de portables n'ont pas acc&egrave;s au
haut-parleur, pas plus qu'ils ne disposent d'un bouton inutile
&agrave; r&eacute;assigner. La solution pour ces utilisateurs
r&eacute;side dans la configuration de leurs logiciels, comme
indiqu&eacute; ci-dessous.</p>
<h2><a name="s3">3. Configuration du bip console par
console</a></h2>
<p>Depuis la version 1.3.43, Martin Mares a modifi&eacute;
<code>console.c</code>, y ajoutant la possibilit&eacute; de
configurer la hauteur et la dur&eacute;e du bip. Chaque console
peut &ecirc;tre configur&eacute;e pour avoir un bip de hauteur
et/ou dur&eacute;e diff&eacute;rente. Ce but est atteint au moyen
de s&eacute;quences d'&eacute;chappement interpr&eacute;t&eacute;es
par le gestionnaire de la console. Vous pouvez configurer vos
fichiers <code>~/.profile</code> ou <code>~/.login</code> pour
choisir un bip particulier pour chaque console (ou, le cas
&eacute;ch&eacute;ant, pas de bip du tout).</p>
<p>Les s&eacute;quences d'&eacute;chappement fonctionnent comme
suit&nbsp;:</p>
<ul>
<li>ESC-<code>[10;</code>xx<code>]</code> s&eacute;lectionne la
hauteur du bip en Hertz. La valeur doit &ecirc;tre dans la plage
21-32766, sinon le r&eacute;sultat est ind&eacute;termin&eacute;.
Si l'argument `xx' manque (ESC-<code>[10]</code>), la valeur par
d&eacute;faut est 750 Hz.</li>
<li>ESC-<code>[11;</code>xx<code>]</code> s&eacute;lectionne la
dur&eacute;e du bip en millisecondes. Au del&agrave; de 2 secondes,
la valeur par d&eacute;faut de 125 ms est appliqu&eacute;e. Cette
derni&egrave;re est &eacute;galement utilis&eacute;e si l'argument
'xx' manque.</li>
</ul>
<p>Pour avoir par exemple un bip &agrave; 50Hz durant une seconde,
faites "<code>echo -e "\\33[10;50]\\33[11;1000]"</code>" avec
<code>bash</code> (le "-e" signifie `dig&egrave;re les
s&eacute;quences d'&eacute;chappement'. Avec <code>tcsh</code> la
commande devient "<code>echo
"\\033[10;50]\\033[11;1000]"</code>".</p>
<p>Bien que je ne connaisse aucune version de la commande
<code>setterm</code> qui supporte une telle configuration, il est
possible qu'une version future offre une option permettant de
configurer le bip.</p>
<p>Si vous utilisez Linux-1.3.43 ou plus r&eacute;cent, vous pouvez
vous contenter des s&eacute;quences d'&eacute;chappement et
interrompre votre lecture ici. Si votre noyau est plus vieux, ou si
vous d&eacute;sirez un bip visuel, vous aller aimer le reste de ce
document.</p>
<h2><a name="s4">4. Concepts de base au sujet de Termcap et
Terminfo</a></h2>
<p>Le fichier <code>/etc/termcap</code> est un fichier texte
contenant les "<code>term</code>inal <code>cap</code>abilities"
(capacit&eacute;s des terminaux, N.d.T.). Plusieurs applications
utilisent les informations de <code>termcap</code> pour
d&eacute;placer le curseur sur l'&eacute;cran ou d'autres actions
en relation avec ce dernier. <code>tcsh</code>, <code>bash</code>,
<code>vi</code> et toutes les applications bas&eacute;es sur
<code>curses</code> utilisent la base de donn&eacute;es
<code>termcap</code>.</p>
<p>La base de donn&eacute;es d&eacute;crit plusieurs types de
terminaux. La variable d'environnement <code>TERM</code>
s&eacute;lectionne le comportement correct lors de
l'ex&eacute;cution en indiquant aux applications quelle
entr&eacute;e de <code>termcap</code> utiliser.</p>
<p>Dans la base de donn&eacute;es, chaque capacit&eacute; d'un
terminal est repr&eacute;sent&eacute;e par un code de deux lettres
et une repr&eacute;sentation de la s&eacute;quence
d'&eacute;chappement permettant d'obtenir l'effet
d&eacute;sir&eacute;. Les deux-points ":" servent de
s&eacute;parateur entre les diff&eacute;rentes capacit&eacute;s.
Par exemple, le bip sonore dont le code est "bl" appara&icirc;t
g&eacute;n&eacute;ralement sous la forme "<code>bl=^G</code>", ce
qui signifie que le bip est obtenu en "affichant" le
caract&egrave;re control-G, correspondant au code ASCII BEL.</p>
<p>En plus de <code>bl</code>, la capacit&eacute; <code>vb</code>
est reconnue. Elle est utilis&eacute;e pour repr&eacute;senter le
"bip visible". <code>vb</code> est g&eacute;n&eacute;ralement
absent de l'entr&eacute;e <code>linux</code> du fichier
<code>termcap</code>.</p>
<p>La plupart des applications et librairies modernes utilisent la
base de donn&eacute;es <code>terminfo</code> au lieu de
<code>termcap</code>. Cette base de donn&eacute;es utilise un
fichier par type de terminal et est situ&eacute;e dans
<code>/usr/lib/terminfo</code>; pour &eacute;viter de trop grands
r&eacute;pertoires, les descriptions de chaque type de terminal
sont stock&eacute;es dans un r&eacute;pertoire nomm&eacute;
d'apr&egrave;s la premi&egrave;re lettre&nbsp;: ainsi,
l'entr&eacute;e <code>linux</code> se situe dans
<code>/usr/lib/terminfo/l/linux</code>. Pour construire une
entr&eacute;e <code>terminfo</code> il faut "compiler" une
description <code>termcap</code>, voir le programme
<code>tic</code> et sa page de manuel.</p>
<h2><a name="s5">5. Mise sur pied d'un bip visible</a></h2>
<p>Vous pouvez ajouter une entr&eacute;e pour la capacit&eacute;
<code>vb</code> dans votre fichier <code>termcap</code>, si ce
n'est pas d&eacute;j&agrave; fait. Dennis Henriksen (duke@diku.dk)
a sugg&eacute;r&eacute; la ligne suivante dans l'entr&eacute;e
<code>linux</code> (appel&eacute;e <code>console</code> dans les
anciennes distributions) du fichier <code>termcap</code>&nbsp;:</p>
<blockquote>
<pre>
<code>:vb=\E7\E[?5h\E[?5l\E[?5h\E[?5l\E[?5h\E[?5l\E[?5h\E[?5l\E8:\
</code>
</pre></blockquote>
<p>Le backslash final sert &agrave; cacher le retour &agrave; la
ligne dans la base. Le code de Dennis fonctionne comme suit (selon
ses propres mots)&nbsp;:</p>
<ul>
<li>Sauvegarde de la position du curseur (par
pr&eacute;caution).</li>
<li>Bascule du fond d'&eacute;cran plusieurs fois entre normal et
invers&eacute;.</li>
<li>Restauration de la position du curseur.</li>
</ul>
<h2><a name="s6">6. D&eacute;sactivation du bip sonore dans la
console texte</a></h2>
<p>Si vous d&eacute;sirez imposer le bip visuel dans la console,
vous pouvez utiliser l'entr&eacute;e "<code>bl</code>" dans la
<code>termcap</code> et lui donner la m&ecirc;me valeur que pour
"<code>vb</code>" ci-dessus. Cette aproche est pratique si vous ne
voulez pas configurer chaque application (cela est de toutes
fa&ccedil;ons d&eacute;crit ci-dessous). J'utilise cette solution
sur toutes les machines sur lesquelles j'utilise Linux sans pouvoir
d&eacute;connecter le haut-parleur.</p>
<h2><a name="s7">7. Emp&ecirc;cher les applications
d'&eacute;mettre des bips</a></h2>
<p>Ceci est une liste incompl&egrave;te d'applications qui peuvent
&ecirc;tre configur&eacute;es pour utiliser l'entr&eacute;e
<code>vb</code> pour le type de terminal utilis&eacute; (utilisant
soit <code>termcap</code> soit <code>terminfo</code>)&nbsp;:</p>
<ul>
<li>Le serveur X&nbsp;: utilisez la commande "<code>xset b</code>"
pour s&eacute;lectionner le comportement du bip. Elle prend trois
arguments num&eacute;riques&nbsp;: volume, hauteur et dur&eacute;e.
"<code>xset -b</code>" d&eacute;sactive compl&egrave;tement le bip.
La configuration du serveur affecte toutes les applications
tournant dessus.</li>
<li><code>xterm</code>&nbsp;: xterm peut convertir chaque bip soit
en un signal visuel soit en un signal sonore. Si vous utilisez un
bip sonore, il ob&eacute;it &agrave; la configuration issue de
"<code>xset</code>". Par d&eacute;faut <code>xterm</code> utilise
un bip sonore, mais l'option "<code>-vb</code>" sur la ligne de
commande ainsi que la ressource "<code>xterm*visualBell:
true</code>" le remplace par un flash visuel. Vous pouvez passer de
l'un &agrave; l'autre en cours d'ex&eacute;cution au moyen du menu
obtenu par control-clic-bouton-gauche. Si vous travaillez sous X
vous n'avez probablement pas besoin des informations qui
suivent.</li>
<li><code>tcsh</code> (6.04 et ult&eacute;rieurs)&nbsp;: "<code>set
visiblebell</code>". Cette instruction peut &ecirc;tre
plac&eacute;e dans <code>.cshrc</code> ou ex&eacute;cut&eacute;e
directement. Pour r&eacute;tablir le bip sonore, "<code>unset
visiblebell</code>". Pour n'avoir ni l'un ni l'autre, utilisez
"<code>set nobeep</code>".</li>
<li><code>bash</code> (n'importe quel bash, pour autant que je
sache)&nbsp;: Mettez "<code>set bell-style visible</code>" dans
votre <code>~/.bashrc</code>. Les autre valeurs possibles sont
"none" et "audible".</li>
<li><code>bash</code> (avec <code>readline</code>, ainsi que
d'autres applications bas&eacute;es sur
<code>readline</code>)&nbsp;: Mettez "<code>set
prefer-visible-bell</code>" dans <code>~/.inputrc</code>.</li>
<li><code>nvi</code> et <code>elvis</code>&nbsp;: Mettez "<code>set
flash</code>" dans <code>~/.exrc</code> ou faites "<code>:set
flash</code>" directement. (notez les deux points). Pour
d&eacute;sactiver le bip visuel, utilisez <code>noflash</code> au
lieu de <code>flash</code>.</li>
<li><code>emacs</code>&nbsp;: Mettez "<code>(setq visible-bell
t)</code>" dans votre <code>~/.emacs</code>. Pour la
d&eacute;sactiver&nbsp;: "<code>(setq visible-bell
nil)</code>".</li>
<li><code>less</code>&nbsp;: Utilisez l'option "<code>-q</code>"
sur la ligne de commande pour avoir un bip visuel, utilisez
"<code>-Q</code>" pour n'avoir aucun bip. Pour avoir l'une ou
l'autre de ces options par d&eacute;faut, mettez-les dans la
variable d'environnement "<code>LESS</code>".</li>
<li><code>screen</code>&nbsp;: Faites "Ctrl-A - Ctrl-G". Cela
change le comportement de tous les &eacute;crans virtuels. Voyez la
page du manuel sous "CUSTOMIZATION" pour fixer le comportement par
d&eacute;faut.</li>
</ul>
<h2><a name="s8">8. La face cach&eacute;e du
probl&egrave;me</a></h2>
<p>La mauvaise nouvelle est que toutes les applications n'utilisent
pas <code>termcap</code> ou <code>terminfo</code>. La plupart des
petits programmes ont le caract&egrave;re 'backslash-a' (l'alarme)
dans le code source C. Le code "alarme" devient un caract&egrave;re
ASCII BEL dans les cha&icirc;nes de caract&egrave;re du code
binaire. Les vraies applications ne sont en principe pas de ce
type, mais m&eacute;fiez-vous des d&eacute;butants en C qui vous
donnent leurs programmes. Les pires, je vous assure, sont les
&eacute;tudiants en informatique.</p>
<p>La seule mani&egrave;re de r&eacute;duire ces applications au
silence est de proc&eacute;der &agrave; une "spekearectomy", ou
d'utiliser les s&eacute;quences d'&eacute;chappement dues &agrave;
Martin Mares.</p>
</body>
</html>