Jak usunąć zduplikowane elementy menu kontekstowego „Otwórz za pomocą” w Finder.app?

50

Z jakiegokolwiek powodu menu kontekstowe „Otwórz za pomocą” w Finderze zawsze wyświetla dokładnie każdą aplikację cztery razy (dokładnie).

Zduplikuj opcje „Otwórz za pomocą” w Finder.app

Czytałem (i próbowałem) odbudowę bazy danych Launch Services, aby przywrócić menu kontekstowe do stanu początkowego, ale wydaje się, że nic nie działa. Użyłem również Onyx.app do czyszczenia pamięci podręcznej użytkownika i systemu, ale wciąż mam cztery powtórzenia każdej aplikacji w ramach usługi „Otwórz za pomocą”. Ponownie uruchomiłem system kilka razy, aby upewnić się, że nie jest to tymczasowe uszkodzenie listy.

Używam OS X 10.6.6 na 17-calowym MacBooku Pro 2011 z nową instalacją OS X (tzn. Nie korzystałem z Migration Assistant.app ani kopii zapasowej Time Machine). Zsynchronizowałem jednak wszystkie swoje preferencje i inne pliki korzystające z MobileMe, jak zawsze, więc wyobrażam sobie, że gdzieś plik preferencji powoduje problemy? Nie zauważyłem, czy dzieje się to przed, czy po synchronizacji MobileMe.

Jak mogę to naprawić, aby wyświetlała się jedna aplikacja?

bmike
źródło
Czy masz jakieś inne napędy (zewnętrzne) podłączone? Jak wehikuł czasu, klon czy coś takiego?
Martin Marconcini,
Cóż, kiedy jestem w pracy, mam wehikuł czasu, ale kiedy to opublikowałem, nie miałem podłączonych żadnych innych napędów, z wyjątkiem zsynchronizowanego iDisku.
1
To z pewnością dziwne, czy możesz szybko utworzyć innego użytkownika, zalogować się i sprawdzić, czy nowy użytkownik zachowuje się tak samo?
Martin Marconcini
@ Martín Marconcini Tak, zweryfikowałem, że utworzenie zupełnie nowego konta użytkownika nadal zachowuje się tak samo.

Odpowiedzi:

23

Ponieważ ten problem występuje na poziomie systemu, nie jestem pewien, czy te kroki przyniosą jakąkolwiek różnicę.

Zakładam, że, jak powiedziałeś, odbudowałeś bazę danych LaunchDatabase. W razie czego:

Onyks

Możesz wypróbować powyższą wersję wiersza poleceń (w terminalu):

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

Dodatkowo, Domyślne aplikacje to ładne i darmowe okienko Preferencji systemowych do kontrolowania domyślnych aplikacji (na podstawie rozszerzenia, typu itp.). Możesz stamtąd zobaczyć i powiązać wszystko. Powinno to przynajmniej dać ci wskazówkę, czy problem dotyczy stowarzyszenia, czy też celownik robi coś fajnego.

Kiedy to się zaczęło? Czy coś zainstalowałeś? Widzę, że masz Xcode 4, czy dostałeś go ze sklepu App Store, czy masz profil programisty i masz go bezpośrednio pobrać? Czy zdarzyło się to wcześniej? Czy dzieje się tak w przypadku każdego typu pliku, czy tylko niektórych plików?

Martin Marconcini
źródło
Tak, kilka razy próbowałem uruchomić to polecenie. To nie wydaje się mieć żadnego efektu. Spojrzałem również na aplikacje domyślne. Nic tak naprawdę nie wyglądało inaczej. To zaczęło się dziać natychmiast po tym, jak dostałem mojego MacBooka Pro mniej niż tydzień temu. Zainstalowałem mój typowy zestaw aplikacji, ale nic, co nie jest głównym nurtem (iWork, Photoshop itp.). Xcode 4 dostałem z ADC, a nie z App Store. Wydaje się, że dzieje się tak dla każdego typu pliku.
@Lucas to jest coś, co muszę zbadać, zwłaszcza że dzieje się to na różnych kontach. Wrócę do ciebie :)
Martin Marconcini
Dziękuję Ci. :) Daj mi znać, jeśli mogę coś jeszcze zapewnić, być może nawet udostępnianie ekranu / dostęp SSH w pewnym momencie, jeśli chcesz się wyśmiewać.
@Lucas Tak, miejmy nadzieję, że ktoś mądrzejszy coś znajdzie;)
Martin Marconcini
@Lucas Udostępnianie ekranu bardziej zaspokoiłoby moją ciekawość;) Ale kontynuujmy badanie jeszcze przez kilka dni.
Martin Marconcini
8

Po uruchomieniu lsregister(jak wspomniano w https://apple.stackexchange.com/a/10615/24322 ) uruchom ponownie wyszukiwarkę. (Aby to zrobić, wykonaj Option + prawy przycisk myszy Kliknij ikonę Findera w doku, a następnie wybierz „uruchom ponownie”).

Munas
źródło
Dzięki. Miałem ten sam problem, a twoja wskazówka była kluczem do uruchomienia powyższego rozwiązania.
Peter Roe,
Mountain Lion możesz ponownie uruchomić Findera, przynajmniej nie mogłem go znaleźć za pomocą klawiszy Ctrl + Opt + kliknięcia myszą. Wszystko, co zrobiłem, to po prostu zamknięcie wszystkich okien Findera i kliknięcie ikony Findera, aby ponownie uruchomić.
7

Aby uzyskać szybszy i łatwy do zapamiętania sposób, możesz alias polecenia pokazanego w górnej odpowiedzi w następujący lscleanupsposób:

# 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"`

Dodaj to do swojego .aliasespliku (lub dowolnego innego pliku, który uruchomi się po otwarciu terminalu), a już nigdy nie będziesz musiał pamiętać tego zawiłego polecenia.

Jan
źródło
5

Wpadłem na ten sam problem i pomyślałem, że będę mądry i ucieknę

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

pod sudo.

To nie naprawiło rzeczy. Problem został rozwiązany dopiero po uruchomieniu go z uprawnieniami do konta użytkownika.

Trane Francks
źródło
2

To działało dla mnie:

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

Jest to absolutne minimum - żadnych dodatkowych poleceń, kliknięć myszą, aliasów ani aplikacji innych firm. Pożyczyłem go z innych odpowiedzi, ale uczyniłem go czytelnym w mniej niż 80 kolumnach!

David J.
źródło