公司电脑没音箱,但是又需要一个提醒闹钟。很多年前用Windows的时候,用的是一个自己用BCB写的简单程序。后来换了Linux,用的是一个简单的beep脚本,然后放到cron里去跑的。不过最近升级到Ubuntu 12.04以后发现它不响了……
那个发声的脚本是很简单的:
#!/bin/sh
for i in $(seq 4)
do
/usr/bin/beep -f 800 -l 125 -D 125 -r 2
/bin/sleep 0.5
done出来的音调是:以800HZ的频率响0.125秒,停0.125秒,如此两次以后停0.5秒,循环四次。声音大致是:嘟嘟。嘟嘟。嘟嘟。嘟嘟。
一个需要注意的小技巧是:在脚本里调用程序一定要用全路径,因为放在cron里跑的时候默认是没有用户环境的,即没有PATH,通常会发生找不到程序错误。
使用之前需要安装一下beep:
sudo apt-get install beep不过即使这样,在Ubuntu 12.04下还是没有声音。用xset查了一下设置也没问题:
xset -q | grep bell当然,如果这个没开的话,可以打开:
xset b on但是打开还是没声音。查了半天才想到驱动可能没装:
lsmod | grep pcspkr打开 /etc/modprobe.d/blacklist.conf ,果然有这么一行:
blacklist pcspkr注释之,并:
sudo modprobe pcspkr加载PC喇叭驱动。果然解决。
吐槽一下:现在的电脑机箱居然普遍把PC喇叭给省了,我现在用的电脑喇叭还是从老电脑机箱上拆下来的,还好主板上还有PC喇叭接口——在这个已经没有IDE和PCI的时代,真是难能可贵。
再吐槽一下:12.04这个LTS虽然比前两个非LTS版要好很多,但它的问题还是比前一个LTS 10.04要多很多。比如在命令行启动gvim居然会挂起……这让我们vim党情何以堪,居然还有emacs党趁火打劫……