分享

银河麒麟deb包安装后,应用图标显示异常

系统版本

适用系统:V10
适用架构:全架构
其他版本和架构可作参考。

问题描述:第三方厂商应用安装后,应用图标显示异常,需要注销或者重启才能恢复正常。
image.png

问题分析:
一般第三方应用安装后开始菜单中或任务栏或桌面快捷方式图标显示异常都是由于打包不规范导致,只需要按照打包规范重新进行打包即可。要想知道软件包是否符合打包规范,我们可以通过 dpkg -c package.deb来查看软件包的目录结构,此命令可以列出 package的所有目录及文件,如果文件目录过多,不建议使用此命令。或者通过 dpkg-deb -Rpackage.debpackage来将 deb包解压后查看包的目录结构来确认软件包是否符合打包规范,建议使用此种方法。

下面以一个第三方应用为例来展示一下排查过程:
包:himirage_1.0.1.10604_amd64.deb
下载链接:https://pan.baidu.com/s/1NtQuekUyxSV2Z1ioMTAIOA
提取码:k4io

1)解包
打开终端,进入软件包所在目录,然后执行如下命令进行解包:
  1. dpkg-deb -R himirage_1.0.1.10604_amd64.debhimirage_1.0.1.10604_amd64
复制代码
解包完成后可以看到多了一个 himirage_1.0.1.10604_amd64的目录。
2)查看目录结构
进入软件目录,使用 tree -L 4查看 4级目录结构或使用 tree查看整个目录结构。
image.png

3)查看图标放置路径是否符合打包规范:
从上面查看软件目录结构可以看出,此软件包不存在/usr/share/icons/目录,所以厂商并没有按照打包规范要求进行打包。一般这种情况是厂商把 icon图标放在了自己的软件目录(即/opt/package/目录下),此时我们需要通过查看*.desktop文件来确定图标位置:
  1. vim usr/share/applications/幻影图像 1.0.desktop
复制代码
image.png

可以看出此软件包将图标放置在了自己的软件目录,desktop中 icon写的是绝对路径,图标命名也不够规范,且只有一个分辨率的 png格式的图标,这种就很容易出现图标异常的问题。

问题解决方案:
一般由厂商来做修改:
1)找厂商要 svg格式的矢量图标,一般都会有,如果实在没有就要全尺寸的png格式的非矢量图标。
2)将从厂商要到的 svg格式图标以应用英文名[/        discuz_code_1        ][/        discuz_code_0        ]

试读已结束,请付费阅读全文。

  本文只能试读34%,付费后可阅读全文。 

共2人付费
 

版权说明:论坛帖子主题均由合作第三方提供并上传,若内容存在侵权,请进行举报

没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系在线客服