如何查询特定属性的gvfs元数据?

evince的一个很好的function是,当你关闭程序并稍后重新打开相同的pdf时,它会自动跳转到你正在阅读的页面。 我遇到的问题是我经常在几台计算机上阅读电子书,我必须找到我在最后一台计算机上阅读pdf。 我认为在UbuntuOne中同步这些书签对于像我这样在不同计算机上阅读pdf的人来说将是一个杀手级function。

通过调查,我发现了evince存储这些数据的地方。 它位于gvfs元数据中 ,可以通过键入来访问特定文档

gvfs-ls -a "metadata::evince::page" myEbook.pdf 

而不是查询特定文件,我想查询位于~/.local/share/gvfs-metadata/home中的主目录的整个元数据文件,以查找此特定属性设置为某个值的任何文件。 最大的问题是gvfs元数据并存储在二进制文件中,我们都知道从二进制文件中获取内容并不容易。

那么,你知道如何查询gvfs元数据的某些属性吗?

至于正确地做到这一点,这可能涉及用couchdb后端替换服务元数据的后端代码。 如果要编写某些内容来解决此杀手级function,您还可以从代码中访问所有元数据。

Interesting Posts