我想从终端更改多个文件的图标。
不是启动器图标,而是基于文件结尾的文件类型的默认图标。
如何完成此任务?
答案1
“徽章”以二进制文件形式存储在目录中~/.local/share/gvfs-metadata
。
所以你需要gvfs-bin 这样才能提取并保存它们。哦,每个分区/卷/目录/文件都有一个文件(更糟糕的是)。
要获取有关徽章的信息,您可以使用:
gvfs-info -a metadata::emblems {filename|folder}
要为 {filename} 或 {folder} 设置 {icon},您可以使用:
gvfs-set-attribute -t stringv {filename|folder} metadata::emblems {icon}
例子:
我在 ~/Music 中创建了文件夹 1、2、3、4。
图像终端内的命令:
gvfs-set-attribute 1 metadata::custom-icon file:///usr/share/pixmaps/gnome-log.png
gvfs-set-attribute 2 metadata::custom-icon file:///usr/share/pixmaps/gnome-spider.png
将 1 和 2 更改为现有视频文件或任何其他实际文件,它应该可以正常工作。
F5 更新底部面板。
从目录 3 和 4 可以猜到,您需要对每个需要执行此操作的文件都执行此操作。
这是一个遍历目录并将文件夹中的 PNG 设置为文件夹徽标的脚本(基本上,这模仿了 Windows 将其用作folder.png
其上级目录的徽标的方法)。
/usr/bin/python 的 #! 导入操作系统 从 os.path 导入 join cwdir = str(os.popen('pwd').readline()).replace('\n','') 对于 os.walk(cwdir) 中的根、目录、文件: 对于文件中的名称: 如果 name.lower().find('.png') != -1: os.system('gvfs-set-attribute“'+root+'”元数据::自定义图标“'+name+'”')
您也许能够将其更改为包含文件的您自己的版本。
使用脚本风险自负