修复Chrome OS Crostini图标

反正不知道为什么Chrome OS对Linux容器内的软件图标的支持偶尔会出问题,虽然不影响使用,但就是有点丑。

参考文章

how to force the app launcher to update the icon cache?

刷新图标缓存

有时候可以更新图标缓存就可以恢复正常,或许是因为apt先创建了desktop文件再保存的图标,就迷惑到Chrome OS了。

进入application文件夹

即保存desktop文件的文件夹,这里以xterm为例,xtermdesktop文件保存在/usr/share/applications, 进入这个目录。

移动desktop文件

找到软件对应的desktop文件,如debian-xterm.desktop文件,把该文件暂时移到别的地方,如上级目录..

等待Chrome OS内的图标消失

一段时间后,Chrome OS下的目标Linux软件就会自动消失。

移回desktop文件

把之前的desktop文件,如debian-xterm.desktop移回application文件夹。一段时间后软件图标会重新出现在Chrome OS的软件列表里。

转换图标格式

截至Version 87,Chrome OS都不支持xpm格式的图标,所以有时候需要手动转换图标的格式。

安装imagemagick

1
sudo apt install imagemagick

找到图标的名字

xterm为例,打开/usr/share/applications下的debian-xterm.desktop文件。发现Icon=mini.xterm,所以图标的文件必须叫mini.xterm.png

进入存储图标的文件夹

xterm将图标保存在/usr/share/pixmaps里,发现两个图标文件mini.xterm_32x32.xpm, mini.xterm_48x48.xpm。把分辨率高的mini.xterm_48x48.xpm转换为mini.xterm.png。注意不同的程序会把图标存在不同的地方。

1
sudo convert mini.xterm_48x48.xpm mini.xterm.png

刷新图标缓存

参考上一章节刷新图标的缓存。

查看错误日志

如果以上两个章节不能解决问题,试着查看错误报告来定位问题。

1
sudo journalctl -b -t garcon

有一些错误应该不会产生什么影响,比如[540]: MIME types file does not exist at: /home/user/.mime.types