As of Linux 1.3.43, Martin Mares added configurability to the bell
sound in console.c. You can change the duration and pitch of the
console beep on a per-console basis, by writing escape sequences to
the tty. You can apply your configuration in your own ~/.profile or
~/.login, to have a different beep (or no beep) associated to each
console.
The escape sequences work as follow:
[10;xx] chooses the bell frequency in Hertz. The value
should be in the range 21-32766, otherwise the result is undefined
(at least up to the 2.0.x version -- I can't foresee the future.
If the `xx' argument is missing, the default value (750Hz) will apply,
as in `ESC-[10].[11;xx] chooses 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-[11]) the default value
will be used.To print the escape sequences, you can try for example (50Hz, 1s)
"echo -e "\33[10;50]\33[11;1000]"" with bash (where "-e"
means `understand escape sequences'. With tcsh "echo
"\033[10;50]\033[11;1000]" will have the same effect.
Note that a new `setterm' command might support bell configuration of command line, as these control codes are marked as `setterm-commands'. However, no `setterm' version I know of supports these codes.
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 (I do it myself, on a small 386), or if you want the visual bell, have a good reading.