Feisty下的alsa怎么不响了?

我的Ubuntu feisty是从dapper直接升级过来的,现在好像还记得刚升级完之后,用mplayer放电影没声音,声音驱动换oss就没事了,也没太在意。后来开始用mame玩模拟器游戏,一直没有声音,就以为是mame或者rom的问题。再后来发现mame有关于声音的设置,而别人的介绍里面说的mame没有声音的问题不是好几年之前的,就是一些rom中本来就不包含声音的情况。从这里开始察觉,是我机器的问题,具体说就是alsa声音驱动不响了。

硬件不会有问题,驱动换oss马上放电影就出声,所以问题在软件上,到网上一查,alsa没有声音的情况还不少,但好像都不顶用。

最后翻到了ubuntu Edgy升级到Feisty后系统没有声音,问题解决,我和他的情况相同,果然是$HOME/.asoundrc文件的问题。

升级到Feisty之后,在$HOME下有两个文件,.asoundrc.asoundconf和.asoundrc,.asoundrc的有效内容只有一行:

</home/fwolf/.asoundrc.asoundconf>

就是引用.asoundrc.asoundconf的内容,相当于一个Include语句,而.asoundrc.asoundconf的内容有4行:

!defaults.pcm.card I82801BAICH2
defaults.ctl.card I82801BAICH2
defaults.pcm.device 0
defaults.pcm.subdevice -1

这个是系统默认的配置,此文件系统也不建议直接修改,只要注释/取消注释.asoundrc文件中的那一句就可以了。不用重启机器,甚至也不用重启X,只要注释掉.asoundrc中那一句,alsa立刻就好了,mame里也有声音了,mplayer里选择alsa声音驱动也有声音了;而只要取消注释,mame和mplayer里就没有声音了,所以确定就是这里的问题。

看了一下.asoundrc.asoundconf配置文件选项的官方解释,感觉那4句哪一句都挺正确的,可就是只起反作用。

所以,下次alsa不响的时候,记得先看看这两个配置文件。

Ubuntu FeistyFawn中文字体配置的变化

今天把Ubuntu从Edgy升级到了Feisty,如果用update-manager的话我这里太慢,直接修改apt源升级的,自行解决了一些包的依赖关系之后,升级还是非常顺利的,以前常有的驱动问题本次没有出现,明天就升级公司的那台机。

几乎升级完成第一件事就是搞定中文字体,发现Feisty的字体配置有了明显的变化,原来的一个大配置文件/etc/fonts/fonts.conf现在被分成了许多个小文件,大部分存放在/etc/fonts/conf.avail目录下,并且使用/etc/fonts/conf.d目录下的连接来调用(/etc/fonts/conf.d这个目录下也有少部分配置文件),这种机制和rc2.d以及Apache的mods-available及其相似。

所以说,我的习惯非常适合这种升级和变迁,就是把自己的特殊配置写到单独的文件中,然后ln -s/etc/fonts/local.conf,最后修改/etc/fonts/conf.avail目录下的40-generic.conf60-latin.conf这两个文件,在serif、sans-serif、monospace三系字体的定义中,把Simsun添加到DejaVuBitstream Vera之后就可以了。这样作的好处就是下次升级时所需要作的调整最小。

fonts.conf的语法仍然没有大的改变,以前已经介绍过了,不过今天又发现两篇不错的Feisty字体配置相关文章,推荐一下:

PS: 安装完成之后autoclean了一下,清理出来1.3G空间,呵呵。 PS2: 如果中文输入遇到什么问题的话,大概是需要删除scim-bridge,参考下面两篇文章:

我的办法是把/etc/X11/Xsession.d/95xinput中原来的

export GTK_IM_MODULE="scim-bridge"

改成

export GTK_IM_MODULE="scim"

还有就是scim的选字栏位置总是飘忽不定。。。

Update @ 2007-04-24

如果openoffice 2.2无法启动,编辑/usr/bin/ooffice,添加下面这行:

export GTK_IM_MODULE="xim"

还是有些怪怪的。

Apache无法解析php程序了,提示

Invalid command 'PHPIniDir', perhaps misspelled or defined by a module not included in the server configuration

原来在升级feisty的时候,/etc/apache2/mods-enabled/php5.load这个文件丢了,重新a2enmod php5一下就可以了。