centos命令行控制電腦發出滴滴聲

    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

  1. 有的主板 bios 裏有開關,要打開。

  2. 需要內核支持,模塊名 pcspkr(這個條件一般是滿足的,但我用gentoo時比較喜歡把這個支持幹掉)。

  3. 用戶空間支持,比如有 beep 這個程序(這個程序有時就是 echo -en '\a'>/dev/console),有 root 權限等等。console 和 X 裏的 terminal 的開關設置又不太一樣。

  4. 好像不是所有主板都有獨立的 pc speaker,有一些是和板載音響一起的,需要 alsamixer 裏面取消靜音。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章