evince 的一个不错的功能是,当您关闭程序并稍后重新打开同一个 pdf 时,它会自动跳转到您正在阅读的页面。我遇到的问题是,我经常在几台电脑上阅读电子书,我必须找到我在上一台电脑上阅读 pdf 的位置。我认为在 UbuntuOne 中同步这些书签对于像我这样在不同电脑上阅读 pdf 的人来说是一个杀手级功能。
通过调查,我发现了 evince 存储这些数据的位置。它在gvfs 元数据并且可以通过输入以下内容来访问特定文档
gvfs-ls -a "metadata::evince::page" myEbook.pdf
我不想查询某个文件,而是想查询位于~/.local/share/gvfs-metadata/home
主目录中的整个元数据文件,以查找任何将此特定属性设置为某个值的文件。最大的问题是 gvfs 元数据存储在二进制文件中,我们都知道从二进制文件中获取信息并不容易。
那么,您知道查询 gvfs 元数据以获取某些属性的方法吗?
答案1
至于如何正确地做到这一点,这可能涉及用couchdb后端替换服务元数据的后端代码。如果您想编写一些程序来解决这个杀手级功能,您还可以从代码中访问所有元数据。