11年的老机器,闲置了两年,终于在我来HKU的时候发挥了作用,我第一次遇到做生物信息学要自己背电脑去干活。于是每天学校宿舍两头背,当时

唯一的问题是headphone亮着红光,这个本身不难解决,用alsamixer把S/PDIF给mute了就OK了,但坑爹的是每次启动都是亮着红光,这让我很是纠结,我只能通过rc.local,让它每次开机都把alsamixer的状态都给恢复一下:

/usr/sbin/alsactl restore

但每次开机还是会亮,rc.local通过测试是没有问题的:

sudo service rc.local start

开机后跑上面的命令,红灯立刻就灭了。我以为rc.local不跑,但经过不断重启测试,确定它是开机有运行的。那么就有可能开机时的系统环境和开机后不同,所以开机后能跑,开机的时候却有问题。于是加了一行:

/usr/bin/printenv > /var/tmp/rc.local-$(date +%T)

对比一个before, after时的运行环境,也没发现问题。这就奇了怪了。后来想到,会不会是pulseaudio在作怪。linux系统通常两套软件都装alsa较为成熟,但pulseaudio提供更多的特性。于是打开pulseaudio的配置文件, /etc/pulse/client.conf, 加入如下一行:

autospawn = no

它的意思就是不要启动pulse audio daemon了,再重启,整个世界就清净了。不过它也有负作用,就是键盘上调音量的按键失灵了,因为这功能是pulseaudio提供的,当然比起每次都要关红灯来说,问题不大,囧rz…