[转贴]消除LINUX下蜂鸣器的声响

大家装上LINUX的时候可能会遇到这样的问题,就是主机的蜂鸣器会发出嘀嘀的声响,烦都烦死了。这个关闭声音也没有解决问题。上网查了一下相关的资料,发现可以用这条指令来解决
#setterm -blength 0
但是这个方法有一个缺点,就是只要一重启电脑,那嘀嘀声就会回来了。其实解决的方法很简单,我们可以修改/etc/profile文件来解决这个问题。
就这样,但不会消除其他的声音,世界清静多了...
http://blog.csdn.net/lifeplay9/archive/2007/09/06/1774055.aspx
*********************************************************
以上是网友提供的方法,其实还有一个方案就是:  xset b off   自己感觉还是使用这种比较好用!呵呵
 
---------------------------------------------------------------------------------------
Linux中消除扬声器的嘟嘟叫声
Introduction当电脑对我嘟嘟嚷的时候,我真的觉得很讨厌。我常常在 shell 里面使用 Tab-补全来节省大量的输入时间,但是我受不了扬声器没完没了的嘟嘟声!
    下面就为大家介绍如何快速去除讨厌的叫声。在 shell 里面,你可以按下 crtl-g 来测试一下这个嘟嘟声是否已经去掉。
    关掉所有的提示音在 Linux 控制台下(没有 X11),你可以使用一下命令:
    setterm -blength 0
    #alternatively you can change the frequency of the beep to a #very low value:
    setterm -bfreq 10
    而在 X11 下面(不管是 KDE、Gnome、XFCE 或者……) 你可以:
    xset b off
    对每种 shell 操作作为一种可能的选择,你可以直接关掉某种 shell 里的提示音。
    对 Bash:
    # has to go into /etc/inputrc or .inputrc # It will not work in a .bashrc file!
    set bell-style none
    对 Tcsh:
    # put this into your .tcshrc file
    # just tab completion beep off:set matchbeep = never # any beep off:set nobeep = 1
    结论为避免误解,特此声明:以上操作只是关掉了(蜂鸣器的)嘟嘟声,你仍然可以在你的电脑上自在的听歌。
    世界清静了……
--------------------------------------------------------------------------------------
Linux操作系统控制台下关闭蜂鸣声的方法
 
使用控制台登录后,在shell提示符下面操作时会用到大量的Tab来自动补全,这个时候机器的蜂鸣器就会嘟嘟吡吡不停。办公室的同事还以为我 qj 电脑,真的好烦!
这个嘟吡的声音可以使用setterm命令来设置它的长段
setterm -blength 0
后面的取值可以是0-1000,可以用setterm看看它的用法。仅仅输入上面一条命令还不行,下次重新启动还会有吡吡声。彻底解决需要将以上命令加入/etc/bashrc
补充一点:/etc/inputrc里面有一条语句
# do not bell on tab-completion
#set bell-style none
  
这里如果去掉set前面的注释符,仅仅是把tab自动补全的声音去掉,而不能彻底消除console下面其它的声音(比如Backspace, vi)
以上只是关闭了蜂鸣器的声音,并不影响音箱的发声,play music, video不会有任何副作用。
---------------------------------------------------------------------------------
vmware下Linux操作系统控制台下关闭蜂鸣声的方法
1、使用控制台登录后,在shell提示符下面操作时会用到大量的Tab来自动补全,这个时候机器的蜂鸣器就会嘟嘟吡吡不停。办公室的同事还以为我 qj 电脑,真的好烦!

这个嘟吡的声音可以使用setterm命令来设置它的长段

setterm -blength 0

后面的取值可以是0-1000,可以用setterm看看它的用法。仅仅输入上面一条命令还不行,下次重新启动还会有吡吡声。彻底解决需要将以上命令加入/etc/bashrc

补充一点:/etc/inputrc里面有一条语句
# do not bell on tab-completion
#set bell-style none  
这里如果去掉set前面的注释符,仅仅是把tab自动补全的声音去掉,而不能彻底消除console下面其它的声音(比如Backspace, vi)

