You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu 22.04 LTS下使用gio设置metadata::custom-icon属性报错的解决求助

Ubuntu 22.04 LTS下使用gio设置metadata::custom-icon属性报错的解决求助

大家好,我在Ubuntu 22.04 LTS上碰到了一个关于通过gio命令设置文件自定义图标的问题,试了各种办法都没搞定,想求助下社区的大佬们!

问题背景

我可以在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

排查情况

我特意用gio info -w <filename>查看了文件的可写属性命名空间,输出显示:

Writable attribute namespaces: metadata (string, Copy with file, Keep with file when moved)

这说明metadata命名空间是支持写入字符串类型属性的,但不仅是metadata::custom-icon,像metadata::trust这类其他metadata属性也没法通过gio命令设置成功。

需求场景

我本来是想把这个设置图标的逻辑放到deb包的postinst脚本里,实现安装后自动给可执行文件配置自定义图标,现在卡在这一步了。我知道这个问题之前有人问过,但翻了一圈没找到可行的解决方案,所以来这里求助大家!

备注:内容来源于stack exchange,提问作者mdolphin

火山引擎 最新活动