linux通过打开或关闭beep来允许是否让其通过命令行控制发出beep sound。
加载pcspkr模块打开beep
1
2
3
4
5
6
7
8
9
|
[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
1
2
3
4
|
[root@localhost ~]
# rmmod -v pcspkr
rmmod pcspkr, wait=no
[root@localhost ~]
# rmmod -v pcspkr
ERROR: Module pcspkr does not exist
in
/proc/modules
|
永久禁止加载pcspkr模块
1
2
3
4
5
|
[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或者是一个你想要的数字)
1
2
|
[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 里面取消静音
本文转自 f_066 51CTO博客,原文链接:http://blog.51cto.com/ganmu/1970765,如需转载请自行联系原作者