有一个奇怪的问题。使用 Libreoffice Draw 制作的 .odg 文件有错误的图标(如下所示)。
Libreoffice 的其他开放文档格式具有与应用程序图标类似的图标。
我安装了 Ubuntu 14.04,带有原生 Unity、Ambiance 和 ubuntu-mono-dark 主题。Libreoffice 4.2.4.2 有“星系风格”图标集(但据我所知,它不会影响文件图标)。
所有关联均已正确设置。/usr/share/applications/app-install 中“libreoffice-draw”的所有 png/svg 文件似乎都是正确的。我甚至不知道这个错误的图标是从哪里获取的。
如何修复?提前谢谢您。
答案1
这也是我看到的文件图标.odg
。我认为这是预期的默认图标。
右键点击文件后在属性中看到“类型:”下有一个括号.odg
,里面有说明application/vnd.oasis.opendocument.graphics
。然后我找到了相应的文件:
/usr/share/icons/Humanity/mimes/48/application-vnd.oasis.opendocument.graphics
查看其属性,该文件实际上只是指向该文件的一个链接,即显示为.odg
图标的图像:
/usr/share/icons/Humanity/mimes/48/x-office-drawing.svg
您要更改的图像位于:
/usr/share/icons/Humanity/mimes/48/libreoffice-oasis-drawing.svg
您所要做的就是x-office-drawing.svg
用您想要的新图标替换它(即删除旧文件,将新文件复制到该目录,然后重命名)。实际上有很多不同大小的文件夹(例如 32、48、128),所以我编写了以下 bash 脚本。这在我的系统上有效。只需使用文本编辑器将其保存为change-icon.sh
#!/usr/bin/env bash
path="/usr/share/icons/Humanity/mimes"
orig="application-vnd.oasis.opendocument.drawing.svg"
new="x-office-drawing.svg"
for dir in $(find "$path" -type d ! -path "$path"); do
sudo cp "$dir"/"$orig" "$dir"/"$new"
done
sudo gtk-update-icon-cache "/usr/share/icons/Humanity"
然后使其可执行:
chmod +x change-icon.sh
使用以下命令执行:
./change-icon.sh
您可能会收到一些错误消息cp
。这是正常现象,因为出于某种原因并非所有文件夹都包含文件。您可能还必须注销并重新登录才能查看更改。