Как удалить дубликаты пунктов контекстного меню «Открыть с помощью» в Finder.app?

50

По какой-либо причине контекстное меню «Открыть с помощью» в Finder всегда перечисляет каждое приложение четыре раза (точно).

Дублируйте параметры «Открыть с помощью» в Finder.app

Я читал (и пытался) перестроить базу данных Launch Services, чтобы восстановить контекстное меню в его первоначальном состоянии, но, похоже, ничего не работает. Я также использовал Onyx.app для очистки пользовательских и системных кешей, но у меня все еще осталось четыре повторения каждого приложения в службе «Открыть с помощью». Я перезагружал систему несколько раз, чтобы убедиться, что это не было временным искажением списка.

Я использую OS X 10.6.6 на 17-дюймовом MacBook Pro 2011 года с новой установкой OS X (т.е. я не использовал Migration Assistant.app или резервную копию Time Machine). Однако я синхронизировал все свои настройки и другие файлы, использующие MobileMe, как я всегда делаю, поэтому я полагаю, что выполнимый файл настроек вызывает проблемы? Я не заметил, происходило ли это до или после синхронизации MobileMe.

Как я могу это исправить, чтобы одно приложение показывало?

bmike
источник
Есть ли у вас какие-либо другие (внешние) диски? Как машина времени, клон или что-то?
Мартин Маркончини
Ну, когда я на работе, у меня есть активная Time Machine, но когда я опубликовал это, у меня не было подключено ни одного другого диска, кроме синхронизированного iDisk.
1
Это, конечно, странно, не могли бы вы быстро создать другого пользователя, войти в систему и посмотреть, демонстрирует ли новый пользователь такое же поведение?
Мартин Маркончини,
@ Martín Marconcini Да, я подтвердил, что создание новой учетной записи пользователя все еще демонстрирует такое же поведение.

Ответы:

23

Поскольку эта проблема возникает на системном уровне, я не уверен, будут ли эти шаги иметь какое-либо значение.

Я предполагаю, что, как вы сказали, вы перестроили свою LaunchDatabase. Так, на всякий случай:

Оникс

Вы можете попробовать версию командной строки выше (в терминале):

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user

Кроме того, « Стандартные приложения» - это удобная и бесплатная панель «Системные настройки» для управления стандартными приложениями (в зависимости от расширения, типа и т. Д.). Здесь вы можете видеть и связывать все, что угодно. Это должно, по крайней мере, дать вам подсказку, связана ли проблема с ассоциацией или нашедший что-то делает в стиле фанк.

Когда это начало происходить? Вы установили что-то? Я вижу, у вас есть Xcode 4, вы получили его из App Store или у вас есть Профиль разработчика и вы получили его через прямую загрузку? Было ли это раньше? Это происходит с каждым типом файла или только с некоторыми конкретными?

Мартин Маркончини
источник
Да, я пытался выполнить эту команду несколько раз. Кажется, это не имеет никакого эффекта. Я также посмотрел на стандартные приложения. Ничто действительно не выглядело необычным. Это начало происходить сразу после того, как я получил свой MacBook Pro меньше недели назад. Я установил свой типичный набор приложений, но ничего, кроме мейнстрима (iWork, Photoshop и т. Д.). Я получил Xcode 4 из ADC, а не из App Store. Кажется, это происходит для каждого типа файла.
@ Лукас, это то, что я должен исследовать, особенно потому, что это происходит на разных счетах. Позвольте мне вернуться к вам :)
Мартин Маркончини
Спасибо. :) Пожалуйста, дайте мне знать, если есть что-то еще, что я могу предоставить, возможно, даже доступ к Screen Sharing / SSH в какой-то момент, если вы хотите возиться.
@Lucas Да, будем надеяться, что кто-то
умнее
@Lucas Разделение экрана было бы больше, чтобы удовлетворить мое любопытство;) Но давайте продолжим расследование еще несколько дней.
Мартин Маркончини
8

После запуска lsregister(как упоминалось в https://apple.stackexchange.com/a/10615/24322 ) перезапустите программу поиска. (Для этого нажмите Option + щелкните правой кнопкой мыши значок Finder в доке и выберите «Перезапустить».)

Munas
источник
Благодарю. У меня была та же проблема, и ваш совет был ключом к тому, чтобы заставить работать вышеуказанное решение.
Питер Роу
Mountain Lion, вы можете перезапустить Finder, по крайней мере, я не смог найти его с помощью Ctrl + Opt + щелчок мышью. Все, что я сделал, это просто закрыл все окна Finder и щелкнул значок Finder, чтобы перезапустить.
7

Для более быстрого и легко запоминаемые образом, вы можете псевдоним команда показана в верхнем ответе на lscleanupвот так:

# Clean up LaunchServices to remove duplicates in the “Open With” menu.
alias lscleanup="/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user && killall Finder"`

Добавьте это в свой .aliasesфайл (или любой другой файл, который запускается при открытии терминала), и вам больше не придется запоминать эту запутанную команду.

Джон
источник
5

Я столкнулся с той же проблемой и думал, что я буду умным и бегу

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user

под судо.

Это не исправило вещи. Проблема не была решена до тех пор, пока я не запустил ее с правами моей учетной записи.

Trane Francks
источник
2

Это сработало для меня:

/System/Library/Frameworks/CoreServices.framework/Frameworks/\
LaunchServices.framework/Support/\
lsregister -kill -r -domain local -domain system -domain user
killall Finder

Это необходимый минимум - никаких дополнительных команд, щелчков мышью, псевдонимов или сторонних приложений. Я позаимствовал его из других ответов, но сделал его читабельным менее чем в 80 столбцах!

Дэвид Дж.
источник