笔记本的响铃声真是超大声,有意思的是在Gnome中和在控制台中响铃声音是不同的,按Tab键补全和到行首行尾总是响铃,在登录界面输错密码也响,真的很烦人,于是想把它关掉,本文记录折腾过程。

先Google一下,找到archlinux的维基,挺详细的,如果你是搜进来也是找关掉响铃的方法,先看这个维基,不行在继续看本文,还是没功夫看长篇大论的直接跳到“成功的方法”,不过还是建议留意一下其它方法,或许可能我用笔记本情况比较特殊。

脚本选项设置

维基说有几种方法,每种方法都有不同效果,我的目的就是,把那该死的响铃完全禁用!出现响铃会有这几个地方:

  • 控制台(CTRL+ALT+FN),
  • 虚拟终端(就是X里的gnome-terminal)
  • 登录窗口 (输入用户和密码的gdm)
  • 其它X程序(如gedit删掉所有内容后继续按退格键)

下面的方法都是单独设置的,每一个步骤试过后会恢复原值。

  • 网上论坛比较多的是修改“~/inputrc”,不过我没在家目录下找到这个文件,因为有时也在控制台用root账号,避免每个账号都设置一下,所以干脆修改全局配置,用文本编辑器打开“/etc/inputrc”,把第二行的“#”删掉然后重新登录,即

# do not bell on tab-completion
set bell-style none

控制台,虚拟终端不响了。其它X程序,登录窗口依然响,控制台运行了vim。

  • 登录进X后,在终端运行

xset -b

X中所有程序不响了。控制台,登录界面依然响。这可条命令写进gdm登录后运行的脚本里,不过gdm还是会响的。如果写进“/etc/X11/xinit/xinitrc”末尾还是会响

  • 在菜单“系统”>>“首选项”>>“音效”,“音效”选项卡,取消勾选“播放报警声音”,其它X程序不响,虚拟终端响。
  • 在菜单“系统”>>“系统管理”>>“登录窗口”,“辅助功能”选项卡,取消勾选“启用辅助功能登录”,登录窗口依然响,没任何效果。

卸载模块

上面第个合用1、2个方法可解决第除了登录窗口外的响铃,于是我想干脆把喇叭(是主板的喇叭)模块给禁用,按维基的说法,修改“/ect/rc.conf”,改一行

MODULES=(!pcspkr)

重启,没效,按维基说法,运行

lsmod | grep snd_pcsp

有输出,所以我改成

MODULES=(!snd_pcsp)

重启没效,改成

MODULES=(!pcspkr !snd_pcsp)

都没效,用

rmmod !snd_pcsp

即时卸载,还是没效,这是笔记本问题吗,用“lsmod”看了一下,没有“pcsker”这个模块。

成功的方法

有些泄气了,维基中最后一个方法,这么复杂的命令不抱希望,不过还是运行了一下

amixer set 'PC Speaker' 0% mute

很可惜,出现

amixer: Unable to find simple control 'PC Speaker',0

没找到“PC Speaker”,于是我抱着准备上论坛求助的绝望之心(我总是想先自己解决)看了一下“amixer”的帮助,运行

amixer scontrols

结果发现这么一行

Simple mixer control 'PC Beep',0

立马把“Speaker”换成“Beep”,运行,即

amixer set 'PC Beep' 0% mute

出现

Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback 0 - 3
Mono: Playback 0 [0%] [-18.00dB] [off]
测试一下,所有情况都不响铃了!成功鸟,娃哈哈。重启后依然不响,那么就不用找启动脚本写入这个命令了,可能是我安装了“alsa-ultis”这个包后,alsa把声音管理给接管了。

整个世界清静晒~