我想使用脚本将标志添加到Thunar中的文件中,但是我找不到任何文档。
是否有可能做到这一点?如果是这样,怎么办?
在这里提出了相同的问题,但是他们提到了~/.cache/Thunar/metafile.tdb
我的系统上不存在的文件。我认为这个问题和答案已经过时了。
~/.cache/Thunar/
甚至不存在。即使在Thunar的文件中添加标志后也没有。我安装了Thunar 1.6.3版。
我想使用脚本将标志添加到Thunar中的文件中,但是我找不到任何文档。
是否有可能做到这一点?如果是这样,怎么办?
在这里提出了相同的问题,但是他们提到了~/.cache/Thunar/metafile.tdb
我的系统上不存在的文件。我认为这个问题和答案已经过时了。
~/.cache/Thunar/
甚至不存在。即使在Thunar的文件中添加标志后也没有。我安装了Thunar 1.6.3版。
Answers:
从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 $@
~/.cache
是你知道的一个隐藏文件..