随着Ubuntu 19.04出现了一个新功能鹦鹉螺。您现在可以“星星“任何给定目录中的文件和文件夹。很好。
但正如它似乎Nautilus 开发人员决定采用非标准方式来实现此功能... 这段元数据存储在哪里? Nautilus 如何跟踪此属性?
扩展属性不返回任何内容:
$ attr -l Testfile.png
并要求 GVFS 通过以下方式转储所有元数据
$ gio info Testfile.png
确实返回了所有标准属性,但没有“加星标”属性的提示!是否在〜/.config/nautilus? 希望它附加到文件/文件夹中,而不是在其他地方……
我想从 nautilus 外部访问“加星标”的归因,这就是原因。
答案1
Gnome Shell 使用追踪器实用程序记录类似的事情。摘自文档:
数据库保存在 中
$HOME/.cache/tracker
。用户的数据备份保存在 中$HOME/.local/share/tracker/data
。如果 Tracker 配置为将日志记录详细程度(在 GSettings 或每个主要组件的每个 .cfg 文件中设置)设置为高于 0 的值,则会生成日志,并且通常会发送到系统日志或 syslog。如果为 Tracker 守护程序设置了环境变量,则会导致另外
TRACKER_USE_LOG_FILES
写入日志。$HOME/.local/share/tracker
我想从 nautilus 外部访问“加星标”的归因,这就是原因。
你不能。跟踪器回写用于写入数据库,但正如手册页所述:
tracker-writeback
— 用于将 Tracker 中设置的元数据集写回到物理文件。
tracker-writeback
不应由用户运行,因为它是.desktop
在用户登录时由其文件启动的。当然,也可以手动启动它以进行调试。您不能同时运行多个实例。
查看数据:
tracker-extract
— 从文件中提取元数据。tracker extract 读取提供的文件并从该文件中提取任何可以提取的元数据,然后在标准输出上显示元数据。
元数据显示为 SPARQL 更新命令,可以针对 SPARQL 端点运行以更新其元数据副本。
实际提取由单独的进程完成。这样做是为了将调用进程与 Tracker 用于提取元数据的库中的任何内存泄漏或崩溃隔离开来。
有关更多信息,请参阅 libtracker-extract 参考文档。
没有提供用于将元数据插入数据库后端的命令行工具。它全部与 gnome shell 绑定。