Man Linux: Main Page and Category List

NAME

       softbeep - Software Bell for Linux

SYNOPSIS

       softbeep [program]

COPYRIGHT

       softbeep     is     Copyright     (C)     2002    Lennart    Poettering
       mz736f667462656570@poettering.de

DESCRIPTION

       This Linux utility program may be used for  redirecting  beeps  of  the
       internal  PC  speaker to your sound card. It is implemented entirely in
       user space by using LD_PRELOAD.  It catches  four  different  types  of
       beeps, which can be produced on a Linux system:

          1. BELL-characters  (#7) written to your TTYs, which should normally
             result in a beep executed by your terminal emulator

          2. Calls to gdk_bell() by GTK/Gnome based programs

          3. Calls to XBell() by Xlib based programs

          4. Calls to beep() by curses based programs

       These together catch most of the beeps of most of the programs I use.

       To redirect the beep to the sound card, just run

       softbeep foo

       If you omit foo then a sub shell will be  spawned  where  all  children
       processes will have their beep redirected.

       Two  environment  variables  SB_REMOVE_BEL  and  SB_RUN may be used for
       adjusting softbeep  to your needs. When SB_REMOVE_BEL is set  to  "yes"
       every  caught  BELL character written to a TTY is dropped, otherwise it
       is passed to the next layer. SB_RUN  specifies the program to run  when
       a beep occurs. You may adjust these parameters to your needs in the top
       of the script softbeep.  sb-beep (a short script playing  a  wave  file
       via  esdplay(1), which is shipped with the EsounD distribution) is used
       for emitting a beep by default. You might want to adjust this script to
       your  individual  needs,  e.g.  for  playing  different  wave files for
       different programs. You can also set the SB_PLAYER environment variable
       to change the program used to play the sound file.

NOTES

       softbeep  has  not been tested intensively with multi threaded programs
       yet; maybe it works seamlessly, maybe it does not.

       Processes with access to several different TTYs at the  same  time  may
       not be handled correctly. This is a minor bug since there are only very
       few programs which make use of more than one TTY at once.

       SUID/SGID programs like xterm(1) do not work with softbeep. This  is  a
       limitation of LD_PRELOAD (due to security considerations) and not a bug
       in softbeep!  Solution for xterm(1): For  catching  all  the  beeps  of
       xterm(1)  you should preload the library to the shell running inside of
       the xterm(1), which is not SUID/SGID.

       ssh(1) is a SUID/SGID program on several installations. I currently  do
       not know a way how to work around this.

AUTHOR

       This   man  page  was  written  by  Helge  Kreutzmann  kreutzm@itp.uni-
       hannover.de for the Debian GNU/Linux project but may be used by others.

SEE ALSO

       esdplay(1), /usr/share/doc/softbeep/README.gz

                                 Nov 13, 2002