检测到系统程序出现问题”怎么办?
使用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本身下手呢?你可以试试。