本文主要解决软件安装后,桌面、开始菜单应用程序图标显示异常的问题。
01 问题描述
SimplescreenRecorder 安装之后,桌面应用图标显示异常,如下图所示:
开始菜单应用图标显示异常,如下图所示:
02 异常原因分析
一般第三方应用安装后开始菜单、任务栏、桌面快捷方式图标显示异常都是由于打包不规范或者路径错误导致,只需要按照打包规范重新进行打包即可。
通过以下命令将deb包解压,通过查看包的目录结构以及.desktop文件配置情况,确认软件包是否符合打包规范。
dpkg-deb -R package.deb package
下面以一个第三方应用为例来展示排查过程:
1.解压deb包
打开终端,进入软件包所在目录,然后执行如下命令对安装包进行解压:
dpkg-deb -R simplescreenrecorder_0.3.11-1build2_arm64.deb simplescreenrecorder
解包完成后可以看到多了一个 simplescreenrecorder 的目录。
2.查看目录结构
进入软件目录,使用tree -L 4查看4级目录结构或使用tree查看整个目录结构。
3.查看图标放置路径是否符合打包规范
从上面查看软件目录结构可以看出,此软件包存在/usr/share/icons/目录,说明软件开发者按照打包规范要求进行了打包,并在 /usr/share/icons/hicolor/scalable/apps 路径下存放了图标svg文件。
如果软件开发者没有按照打包规范进行打包,则需要手动创建这个目录。
此时我们需要通过查看*.desktop文件配置情况来解决异常问题。
vim /usr/share/applications/simplescreenrecorder.desktop
03 解决方案
1.更新图标缓存
有时候图标显示异常是因为图标缓存没有更新。通过以下命令更新图标缓存:
sudo gtk-update-icon-cache /usr/share/icons/hicolor
2.检查应用图标文件
打开 /usr/share/icons/hicolor/scalable/apps/ 目录,检查是否存在应用图标,如果没有就从deb包里复制粘贴一个过来。如下图所示:
如果没有官方提供的应用图标文件,建议自己自定义一个图标文件。
3.检查应用的.desktop文件
应用的图标信息通常存储在.desktop文件中,打开.desktop文件并检查其中的Icon字段是否指向正确的图标文件。
.desktop文件通常位于 /usr/share/applications/ 目录下。
如上图所示,Icon字段没有指向正确的图标文件。
Icon=simplescreenrecorder
4.手动制定图标
(1)修改/usr/share/applications/*.desktop文件中Icon字段。
如上图所示,修改如下:
Icon=/usr/share/icons/hicolor/scalable/apps/simplescreenrecorder.svg
(2)使用以下命令进行打包:
dpkg-deb -b simplescreenrecorder
注意包名称不要和原包名称一致,否则会出现将原包覆盖的情况。可以使用以下命令重命名新包并进行打包:
dpkg-deb -b simplescreenrecorder simplescreenrecorder_new.deb
(3)验证前需要将原来的包卸载
sudo apt purge package
(4)使用以下命令安装新包来进行验证
dpkg -i simplescreenrecorder.deb
重新安装后,开始菜单、任务栏、桌面快捷方式图标显示正常。如下图所示:
有时候通过注销并重新登录,或者重启系统使得修改的设置生效。
暂无评论内容