使用Ubuntu12.04的不少人每次系统启动都会看到一个窗口:

检测到系统程序出现问题

虽然对使用系统没有什么阻碍,但是也够烦人的。不过,我不得不说这是Ubuntu12.04的一个新的特性:错误报告机制:Apport。了解更多:https://wiki.ubuntu.com/Apport

遭遇到这种事情,我们当然不要一忍了之。这个错误报告提供了很多的好东西,我们可以点击“显示细节”来具体查看。展开显示细节框里面的加号,我们可以看到发生错误的程序的位置、信号、栈回溯等等。

例如,我遇到了:

colord crashed with signal 5 in avahi_client_get_domain_name()

查看具体的路径,发现是colord引发的错误。colord是什么呢?是一个用于管理颜色输入输出的东西。详细内容见http://www.freedesktop.org/software/colord/intro.html

在看栈回溯,发现是libavahi发生的错误。avahi又是什么呢?可以继续google,发现是一个zeroconf协议的实现,用于处理一些网络的情况。

那么有没有可能解决这个问题呢?我们继续发扬google的精神,用

colord crashed with signal 5 in avahi_client_get_domain_name()

作为关键词进行搜索。于是,我们来到了一个好网站:

bugs.launchpad.net

这是ubuntu用于报告bug的一个网站。可以看到,已经有很多带编号的bug报告这个问题了。

点进去看看,发现,这些bug都被归类到 bug #933491的重复报告。不过,让我们感到无语的是,

这个bug竟然是一个private bug,我们这种正常人没法看到。

于是,只能静静等待社区的人进行这个bug的修复了。

 

当然,我们可以想一点办法使bug真正修复之前我们的痛苦能少一点。

最直接的方法就是禁用apport了。方法见https://wiki.ubuntu.com/Apport,总之,就是把/etc/default/apport里的一个1改成0.当然了,还有其他可能成功的方法,比如把/etc/init.d/apport给删掉之类的。

那么我们能否拿colord或者avahi本身下手呢?你可以试试。