单个应用程序未在Spotlight中显示


96

我遇到一个奇怪的问题,即Matlab顽固地拒绝出现在Spotlight搜索结果中。

除了应用程序中明确存在的信息外,我不确定要提供什么信息:

显示matlab的终端在那里

它甚至可以很好地出现在启动板中:

聚光灯显示有matlab

我没有被Spotlight索引阻止的任何内容:

聚光灯设置

但是,即使在Spotlight中搜索确切的名称也只会产生一些崩溃日志。

热点搜索

Spotlight搜索对于其他任何应用程序也都可以正常工作,并且可以更新(例如,我刚刚搜索了我制作的屏幕截图,并找到了它们),因此它不仅“卡住了”。

有任何想法吗?


您是在寻找Spotlight只是向您展示Matlab还是要索引的Matlab文档文件夹?
fsb

@fbara:只是Matlab,所以我可以使用Spotlight快速打开它。
houbysoft '16

@fbara:谢谢,但是不幸的是,它不起作用,只是尝试了一下
houbysoft

@fbara:实际上,今天它开始工作了……我不确定在做完您提出的建议后我是否只是没有等待足够长的时间,或者它是否无关紧要,但是如果您想发表您的意见作为答复,我可能会也要接受,因为现在已经解决了。
houbysoft '16

我很高兴它开始工作!我已经发布了答案。
fsb

Answers:


187

转到System Preferences --> Spotlight --> Privacy。打开后,转到Finder --> Applications并将MatlabApplications拖入Privacy。关闭System Preferences并重新打开它,然后从同一位置删除Matlab

这将强制为重新编制索引Spotlight。我已经为某些人而不是其他人看到了这项工作,但是值得一试。


1
这也对我有用,但没有找到Genymotion。
Obromios

2
值得注意的是,这正在重建索引,因此在执行此操作之后,请稍等片刻,然后再放弃它。
LadyCailin

2
辉煌。这为我解决了这个问题。太谢谢了!
Ryan Farley

4
这只是一个临时修复。时间不确定后会再次发生此问题。
evolutionxbox

2
工作了!任何线索为什么会首先发生?
亚历克·雅各布森

80

在终端中,输入:

sudo mdutil -E /

我尝试了Preferences --> Spotlight --> Privacy/Applications文件夹的建议,但对我而言不起作用。

然后我sudo mdutil -E /Applications在一个终端中尝试了,那也不起作用。

Preferences --> Spotlight --> Privacy在整个磁盘上使用建议也可能会起作用,但是无论如何,我发现sudo mdutil -E /在命令行上键入单个命令()更容易。

该命令开始重新索引过程,然后迅速退出,因此运行它可能需要一段时间才能使您的应用程序可以通过Spotlight进行访问。查看是否仍在建立索引的一种简单方法是启动Spotlight(命令空间)并输入至少1个字符。如果正在重新编制索引,它将在文本输入字段下方显示“正在编制索引”。


效果很好,而且更容易实现
stevyhacker

11

我从未尝试过,但是mdimport -d1 /Applications/Matlab_R2015b.app在终端中运行也可以。您可以将数量增加到最多4个,以增加调试信息,这可能会告诉您为什么索引不起作用。您可以在mdimport的手册页中找到其他命令行选项。


3
为什么这被否决?我认为通过添加和删除Spotlight的“隐私”黑名单中的目标来触发重新索引是很尴尬的,尽管这也是Apple在某些支持页面上建议的。对我来说,通过终端触发重新索引似乎更有效。 sudo mdutil -E /Applications也许也值得一试。
anothernode '17

1
其他重新索引解决方案对我不起作用。手动将应用程序添加到Spotlight的缓存中似乎是唯一可行的方法。
罗杰斯先生

这也是唯一对我
Ronnie

7

最近我遇到了一个非常类似的问题,其中一些应用程序在将所有数据移至新的Mac之后只是不想显示。我尝试了所有建议的解决方案,但没有任何帮助。更详细地检查了这些应用程序,我注意到它们具有“扩展的ATTRibutes”(xattr),其名称为:

com.apple.finder.copy.source.inode#N
com.apple.finder.copy.source.volumeuuid#N

这些属性以及其他属性是在Finder中复制文件时设置的。如果您想知道为什么要复制的应用程序会变灰,直到复制完成,以及Finder如何在Finder窗口本身(而不仅仅是在复制对话框中)显示复制进度-都是通过不同类型的属性来完成的在文件上进行设置,并告诉系统该文件/文件夹/捆绑包正在复制,并且已经复制了多少。

通常,Finder在复制后会删除所有这些属性,但是以某种方式这些属性卡在我的案例中,并且设置了这些属性后,Spotlight拒绝显示应用​​程序,以为它们仍在复制过程中。

我必须手动删除它们才能解决该问题:

xattr -d com.apple.finder.copy.source.inode#N PATH
xattr -d com.apple.finder.copy.source.volumeuuid#N PATH

随着PATH正在给应用程序的完整路径(刚刚从Finder中拖动它到一个终端窗口,完整的路径是写在那里)。根据访问权限/所有权,您可能必须在命令之前加上命令sudo以获取扩展权限。

我认为与全世界分享这些信息可能会有所帮助,这就是为什么我在这里发布它。


很棒的建议。我发现我有一个带有com.apple.quarantine xattr集的应用程序。删除该属性后,该属性将立即显示在Spotlight搜索中。
丹·韦洛尼斯

6

更快地替代公认的答案:

  1. System Preferences --> Spotlight --> Search Results
  2. 取消勾选 Applications
  3. Applications

您可能需要关闭并重新打开(2)和(3)之间的偏好设置。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.