以上只是关闭了蜂鸣器的声音,并不影响音箱的发声,play music, video不会有任何副作用。
本篇文章来源于 恩点 转载请以链接形式注明出处 网址: http://www.ndian.cn/diannao/linux/200801/355943.html
2、当然 另外还有:
Linux 中在控制台及 X 的虚拟终端下都可能有蜂鸣声,而且这两个地方的蜂鸣声要通过不同的方式关闭。
控制台下的蜂鸣声可通过 setterm -blength 0 关闭。此命令可放在登陆 shell 的配置文件中,例如 Bash 的 .bash_profile.
X 的虚拟终端下的蜂鸣声可通过 xset b off 关闭。此命令可放在 startx 的配置文件 $HOME/.xinitrc 中。
3、把beep变成音乐,没试过,也许行吧~~~
很多人千方百计想关掉控制台(或 X 终端模拟器)的嘀嘀声。我觉得有提示音不一定是坏事,但是那个嘀嘀声听起来的确有点烦人。而且在我的 irssi 中那个 beep 提示音实在是太小声了(而且也不好听)。经过一番寻找,找到了这个 softbeep。softbeep 可以拦截多个发出 beep 的动作,并将其转化成运行任意命令,包括播放音乐。
softbeep 可以拦截这些事件:
写入 tty 控制台的 bell 字符,就是平时所说的’\a’ 
基于 gtk/gnome 的程序对 gdk_bell() 的调用 
基于 Xlib 的程序对 XBell() 的调用 
基于 curses 的程序对 beep() 的调用 
安装不多述。启用 softbeep 很简单,设置在环境变量 $LD_PRELOAD 中加 /usr/lib/softbeep/libsoftbeep.so,或者用软件包提供的包装程序:
softbeep foo
softbeep 完全是通过环境变量控制的:
SB_REMOVE_BEL 设为 yes 的话会丢掉 TTY 控制台的‘a’字符。
SB_RUN 事件发生时运行的程序。
如果使用 softbeep foo 的形式启用 softbeep,那么 SB_RUN 默认为 sb-beep,可以自定义 SB_RUN 的值,但记着要用 shell 脚本包起来。我为方便直接改了一下 /usr/bin/sb-beep:
#!/bin/sh
FILE=/usr/share/sounds/pidgin/alert.wav
# if [ “$1″ == “irssi” ] || [ “$1″ == “xchat” ] ; then
#       FILE=/usr/share/sounds/email.wav
# fi
# use the player specified in $SB_PLAYER if defined
if [ -z “$SB_PLAYER” ]; then
       exec esdplay $FILE
else
       exec $SB_PLAYER $FILE
fi
从此烦人的嘀嘀声就变成音乐了~…
4、这个是网上转载比较多的方法
在C:\Documents and Settings\All Users\Application Data\VMware\VMware Workstation\config.ini
后添加
mks.noBeep = "TRUE"
但是,我的这个文件夹下没有这个config.ini啊,还是看下一个方法吧
vista下是C:\ProgramData\VMware\VMware Workstation\config.ini
5、
Vmware中的系统提示音很烦人,下面我们看看如何把它关掉。
1)首先你可以关掉Windows的提示音,一了百了,只要在控制台下输入“net stop beep”就可以了(也可以通过net start beep再打开)。
2)在Vmware的对应虚拟机的.vmx文件中,加入
mks.noBeep = "TRUE"。
3)如果方法(2)没有用,那么,我们需要在一些config或者preference的文件中加入这一选项。在Windows下,可以在Application Data\preferences.ini中加入
mks.noBeep = "TRUE";在Linux下,可以在
/.vmware/preferences, ~/.vmware/config或者/etc/vmware/config之类的地方(似乎不一定)加入这行配置。
这个转自: http://blog.csdn.net/socrates/archive/2008/01/17/2047927.aspx
6、上面的方法呢,关掉host机器的beep显然不是我的初衷,其二的方法也明显不好用啊,不过在gnome下面 已经好用了,可文字界面并不怎么好用~~哎,看看这个方法吧:
You can disable this by editing a file and entering two simple lines.

sudo gedit /etc/modprobe.d/blacklist

And then add:

#silly speaker beep
blacklist pcspkr

Save your file and the speaker beep will be gone when you reboot.
If you don’t want to wait until a reboot, simply type:

sudo rmmod pcspkr

参考资料: http://www.arsgeek.com/2006/08/23/how-to-turn-off-the-annoying-system-beep-in-linux-debianubuntu/
over了:最后还是改的windows下的 net stop beep,无奈,太烦人了,还导致VMware死机,多闹心啊,一了百了吧,反正windows平时也不用这个beep~~
再补充:几天后,来到实验室的台式机上,发现这个方法开始还好,可不小心按了一下小键盘,又发出滴滴的蜂鸣声了,继续无奈ing。。。