Warum zeigt "Öffnen mit" so viele Instanzen einer App an? [Duplikat]

17

Wenn ich eine Datei auswähle und mit der rechten Maustaste darauf klicke, um die Option "Öffnen mit" zu verwenden, wird eine Liste der wahrscheinlichsten Anwendungen zum Öffnen dieser Datei angezeigt. In meinem Fall werden unter 10.9.5 jedoch drei und manchmal vier Instanzen von angezeigt jede empfohlene Anwendung zum Öffnen dieser bestimmten Datei - siehe angehängten Screenshot. Warum ist das? Gibt es eine Möglichkeit, dies auf eine Instanz pro App zu reduzieren? Wenn das so ist, wie?

Bildbeschreibung hier eingeben

fmz
quelle
Mike, ich bewundere deine Sorgfalt bei der Überwachung, aber meine Frage ist so viel klarer als das angebliche Duplikat. Die Anzahl der Aufrufe ist ein Beleg für die Gültigkeit. Allein aufgrund des Titels würde man nie erfahren, dass es sich um dasselbe Thema handelt.
FMZ
Wir schließen Fragen die ganze Zeit, wenn sie das Problem wiederholen und zeigen auf eine Stelle für alle Antworten. Wäre Ihre Frage keine gute und klare Formulierung des Problems gewesen, hätte ich sie nach dem Verknüpfen vollständig gelöscht. Fühlen Sie sich frei, es zu bearbeiten oder nach Meta zu fragen, ob Sie uns dabei helfen können, eine bessere kanonische Antwort auf die Korrektur von Startdiensten zu finden. Es ist etwas, das es schon lange gibt und ich sehe es nicht so schnell ändern.
bmike
Und wie immer - stellen Sie eine Frage auf Ask Different Meta, wenn Sie nicht sicher sind, warum etwas moderiert wurde oder ein anderes Ergebnis als die aktuelle Situation erzielen möchte. Mehr Augen auf den Faden helfen oft allen - ich eingeschlossen. Danke für die Rückmeldung.
bmike

Antworten:

15

Erstellen Sie LaunchServices neu, um doppelte Einträge im OS X-Menü "Öffnen mit" zu korrigieren

Um dies zu beheben, müssen wir die LaunchServices-Datenbank von OS X zurücksetzen. Wie bei den meisten Aktionen in OS X gibt es mehrere Möglichkeiten, diese Aufgabe auszuführen. Am schnellsten ist es jedoch, einfach einen Terminalbefehl zu verwenden.

Aus diesem Artikel - Kopieren Sie Folgendes in Ihr Terminal

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user
Ruskes
quelle
Entspricht Ihre Lösung der von grgarside? Mein Terminal-Fu ist nicht gut genug, um sie genau zu analysieren, aber sie sehen so aus, als müssten sie ähnlich sein.
Tetsujin
1
@ Tetsujin Sie sind gleichwertig. Die Verschlingung im ersteren dehnt sich auf den letzteren Weg aus.
grg
7

Dies ist ein langjähriger Fehler in OS X. Sie können ihn mit lsregister beheben:

/Sy*/L*/Fr*/CoreS*/F*/L*/S*/lsregister -kill -r -domain local -domain system -domain user
grg
quelle
1
Wären Sie so nett und geben Sie einige Referenzen an, Sie kennen nur ein Standardverfahren für uns alle.
Ruskes
1
@Buscar Ich habe kein bestimmtes Zitat - es ist einer der Befehle, die ich in einer meiner Referenzlisten habe.
grg
2
Heh, sieht aus wie etwas direkt aus Code Golf ;)
Türknauf
4

Zusätzlich zu den anderen Antworten können mehrere Kopien angezeigt werden, die auf anderen Festplatten oder Sicherungskopien vorhanden sind. Eine externe Festplatte, die Sie für Time Machine-Sicherungen verwenden, wird möglicherweise als Option angezeigt, wenn Ihre Anwendungen auf diesem Laufwerk gesichert werden.

Wenn Sie neugierig sind, woher die Apps kommen, öffnen Sie eine der anderen Anwendungen. Klicken Sie dann im Dock mit gedrückter Ctrl-Taste auf das Apps-Symbol und wählen Sie: "Optionen"> "Im Finder anzeigen". Dies zeigt Ihnen, wo sich die Anwendung befindet.

Verwenden Sie die von Buscar 웃 bereitgestellte Befehlszeile, um die LaunchServices Ihres Systems zu aktualisieren.

Geisteskrankheit
quelle
2

Um die Antworten von grgarside und Buscar zu erweitern, müssen Sie in Ihrem .bashrc-Skript einen Alias ​​definieren. Öffnen Sie dazu Terminal.app und bearbeiten Sie mit Ihrem bevorzugten Texteditor (vi, nano, emacs, wenn Sie dazu geneigt sind) .bashrcdie folgende Zeile ganz am Ende:

alias rmdup="/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain user; killall Finder"

Beachten Sie, dass dies rmdupnur ein Aliasname ist , den ich gewählt habe, um mich später leicht an den Befehl zu erinnern (er soll erweitert werden, um doppelte Einträge zu entfernen). Sie können einen beliebigen anderen Aliasnamen auswählen. Achten Sie jedoch darauf, dass Sie keinen Namen verwenden, der bereits für einen anderen Befehl verwendet wurde.

Nachdem Sie Ihre .bashrc-Datei geändert haben, können Sie, wenn Sie wieder doppelte Anwendungen bemerken, einfach Terminal.app öffnen und rmdupoder einen anderen von Ihnen gewählten Namen eingeben, anstatt den vollständigen Pfad zum lsregisterBefehl mit all seinen Argumenten usw.

Mike
quelle