如何在没有GUI的情况下在Thunar中设置徽标?
我想使用脚本向Thunar中的文件添加标志,但我找不到任何关于此的文档。
是否有可能做到这一点? 如果是这样,怎么样?
这里问了同样的问题,但他们提到了我的系统上不存在的~/.cache/Thunar/metafile.tdb
文件。 我认为这个问题和答案已经过时了。
从版本1.6开始,Thunar已经开始使用gvfs-metadata守护进程来存储元数据。 元数据存储在~/.local/share/gvfs-metadata
,但是您无法从文件中读取它(我认为它以某种二进制格式存储 )。 要读取元数据,请使用gvfs-info
命令,如下所示:
gvfs-info -a metadata:: /some/location
这将打印出/some/location
的元数据。
如果要更改元数据,可以使用gvfs-set-attribute
命令,如下所示:
gvfs-set-attribute /some/location -t stringv metadata::mdtype value
/some/location
是要编辑其元数据的文件/文件夹的位置, -t stringv
告诉命令期望字符串输入, mdtype
设置要更改的元数据类型(例如emblems
)和new value
集value
mdtype
的元数据。 例如:
gvfs-set-attribute Downloads -t stringv metadata::emblems emblem-default
为Downloads
文件夹提供default
徽标。
将值设置为none
以删除标志。 您必须重新启动文件管理器才能查看更改。
我写了一个小脚本,允许您一次更改多个文件夹/文件的标志:
run() { cd # make sure we're in the home directory echo 'What emblem do you want to apply?' read emblem if ! [ -z $emblem ]; then for i in $@ do echo 'Changing stuff...' $(gvfs-set-attribute $i -t stringv metadata::emblems $emblem) done echo 'Done!' else echo 'Emblem must be specified! Exiting...' exit fi } init() { if [[ -z $@ ]]; then echo "No arguments provided" else run $@ fi } init $@
资料来源:
-
Nautilus邮件列表
-
Thunar FAQ
-
如何从bash更改目录的图标/徽标