linux通过打开或关闭beep来允许是否让其通过命令行控制发出beep sound。
加载pcspkr模块打开beep
[root@localhost ~]# lsmod |grep pcspkr [root@localhost ~]# echo -en "\a" [root@localhost ~]# echo -en "\a" > /dev/console [root@localhost ~]# modprobe pcspkr [root@localhost ~]# lsmod |grep pcspkr pcspkr 2000 0 [root@localhost ~]# echo -en "\a" [root@localhost ~]# echo -en "\a" > /dev/console
卸载pcspkr模块关闭beep
[root@localhost ~]# rmmod -v pcspkr rmmod pcspkr, wait=no [root@localhost ~]# rmmod -v pcspkr ERROR: Module pcspkr does not exist in /proc/modules
永久禁止加载pcspkr模块
[root@localhost ~]# tail -1 /etc/modprobe.d/blacklist.conf blacklist pcspkr 下面是可选步骤 [root@localhost ~]# tail -1 /etc/rc.d/rc.local /sbin/rmmod pcspkr
试验:
可在加载或卸载pcspkr模块后,进行下面试验,你会得到不一样的效果。(当然,你也可以把数字加大,如把10000变为20000或者是一个你想要的数字)
[root@localhost ~]# for i in {1..10000};do echo -en "\a" >/dev/console;done [root@localhost ~]# for i in {1..10000};do echo -en "\a";done
在google中搜索centos beep可搜索到相关内容。
参考:
https://www.cyberciti.biz/faq/rhel-fedora-turn-off-bell-beep-sound/
https://www.centos.org/forums/viewtopic.php?t=14965
https://segmentfault.com/q/1010000004957375
有的主板 bios 里有开关,要打开。
需要内核支持,模块名 pcspkr(这个条件一般是满足的,但我用gentoo时比较喜欢把这个支持干掉)。
用户空间支持,比如有 beep 这个程序(这个程序有时就是 echo -en ‘\a‘>/dev/console),有 root 权限等等。console 和 X 里的 terminal 的开关设置又不太一样。
好像不是所有主板都有独立的 pc speaker,有一些是和板载音响一起的,需要 alsamixer 里面取消静音。
本文出自 “甘木” 博客,请务必保留此出处http://ganmu.blog.51cto.com/9305511/1970765
原文地址:http://ganmu.blog.51cto.com/9305511/1970765