在 Ubuntu 22.4 lts 上,我可以手动为 nautilus 中的可执行文件分配一个图标,方法是右键单击文件资源管理器中的该文件,选择“属性”,单击默认图标,然后选择一个新的图标文件。
完成这些之后,gio info <filename>
我感觉metadata::custom-icon: file:///my-icon.png
一切都很好。
但是当我尝试像这样通过 gio 设置图标时
gio set -t 'string' "${FILE_PATH}" metadata::custom-icon "file://${ICON_PATH}"
我收到错误
gio: Setting attribute metadata::custom-icon not supported
metadata:custom-icon 应该可以由 gio 写入,因为
gio info -w <filename>
向我展示
Writable attribute namespaces: metadata (string, Copy with file, Keep with file when moved)
我想将其用作我的 deb 包的 postinst 脚本的一部分。其他元数据值也不起作用,例如 metadata::trust 等。
我知道,这个问题以前已经问过,但我还没有找到解决这个问题的方法。
答案1
我遇到了你的问题,得到了同样的错误。最后我发现我的Ubuntu中有不同的“gio”。报告的那个metadata::custom-icon not supported
是/home/user/anaconda3/bin/gio
,它由annaconda3提供。
apt-get还/usr/bin/gio
提供了另一个版本,对我很有用。
要查看您正在使用哪一个“gio”,只需输入which gio
bash 即可找到。要修复此问题:
将 $PATH 更改为使用系统提供的 gio,或使用 的绝对路径/usr/bin/gio
。希望这对您有用。