Одно приложение не отображается в центре внимания

96

У меня странная проблема, когда Matlab упрямо отказывается появляться в результатах поиска Spotlight.

Я не уверен, какую информацию предоставить, кроме того, что она явно существует в приложениях:

терминал, показывающий Matlab есть

Это даже выглядит в Launchpad просто отлично:

прожектор, показывающий, что есть Matlab

У меня нет ничего заблокированного от индексации Spotlight:

настройки прожектора

И все же, даже поиск точного имени в Spotlight приводит только к некоторому аварийному журналу.

поиск в центре внимания

Поиск Spotlight также отлично работает для всего остального / любых других приложений, и он прекрасно обновляется (например, я просто искал на нем сделанные мной скриншоты, и он их нашел), поэтому он не просто «застрял».

Есть идеи?

houbysoft
источник
Вы ищете Spotlight, чтобы просто показать вам Matlab, или у вас есть папка с документами Matlab, которую вы хотите проиндексировать?
ФСБ
@fbara: просто Matlab, чтобы я мог быстро открыть его с помощью прожектора.
Houbysoft
@fbara: спасибо, но, к сожалению, не работает, просто попробовал
houbysoft
@fbara: на самом деле, сегодня это начало работать ... Я не уверен, что я просто не подождал достаточно долго, выполнив то, что вы предложили, или это не связано, но если вы хотите опубликовать то, что вы сказали, в качестве ответа, я мог бы а также принять, так как теперь это решено.
Houbysoft
Я рад, что это начало работать! Я отправил ответ.
ФСБ

Ответы:

187

Перейти к System Preferences --> Spotlight --> Privacy. Пока это открыто, перейдите Finder --> Applicationsи перетащите Matlab из Applicationsв Privacy. Закройте, System Preferencesзатем снова откройте его и удалите Matlab из того же места.

Это заставит реиндекс для Spotlight. Я видел эту работу для некоторых людей, а не для других, но это стоит попробовать.

ФСБ
источник
1
Это также работало для меня с Genymotion, не найденным.
Обромиос
2
Стоит отметить, что это перестройка индекса, поэтому после того, как вы это сделаете, подождите немного, прежде чем отказаться от него.
LadyCailin
2
Brilliant. Это исправило эту проблему для меня. Большое спасибо!
Райан Фарли
4
Это только временное исправление. Проблема повторяется через неопределенное время.
evolutionxbox
2
Работал! Любая подсказка, почему это происходит в первую очередь?
Алек Якобсон,
80

В терминале введите:

sudo mdutil -E /

Я попробовал Preferences --> Spotlight --> Privacyпредложение с /Applicationsпапкой, но у меня это не сработало.

Затем я попытался sudo mdutil -E /Applicationsв терминале, и это тоже не сработало.

Возможно, что использование Preferences --> Spotlight --> Privacyпредложения со всем диском также сработало бы, но в любом случае я считаю, что набирать эту единственную команду ( sudo mdutil -E /) в командной строке проще.

Эта команда запускает процесс переиндексации и затем быстро завершается, поэтому может пройти некоторое время после ее запуска, чтобы ваше приложение было доступно через Spotlight. Простой способ узнать, индексируется ли он по-прежнему, - это запустить центр внимания (пространство команд) и ввести хотя бы 1 символ. Если он переиндексирует, он будет говорить «Индексирование» чуть ниже поля ввода текста.

Кит Беннетт
источник
Прекрасно работает и гораздо проще сделать
Stevyhacker
11

Я никогда не пробовал, но работа mdimport -d1 /Applications/Matlab_R2015b.appв Терминале также может работать. Вы можете увеличить число до 4 для увеличения отладочной информации, которая может сказать вам, почему индексация не работает. Вы можете найти другие параметры командной строки на mdimportстранице руководства пользователя .

Gaurav
источник
3
Почему за это проголосовали? Я думаю, что инициировать переиндексацию путем добавления и удаления цели в черный список Spotlight довольно неудобно, хотя Apple также рекомендует это сделать на странице поддержки. Запуск реиндексации через терминал кажется мне гораздо более эффективным. sudo mdutil -E /Applicationsтакже может стоить выстрел.
другой узел
1
Другие решения по переиндексации не работали для меня. Ручное добавление приложения в кэш Spotlight, казалось, было единственным, что сработало.
мистер Роджерс
это единственное решение, которое сработало и для меня
Ронни
7

Недавно у меня была очень похожая проблема, когда некоторые приложения просто не хотели появляться после переноса всех моих данных на новый Mac. Я перепробовал все предложенные решения, но пока ничего не помогло. Изучив приложения более подробно, я заметил, что у них есть «eXtended 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чтобы получить расширенные привилегии.

Я подумал, что может быть полезно поделиться этой информацией с миром, поэтому я публикую ее здесь.

Mecki
источник
Отличное предложение. Я обнаружил, что у меня есть приложение с набором com.apple.quarantine xattr. Удаление этого атрибута позволило сразу же появиться в поиске Spotlight.
Дэн Вейлонис
6

Более быстрая альтернатива принятому ответу:

  1. Перейти к System Preferences --> Spotlight --> Search Results
  2. Снимите галочку Applications
  3. Поставить галочку Applications

Возможно, вам придется закрыть и заново открыть настройки между (2) и (3).

Сорен Дебуа
источник