在我的 Ubuntu 12.04 上,所有 gnome 应用程序(例如 Nautilus、Evince、gedit、firefox)在打开文件时都可以访问“最近使用”的文件和目录。
- 我想知道“最近使用”的文件和目录的信息存储在哪里?我想通过读取此类信息从终端访问“最近使用”的文件和目录。
- KDE 和 Wine 应用程序无法访问“最近使用”的文件和目录。我想知道为什么?
谢谢!
答案1
这最近使用信息存储在
recently-used.xbel
位于.local/share
每个用户目录下的文件中,完整路径为:~/.local/share/recently-used.xbel
它包含最近文件的元数据,例如打开它的应用程序是什么,或者应该在其历史记录中显示它的应用程序是什么。
例如,我的 gedit 显示 3 个文件:
如果我在文件中搜索 gedit,我肯定可以看到 3 个“stanzas”,因为有 3 个文件,下面是其中一个作为示例:
<bookmark href="file:///path/to/dsasd" added="2014-07-26T19:22:24Z" modified="2014-07-26T21:52:22Z" visited="2014-07-26T19:22:25Z">
<info>
<metadata owner="http://freedesktop.org">
<mime:mime-type type="text/plain"/>
<bookmark:groups>
<bookmark:group>gedit</bookmark:group>
</bookmark:groups>
<bookmark:applications>
<bookmark:application name="gedit" exec="'gedit %u'" modified="2014-07-26T21:52:22Z" count="7"/>
</bookmark:applications>
</metadata>
</info>
</bookmark>
- 该
recently-used.xbel
文件是GTK+ 工具包的一部分。我尝试寻找一些相关文档,但这是我能找到的最接近的:
GNOME 使用 GTK+ 库,而 KDE 使用 QT 库,我猜这就是它无法与 KDE 兼容的原因。至于 wine,我不知道,也许它就是设计来与 KDE 不兼容的。