起源
前两天升级了Ubuntu从16.04 LTS到18.04 LTS, 顺便把内核从4.15.0升级到了5.3.0(源码编译的),今天开机发现了Ubuntu报内部错误:
大意是fcitx-dbus-watcher这个程序在运行时缓存溢出了
原因
报这个错是因为Ubuntu桌面版预装了apport软件包,该软件包会自动收集crash信息,crash文件存放在/var/crash,呈现给用户并咨询是否发送给ubuntu
liyumin@liyumin-B250M-D3H:/var/crash$ dpkg -l|grep apport
ii apport 2.20.9-0ubuntu7.7 all automatically generate crash reports for debugging
保存的crash文件只要不处理,每次启动都会提示,要么选择解决这个问题,要么选择把crash文件删掉或者点击don't send, 毕竟绝大多数情况程序崩溃不是经常能够遇到.
liyumin@liyumin-B250M-D3H:/var/crash$ vi _usr_bin_fcitx-dbus-watcher.1000.crash liyumin@liyumin-B250M-D3H:/var/crash$ ls -lrt
总用量 224
-rw-r----- 1 liyumin whoopsie 228116 8月 20 23:22 _usr_bin_fcitx-dbus-watcher.1000.crash
关闭错误报告
1. sudo service apport stop 临时关闭
2. /etc/default/apport 永久关闭
# set this to 0 to disable apport, or to 1 to enable it
# you can temporarily override this with
# sudo service apport start force_start=1
enabled=1
3. sudo apt-get purge apport 删除apport软件包
查看崩溃原因及尝试修复
进一步看了一下错误报告,
查看当前的软件包版本
dpkg -l|grep libcups2 或 apt list --installed |grep libcups2
查看软件安装路径
dpkg -L libcups2
查看有无新的版本
1. https://packages.ubuntu.com/zh-tw/bionic/libcups2 搜索
2. apt-cache madison libcups2
3. apt-cache policy libcups2
4. apt-cache showpkg libcups2
5. apt-get install -s libcups2
6. aptitude versions libcups2
7. apt-show-version -a libcups2 or apt-show-versions -u libcups2
更详细参考:https://www.cnblogs.com/EasonJim/p/7144017.html
如果通过以上方式发现有比当前软件包更新的版本,可以使用apt-get install libcups2=xx.xx.xx 指定版本号来安装,尝试是否可以修复问题。
gnome-software崩溃
另外一个类似crash, 跟gnome-software相关
liyumin@liyumin-B250M-D3H:~$ sudo ps -ef|grep gnome-software
liyumin 2443 1530 0 8月20 ? 00:00:04 /usr/bin/gnome-software --gapplication-service
UnreportableReason: You have some obsolete package versions installed. PLease upgrade the following packages..
解决方案:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
wifi-network-scanner crash
https://www.hecticgeek.com/2012/12/wi-fi-network-scanner-ubuntu-linssid/