如何修復 Ubuntu 中檢測到系統程式錯誤的問題

linux.cn發表於2015-07-28

在過去的幾個星期,(幾乎)每次都有訊息 Ubuntu 15.04在啟動時檢測到系統程式錯誤 跑出來“歡迎”我。那時我是直接忽略掉它的,但是這種情況到了某個時刻,它就讓人覺得非常煩人了!

檢測到系統程式錯誤(System program problem detected)

你想立即報告這個問題嗎?

如何修復 ubuntu 中檢測到系統程式錯誤的問題

我肯定地知道如果你是一個Ubuntu使用者,你可能曾經也遇到過這個惱人的彈窗。在本文中,我們將探討在Ubuntu 14.04和15.04中遇到”檢測到系統程式錯誤(system program problem detected)”時 應該怎麼辦。

如何修復 ubuntu 中檢測到系統程式錯誤的問題

怎麼解決Ubuntu中”檢測到系統程式錯誤”的錯誤

那麼這個通知到底是關於什麼的?

大體上講,它是在告知你,你的系統的一部分崩潰了。可別因為“崩潰”這個詞而恐慌。這不是一個嚴重的問題,你的系統還是完完全全可用的。只是在之前的某個時刻某個程式崩潰了,而Ubuntu想讓你決定要不要把這個問題報告給開發者,這樣他們就能夠修復這個問題。

那麼,我們點了“報告錯誤”的按鈕後,它以後就不再顯示了?

不,不是的!即使你點了“報告錯誤”按鈕,最後你還是會被一個如下的彈窗再次“歡迎”一下:

如何修復 ubuntu 中檢測到系統程式錯誤的問題

對不起,Ubuntu發生了一個內部錯誤是個Apport(LCTT 譯註:Apport是Ubuntu中錯誤資訊的收集報告系統,詳見Ubuntu Wiki中的Apport篇),它將會進一步的開啟網頁瀏覽器,然後你可以通過登入或建立Launchpad帳戶來填寫一份漏洞(Bug)報告檔案。你看,這是一個複雜的過程,它要花整整四步來完成。

但是我想幫助開發者,讓他們知道這個漏洞啊 !

你這樣想的確非常地周到體貼,而且這樣做也是正確的。但是這樣做的話,存在兩個問題。第一,存在非常高的概率,這個漏洞已經被報告過了;第二,即使你報告了個這次崩潰,也無法保證你不會再看到它。

那麼,你的意思就是說別報告這次崩潰了?

對,也不對。如果你想的話,在你第一次看到它的時候報告它。你可以在上面圖片顯示的“顯示細節(Show Details)”中,檢視崩潰的程式。但是如果你總是看到它,或者你不想報告漏洞(Bug),那麼我建議你還是一次性擺脫這個問題吧。

修復Ubuntu中“檢測到系統程式錯誤”的錯誤

這些錯誤報告被存放在Ubuntu中目錄/var/crash中。如果你翻看這個目錄的話,應該可以看到有一些以crash結尾的檔案。

如何修復 ubuntu 中檢測到系統程式錯誤的問題

我的建議是刪除這些錯誤報告。開啟一個終端,執行下面的命令:

sudo rm /var/crash/*

這個操作會刪除所有在/var/crash目錄下的所有內容。這樣你就不會再被這些報告以前程式錯誤的彈窗所擾。但是如果又有一個程式崩潰了,你就會再次看到“檢測到系統程式錯誤”的錯誤。你可以再次刪除這些報告檔案,或者你可以禁用Apport來徹底地擺脫這個錯誤彈窗。

徹底地擺脫Ubuntu中的系統錯誤彈窗

如果你這樣做,系統中任何程式崩潰時,系統都不會再通知你。如果你想問問我的看法的話,我會說,這不是一件壞事,除非你願意填寫錯誤報告。如果你不想填寫錯誤報告,那麼這些錯誤通知存不存在都不會有什麼區別。

要禁止Apport,並且徹底地擺脫Ubuntu系統中的程式崩潰報告,開啟一個終端,輸入以下命令:

gksu gedit /etc/default/apport

這個檔案的內容是:

# 設定0表示禁用Apportw,或者1開啟它。
# 你可以用下面的命令暫時關閉它:
# sudo service apport start force_start=1
enabled=1

enabled=1改為enabled=0。儲存並關閉檔案。完成之後你就再也不會看到彈窗報告錯誤了。很顯然,如果我們想重新開啟錯誤報告功能,只要再開啟這個檔案,把enabled設定為1就可以了。

你的有效嗎?

我希望這篇教程能夠幫助你修復Ubuntu 14.04和Ubuntu 15.04中檢測到系統程式錯誤的問題。如果這個小竅門幫你擺脫了這個煩人的問題,請讓我知道。

相關文章