解决Ubuntu的内部错误

问题描述

ubuntu是大多数人步入Linux世界的入门级系统,其易用性使得多数对系统配置不高的人容易接受这一系统。在我使用Linux的早期,也是使用了一段时间的ubuntu, 但是直到有一天,它经常出现,不得不让早期的我认为它不友好,于是转入Debian.它的错误对话框如下:

Ubuntu提示出现了内部错误

原因分析

Ubuntu桌面版预装了Apport,它是一个错误收集系统,会收集软件崩溃、未处理异常和其他,包括程序bug,并为调试目的生成崩溃报告。当一个应用程序崩溃或者出现Bug时候,Apport就会通过弹窗警告用户并且询问用户是否提交崩溃报告:

1
2
3
4
5
6
“Sorry, the application XXXX has closed unexpectedly.”   
“对不起,应用程序XXXX意外关闭了。” 
“Sorry, Ubuntu XX.XX has experienced an internal error.” 
“对不起,Ubuntu XX.XX 发生了一个内部错误。” 
“System program problem detected.” 
“检测到系统程序问题。”

实际情况并不是Ubuntu容易出现内部错误,而是一旦程序崩溃过一次,就会生成一个.crash文件,记录着崩溃信息,这些崩溃信息保存在目录: /var/crash/

只要你不去处理,每次开机都会提示你有错误。也就是说:报错并不一定是出现了什么错误,而是曾经出现过错误,而你没有处理。通常情况下,到/var/crash/目录查看崩溃文件,如果不是什么大问题(通常都没什么大问题),删除该目录下的崩溃文件,之后就不会再报错误了.。

解决方案

永久关闭Apport错误报告

修改Apport配置文件/etc/default/apport

/etc/default/apport
1
enabled=0

重启你的Ubuntu系统,Apport将会自动关闭 

完全移除Apport

1
sudo apt-get purge apport