Як видалити повторювані елементи контекстного меню "Відкрити" в Finder.app?


50

З будь-якої причини контекстне меню "Відкрити з" у Finder завжди перераховує кожну програму чотири рази (точно).

Скопіювати параметри "Відкрити з" у Finder.app

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

Я запускаю OS X 10.6.6 на MacBook Pro 2011 року 17 "зі свіжою установкою ОС X (тобто я не використовував Migration Assistant.app або резервну копію Time Machine). Проте я синхронізував усі мої налаштування та інші файли, що використовують MobileMe, як я завжди, тому я думаю, що можливо, що файл налаштувань десь викликає проблеми? Я не помітив, чи це відбувалося до або після моєї синхронізації MobileMe.

Як я можу це виправити, щоб відображалася одна програма?


Чи підключені інші диски (зовнішні)? Як машина часу, клон чи щось таке?
Мартін Маркончіні

Добре, коли я працюю, у мене працює машина часу, але коли я опублікував це, у мене не було підключених інших дисків, крім синхронізованого iDisk.

1
Це звичайно дивно, ви можете, будь ласка, швидко створити іншого користувача, увійдіть у систему та побачите, чи має новий користувач таку саму поведінку?
Мартін Маркончіні

@ Martín Marconcini Так, я переконався, що створення абсолютно нового облікового запису користувача все ще проявляє таку саму поведінку.

Відповіді:


23

Оскільки ця проблема трапляється на системному рівні, я не впевнений, чи вплинуть ці кроки на користь.

Я припускаю, що, як ви вже сказали, ви відновили свою базу даних LaunchData. Про всяк випадок:

Онікс

Ви можете спробувати вищевказану версію командного рядка (У терміналі):

/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. Здається, це відбувається для кожного типу файлів.

@Lucas це щось, що я повинен досліджувати, тим більше, що це відбувається в різних облікових записах. Дозвольте повернутися до вас :)
Мартін Марконніні

Дякую. :) Будь ласка, дайте мені знати, чи є щось інше, що я можу надати, можливо, навіть доступ до доступу до екрана / SSH в якийсь момент, якщо ви хочете розібратися.

@Lucas Так, будемо сподіватися, що хтось розумніший щось знайде;)
Martin Marconcini

@Lucas Ділення екрану було б більше, щоб задовольнити мою цікавість;) Але давайте продовжимо розслідування ще кілька днів.
Мартін Маркончіні

8

Після запуску lsregister(як зазначено в https://apple.stackexchange.com/a/10615/24322 ), перезапустіть пошук. (Для цього зробіть опцію + права миша. Клацніть піктограму Finder на доці, а потім виберіть "відновити".)


Дякую. У мене була така ж проблема, і ваша порада була ключем до того, щоб вирішити вищезазначене рішення.
Пітер Рой

Гірський лев ви можете перезапустити Finder, принаймні, я не зміг його знайти за допомогою ctrl + opt + click мишкою. Все, що я зробив, було лише закрити всі вікна 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файлу (або будь-якого іншого файлу, який запускається, коли ви відкриваєте Terminal), і вам більше не доведеться пам'ятати цю згорнуту команду.


5

Я зіткнувся з тією ж проблемою і думав, що буду розумним і біжу

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

під судо.

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


2

Це працювало для мене:

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

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

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