Ubuntu 使用者常遇到「偵測到系統程式問題」彈窗,雖不影響系統運行,但頻繁干擾體驗。本文深入剖析 Apport 錯誤回報機制,提供從「清理歷史報告」到「徹底停用」的分級解決方案。

/var/crash/ 目錄,副檔名 .crashsudo rm /var/crash/*
# 或僅清理特定使用者
sudo rm /var/crash/*$(whoami)*
# 臨時停用
sudo systemctl stop apport
sudo systemctl disable apport
# 永久停用(修改設定檔)
sudo sed -i 's/enabled=1/enabled=0/' /etc/default/apport
# 或手動編輯
# sudo vim /etc/default/apport
# enabled=0
修改後需重啟服務或重開機生效。
# 修改 apport-gtk 設定
mkdir -p ~/.config/apport
echo "[main]" > ~/.config/apport/settings
echo "show_dialog=false" >> ~/.config/apport/settings
若願意協助開發者或自行排查,可檢視 /var/crash/ 內容:
# 查看報告摘要
ls -la /var/crash/
# 解析特定報告
cat /var/crash/_usr_bin_gnome-shell.1000.crash | head -50
# 關鍵欄位:
# ExecutablePath: /usr/bin/gnome-shell
# Signal: 11 (SIGSEGV)
# Stacktrace: ... # 呼叫堆疊,可對照原始碼定位
| 誤區 | 事實 |
|---|---|
| 點「報告錯誤」後就不會再彈 | 錯誤,若同程式持續崩潰仍會重複彈窗 |
| 這是嚴重系統錯誤 | 多為非致命的 GUI 程式崩潰,系統核心服務通常正常 |
| 必須上傳才能修復 | 開發者多已知悉常見崩潰,上傳主要補充環境資訊 |
| 停用 Apport 會降低系統穩定 | 錯誤,Apport 純屬事後收集,不影響程式運行邏輯 |
sudo apt update && sudo apt upgrade)修復已知 Bug/var/crash/,針對關鍵服務崩潰提交詳細報告/var/crash/,可配合 logrotate 定期清理Ubuntu 的錯誤回報機制初衷良善,但對非開發者而言更多是干擾。理解其運作原理後,依需求選擇「清理歷史」或「徹底停用」,即可獲得純淨的桌面體驗。