Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2147101
  • 博文数量: 333
  • 博客积分: 10161
  • 博客等级: 上将
  • 技术积分: 5238
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-19 08:59
文章分类

全部博文(333)

文章存档

2017年(10)

2014年(2)

2013年(57)

2012年(64)

2011年(76)

2010年(84)

2009年(3)

2008年(37)

分类: LINUX

2012-06-06 01:53:32

关闭linux退格键和vi发出的嘟嘟声(报警声)

       自从安装了LINUX(我的是CentOS 5.7)以后,每当按退格键(BackSpace)删除输入的字符,如果没有字符还按键,电脑就会发出嘟嘟声,用vi、less和man编辑的时候,按方向键,如果到了该方向的末端还继续按方向键,也会发出该报警声。我 深受其害,后终于找到解决的方法。

        网上有介绍:vi /etc/inputrc,然后去掉set bell-style none 前的注释,修改完,你需要退出当前的shell,再次登录才能生效。这个时候,你可以用按下 crtl-g来测试一下。但这样的 做法只能只能命令行下的错误报警声,而用vi、less和man编辑的时候还是会发出嘟嘟的报警声。

         其实这个问题根源并不是声卡发出的,而是主板的蜂鸣器,所以不能通过关闭音箱来解决。该统响铃是因为红帽企业LINUX默认安装并加载了pcspkr内核模块,要关闭系统响铃可以使用root命令执行下面命令来删除pcspkr模块:

         rmmod pcspkr
         如果你想重新打开它,可以使用下面的命令:
         modprobe pcspk

         当然,上面的方法只是临时起效,重新启动后beep依旧,彻底关掉beep的方法如下:

         如果用的是bash作shell,在~/.bashrc的最后添加
         setterm -blength 0
         xset -b

         这个方法是永久生效,但不是针对所有用户生效,因为是更改自己家目录的~/.bashrc文件,这对于那些木有root权限的用户可以这样设置,那有木有要永久生效又要针对所有用户的方法呢?答案是有地,前提是必须是以root用户登录,然后请安下面方法进行操作:

         在命令行下执行:echo "rmmod pcspkr" >> /etc/rc.d/rc.local

         这条命令的意思是在/etc/rc.d/rc.local脚本中追加一,内容为:rmmod pcspkr。这样做的目的是让系统每次在开机的时候删除pcspkr内核模块,而rc.local一般不管你在3的启动模式还是5的启动模式下,这个服务脚本都会执行,你把这个pcspkr内核模块删除了,那不管你是在什么模式,以什么用户登录,自然就无法加载,也就不会再发出那烦人的嘟嘟嘟的报警声了,让我们用LINUX的用户用的舒适^_^!

阅读(7199) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~