Як я можу змінити список програм у розділі "Відкрити за допомогою ..."?


41

Нещодавно я пішов відкрити аудіофайл і хотів відкрити його в редакторі замість плеєра. Я клацнув правою кнопкою миші, поклав курсор на "Відкрити з ..." і зустрічався з дуже непривабливим списком.

Список підтримуваних аудіо додатків

У минулому я бачив проблему, коли додатки матимуть попередні версії, застряглі в /Applicationsпапці з доданим номером версії, але це не так. Незважаючи на подвійність у цьому списку, жодна програма не дублюється /Applicationsні в якому іншому місці, який я не можу знайти у своїй системі.

Чому цей список заповнюється дублікатами, і як я можу їх видалити і переконатися, що лише остання (і функціональна) версія є списком?


Перебудова бази даних Launch Services (що ця команда робить) повинна це виправити. Чи були надруковані повідомлення про помилки під час запуску?
robmathers

Відповіді:


45

У програмах не потрібно жити /Applications. Якщо у вас встановлений клон вашої системи, він може враховувати деякі дублікати, але точно не те, що ви спостерігаєте. Список програм для Open with… зберігається в базі даних Launch Services . Якщо список містить багато дублікатів, як і у вас, база даних виглядає так, що потребує відновлення.

Macworld Hints пропонує пропозицію, як виправити це:

lsregisterКоманду, знайти на System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister, можна сказати , базу даних для скидання. Macworld рекомендує виконувати команду таким чином:/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user

Зауважте, що такі утиліти, як Onyx або Cocktail, також можуть скинути цю базу даних для вас. Зауважте, що Finder не перечитає нову базу даних, тож вам доведеться або вийти з системи, і знову або випустити файл, killall Finderякщо ви не заперечуєте просто вбити його будь-яким користувачам на вашому Mac, щоб уникнути виходу та входу.


1
Це допоможе у дублюванні, і працювало для мене кілька разів, тому +1. Чи є у вас щось, щоб допомогти ОП у другій частині питання: як редагувати цей список?
Redandwhite

1
@Redandwhite Насправді він відповів на мої запитання в тій мірі, в якій я їх мав на увазі. Редагуючи це, я дійсно мав на увазі просто видалити мальви, і lsregister зробить це для мене. Якщо ви хочете відредагувати це прямо, задайте це як власне питання . Найкраща частина цього полягає в тому, що ви отримаєте таку репутацію для себе :).
Джейсон Салаз

Ну, він відповів на мої запитання, але, на жаль, це не вирішило проблему . Список залишається ідентичним після запуску команди, наведеної у відповіді. Зображення, пов'язане в цьому коментарі, показує, що я досить впевнений, що в моїй системі є лише одна копія пакету додатків Spotify, незважаючи на кількість, показану у списку.
Джейсон Салаз

2
Я забираю його назад. Здається, процес просто зайняв деякий час, але я переглянув "Відкрити з ..." не 2 хвилини тому. Список знову чистий. Так!
Джейсон Салаз

Так! Радий, що це працювало на вас. Я копав, і не знайшов кращої відповіді, тому радий, що це спрацювало.
Даниїл

7

Після перевірки уваги, щоб переконатися, що у вас насправді немає диска резервного копіювання чи іншого тома з повторюваними копіями програм (у такому випадку Finder показує всі програми, які він знає про це, може відкрити файл), спробуйте виконання команди для відновлення бази даних служб запуску:

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

Потім вийдіть із системи та знову увійдіть. Це має відновити базу даних Launch Services для OS X, видаливши всі повторювані записи.


Чудово! Радий, що це працювало на вас.
daviesgeek

6

CleanOpenWith - це програма, яку я створив для очищення меню Open Open….

CleanOpenWith є відкритим кодом та безкоштовним. Додаток автоматизує ці кроки :

  1. Відкрити термінал: програми / утиліти / Terminal.app
  2. Введіть таку команду:

    /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user
    
  3. Зачекайте, коли ця команда буде виконана

  4. Якщо помилки немає, перейдіть до останнього кроку, перезавантажте Finder
  5. Перезапуск Finder не вимагає перезавантаження комп'ютера. Просто натисніть клавішу Control+ Option, натискаючи на піктограму Finder у док-станції, виберіть пункт Повторний запуск і ви налаштовані!

1

Мені просто вдалося вкусити мене на досить чисту нову версію Mountain Lion, де у мене було декілька версій програм, і я думаю, що в мене є справна ідея, як у моєму випадку виникли дублікати.

Я запускаю це повітря в режимі розкладачки і, ймовірно, витягнув його, поки він спав, і база даних служб запуску не очистила додатки, встановлені на моєму зовнішньому диску, підключеному до мого кінотеатру.

У мене є накопичувач на 3 ТБ з декількома завантажувальними програмами Lion та Mountain Lion, які точно відповідають кількості системних та сторонніх програм, які я маю зареєструвати, щоб відкрити файл jpeg:

Відкрити за допомогою ...

Так само, як і в інших відповідях - змушуючи lsregister вбивати базу даних і натисканням Finder лапшив мене менше ніж за 20 секунд

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

Це стара тема, але я зіткнувся з тією ж проблемою. Просто додайте папки додатків зовнішнього диска в список виключення прожекторів: superuser.com/a/349054/82434
evan.bovie

@ emb1995 Ця проблема виникає навіть тоді, коли у вас є лише один Диск через помилку в завантаженні оновлень App Store. У мене немає хорошого пояснення, чому Chrome та інші не MAS-файли дублюються, тому, можливо, в базі даних виникає більше однієї помилки або неприємної взаємодії, коли вона починає пошкоджувати речі, а шкода поширюється.
bmike

Так. Я знаю про помилку, але виглядало так, що все працює, як призначено для вас, просто незручно таким людям, як ми з кількома встановленнями. Я можу заглянути lsregisterколись, щоб знайти базу даних та інший пов'язаний з цим код, але, можливо, ця проблема виправлена ​​в Mavericks. Я не відчував цієї проблеми з GM або DP. Ще не встановлено публічний випуск. (дивним чином ... Я не можу згадати вас у своєму коментарі)
evan.bovie

0

Я зіткнувся з проблемою, де є резервні копії моїх програм на зовнішньому диску. Якщо у мене на цих накопичувачах проіндексовані або запущені програми з цих драйверів, вони відображаються у списку.


Так, у мене підключений резервний диск Timemachine. Як виключити ці старі програми з меню?
Іванов

2
@CDK, це звучить скоріше як коментар, ніж відповідь.
HairOfTheDog

0

Я знаю, що це стара тема, але для мене те, що це з'ясувалося, збиралося в "Force Quit", а потім перезапустити Finder.

Проблема сталася на 3-денному iMac повністю оновленому.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.