我有一个用于存储的 NTFS 分区,我无法让 Synapse 搜索它。目前,我已按照以下方法操作建议,基本上消除/媒体从 PRUNEPATHS 并运行 sudo updatedb
我的 updatedb.conf 当前如下所示:
PRUNE_BIND_MOUNTS="yes"
# PRUNENAMES=".git .bzr .hg .svn"
# original
# PRUNEPATHS="/tmp /var/spool /media /home/.ecryptfs"
# PRUNEFS="NFS nfs nfs4 rpc_pipefs afs binfmt_misc proc smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs shfs sysfs cifs lustre tmpfs usbfs udf fuse.glusterfs fuse.sshfs curlftpfs ecryptfs fusesmb devtmpfs"
# modified
PRUNEPATHS="/tmp /var/spool /home/.ecryptfs"
PRUNEFS="rpc_pipefs afs binfmt_misc proc smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs shfs sysfs cifs lustre tmpfs usbfs udf fuse.glusterfs fuse.sshfs curlftpfs ecryptfs fusesmb devtmpfs"
最初,我没有碰过PRUNEFS。因为它不起作用,所以我尝试删除NFS NFS4,sudo updatedb 花费的时间更长,这是有希望的,但 synapse 仍然不会索引该分区的内容,只会索引我的主要分区的内容。
有人能给我一些关于如何修复它的想法吗?
谢谢!
编辑:经过一些测试,从 Ubuntu 的仪表板搜索时,会显示分区的完整内容。只有 Synapse 似乎找不到它,但可以找到一个文件夹及其内容。我比较了该文件夹和其他文件夹的权限,它们都是 777,因此应该可以完全访问。老实说,我很困惑。
答案1
问题中提到的解决方案并非旨在让 Synapse 找到直接地只需输入文件名称即可在任何分区上访问任何文件,但要实现这一点间接通过locate
;也就是说,允许locate
访问以前无法访问的分区上的文件 — — 因为除外(通过文件中的设置/etc/updatedb.conf
)被添加到数据库locate
用途。
突触运作文件搜索有两种方式:在 Zeitgeist 日志的条目内,以及在 的条目内locate
。这种类型的搜索是通过 Synapse 的属性中默认启用的特定插件实现的 -插件。(如果 Zeitgeist 插件被禁用,在重新启用该插件后可能需要重新启动计算机才能使其正常运行。)文件夹搜索基于单独的插件。
Zeitgeist 结果会自动出现:
(文件夹搜索也是如此)
但那是不是命令结果的情况。仅在选择常规搜索列表中的最后一个条目(带有问号的条目)并按 ENTER 运行该命令后,才会出现locate
结果:locate
Synapse 显示直接地一个文件,它应该被记录在 Zeitgeist 日志中。但这不会发生,直到事件与该文件相关的事件已经发生(如正在播放的电影、正在打开的文档),无论文件位于哪个分区。不过需要提及不同地点之间的一些差异:请参阅下面的注释。
Zeitgeist 不是一个文件记录器,而是一个活动(事件)记录器。 (看这里。
问题本身包含的解决方案应该为该locate
过程提供包含来自特定分区的文件的数据库(默认情况下由文件排除/etc/updatedb.conf
),但这些文件将只能搜索通过locate
(见上图第二张):只有已经访问过的才会随后直接出现在 Synapse 中(通过 Zeitgeist)。
总结一下:
对于要在 Synapse 中直接显示的文件,它应该已经被访问(例如,打开)。
***笔记:在某些特权位置(如桌面)上创建的文件将直接显示。$HOME 文件夹也是如此。
对于要通过 Synapse 中的命令访问的文件,
locate
它不应位于 中排除的分区上/etc/updatedb.conf
,并且在创建后sudo updatedb
需要该命令。通过文件管理器访问的文件比通过 Synapse 搜索(使用 )访问的文件更快地添加到 Zeitgeist 日志中(或者在这些日志中访问的速度更快)
locate
。一旦从文件管理器访问了某个文件,并且随后可以通过简单的 Synapse 搜索访问该文件,则可以通过简单的搜索在 Synapse 中访问同一位置的其他文件。
例子:
在 中创建一个新文件
~/Documents
,Synapse 找不到它;locate
在 Synapse 中运行却找不到任何内容。运行 Synapse 后sudo updatedb
不会直接显示它,但在 Synapse 中运行“locate”会找到该文件。打开该文件,然后在 Synapse 中再次搜索:会直接显示该文件。在 中创建一个新文件
~/Desktop
,Synapse 会直接找到它。在第二个 NTFS 分区上创建一个新文件,挂载点为
/media/username/DEPO
,以上方法均无效。打开后,Synapse 将直接显示它。但如果我想在不打开它的情况下找到它(如果它是一个我从未打开过的新文件)并尝试使用locate
,则找不到它,即使运行 也找不到sudo updatedb
。按照问题中所述编辑文件/etc/updatedb.conf
,重新启动计算机,然后运行sudo updatedb
将使文件在 Synapse 中可通过 访问locate
。
为了使上述操作对我有用,在 删除路径/etc/updatedb.conf
后的文件现在看起来像这样:PRUNEPATHS=
/media
PRUNE_BIND_MOUNTS="yes"
# PRUNENAMES=".git .bzr .hg .svn"
PRUNEPATHS="/tmp /var/spool /var/lib/os-prober /var/lib/ceph /home/.ecryptfs /var/lib/schroot"
PRUNEFS="NFS nfs nfs4 rpc_pipefs afs binfmt_misc proc smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs devtmpfs fuse.mfs shfs sysfs cifs lustre tmpfs usbfs udf fuse.glusterfs fuse.sshfs curlftpfs ceph fuse.ceph fuse.rozofs ecryptfs fusesmb"
- 通过键入名称的首字母在辅助分区上搜索播客,Synapse 找不到任何内容,但使用 可以找到它
locate
;如果我按 ENTER 打开它,或者按 TAB 并选择要打开的应用程序,然后在 Synapse 中再次搜索,则不会找到任何内容。如果在使用 找到文件后locate
,我按 TAB,选择在文件管理器中打开文件夹,然后在那里打开文件,那么不仅可以通过键入其名称在 Synapse 中找到该文件,而且也可以用相同的方式找到位于同一文件夹中的其他文件。(我认为这是由于涉及 Zeitgeist 的其他插件:混合搜索– 通过搜索类似文件完成 Zeitgeist 结果 – 以及相关文件– 使用 Zeitgeist 查找与其他搜索结果相关的文件。)
顺便说一句,在我的情况下,删除NFS nfs nfs4
后PRUNEFS=
Synapse 会在重启时占用所有 CPU,导致我的计算机卡住。我已从实时会话中将该文件改回原样,并按所述进行操作。