Linux安装图标主题后,会优先调用当前主题的图标,如果没有会查找hicolor里的图标,但我发现把缺失图标放到hicolor里并gtk-update-icon-cache更新缓存后为什么有时候能显示,有时候还是不显示呢?
比如plank程序图标不显示,我把plank.svg扔到hicolor里更新缓存后还是无效,原来当前主题中也有个plank.svg的软链接,但指向是没有源文件存在的。所以系统就不知道还是用hicolor里图标来代替。
不少主题包有这种情况存在,比如miya mcmuse we10 we11,这些没有源文件的软链接没有任何用处。经过试验在/usr/share/icons下使用
for r in `find . -type l` ; do test -e "$r" ||sudo rm -v "$r" ;done
意思是找到当前目录下所有软链接,测试源文件或目录存在为假,则删除该文件,显示详细信息。
然后再更新icons文件夹下所有主题包。
sudo find . -maxdepth 1 -type d -exec gtk-update-icon-cache {} \;