例如,当我使用 Nautilus 搜索一个名为的文件时60-evdev.hwdb
,尽管花了大约半个小时,但最后它返回说在我的计算机上找不到这样的文件。
然而,当我在终端中运行搜索时,locate
它几乎立即找到了它,它在这里:
-rw-r--r-- 1 root root 4891 May 12 10:39 /lib/udev/hwdb.d/60-evdev.hwdb
那么 Nautilus 为什么找不到它呢?Nautilus 会过滤掉某些类型的项目吗?如果是这样,有什么方法可以调整或禁用此过滤器吗?我还应该注意,如果我使用 Nautilus 进入我现在知道文件所在的文件夹,它可以在那里看到它,只是无法通过搜索找到它,但由于它使用实时搜索,它应该真的能找到它,不是吗?
我正在运行带有 GNOME 3.20 的 Ubuntu GNOME 16.04。
答案1
鹦鹉螺搜索...
如果追踪器可用时它将显示结果。
来自链接:
Tracker 提供以下内容:
桌面搜索索引器(有关详细信息,请参阅此规范:https://wiki.ubuntu.com/IntegratedDesktopSearch)
用于对任何对象进行关键字标记的标签数据库
可扩展元数据数据库,适用于需要向文件添加自定义元数据的应用程序(如 gedit 和 rhythmbox)
第一类对象的数据库允许使用跟踪器的数据库来存储和实现第一类对象和 Gnome 3.0 模型。
如果没有跟踪器则使用它
find
。
检查是否trackerd
处于活动状态。这样 Nautilus 就会使用选项 1。您指出的时间会让我相信它使用了第二个选项。
可能性:您已trackerd
激活,但结果不准确。但这无法解释为什么花了半个小时。
Nautilus 在不到一秒钟的时间内就为我找到了该文件(它立即返回):
所以我假设你使用的是“查找”。你可能需要重新进行搜索,并检查进程列表以了解它在搜索时执行的操作。
使用 find 也可以在一秒钟内返回:
$ find / -name 60-evdev.hwdb -print |more
find: ‘/var/lib/mysql-files’: Permission denied
find: ‘/var/lib/mysql’: Permission denied
/lib/udev/hwdb.d/60-evdev.hwdb
find: ‘/var/lib/udisks2’: Permission denied
find: ‘/var/lib/colord/.cache’: Permission denied
...
该链接还提供了禁用跟踪器的方法,但您的问题可能是跟踪器没有运行。
全局禁用跟踪器(针对所有用户)
/etc/xdg/autostart/trackerd.desktop
使用 root 权限编辑文件(sudo vim、gksudo gedit ...)。添加Hidden=true
到文件末尾。/etc/xdg/autostart/tracker-applet.desktop
如果需要,请执行相同操作
仅对您的用户禁用跟踪器。进入目录
~/.config/autostart
,如果不存在则创建。创建一个名为的文件trackerd.desktop
。将以下内容粘贴到文件中,保存并退出[Desktop Entry] Encoding=UTF-8 Name=Tracker Hidden=true