¿Por qué "Abrir con" muestra tantas instancias de una aplicación? [duplicar]

17

Cuando selecciono un archivo y hago clic derecho sobre él para usar la opción "Abrir con", veo una lista de las aplicaciones más probables para abrir ese archivo, pero en mi caso, ejecutando 10.9.5, veo tres y, a veces, cuatro instancias de cada aplicación recomendada para abrir ese archivo en particular; vea la captura de pantalla adjunta. ¿Por qué es esto? ¿Hay alguna manera de reducir eso a una instancia por aplicación? ¿Si es así, cómo?

ingrese la descripción de la imagen aquí

fmz
fuente
Mike, admiro tu diligencia en el monitoreo, sin embargo, mi pregunta es mucho más clara que el supuesto duplicado. La cantidad de puntos de vista es testimonio de su validez. Basándote solo en el título, nunca sabrías que era el mismo tema.
fmz
Cerramos las preguntas todo el tiempo cuando reafirman el problema y señalamos un lugar para todas las respuestas. Si su pregunta no hubiera sido una buena y clara reformulación del problema, la habría eliminado por completo después de vincularla. Siéntase libre de editarlo o preguntar en meta si puede ayudarnos a señalar una mejor respuesta canónica sobre cómo corregir los servicios de lanzamiento. Es algo que ha existido durante mucho tiempo y no veo que cambie pronto.
bmike
Y, como siempre, haga una pregunta en Ask Different Meta si no está seguro de por qué algo fue moderado o si desea tener un resultado diferente al de la situación actual. Más ojos en el hilo a menudo ayudan a todos, incluido yo. Gracias por la respuesta.
bmike

Respuestas:

15

Reconstruir LaunchServices para corregir entradas duplicadas en el menú 'Abrir con' de OS X

Para solucionar esto, necesitamos restablecer la base de datos LaunchServices de OS X. Como es el caso con la mayoría de las acciones en OS X, hay varias formas de realizar esta tarea, pero la más rápida es simplemente usar un comando de Terminal.

De ese artículo: copia siguiendo a tu Terminal

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user
Ruskes
fuente
¿Es su solución equivalente a la de Grgarside? Mi Terminal-fu no es lo suficientemente bueno como para analizarlos con precisión, pero parece que deberían ser similares.
Tetsujin
1
@Tetsujin Son equivalentes. El globbing en el primero se expande al último camino.
grg
7

Este es un error de larga data en OS X. Puede solucionarlo con lsregister:

/Sy*/L*/Fr*/CoreS*/F*/L*/S*/lsregister -kill -r -domain local -domain system -domain user
grg
fuente
1
Sería tan amable y proporcionaría algunas referencias, ya conoce un procedimiento estándar para todos nosotros.
Ruskes
1
@Buscar No tengo una cita específica: es uno de esos comandos que tengo en una de mis listas de referencias.
grg
2
Je, se ve como algo directamente de Código de golf ;)
Pomo
4

Además de las otras respuestas, puede mostrar múltiples copias que existen en otros discos duros o copias de seguridad. Un disco duro externo que use para las copias de seguridad de Time Machine puede aparecer como una opción si sus aplicaciones están respaldadas en esa unidad.

Si tiene curiosidad de dónde provienen las aplicaciones, abra una de las otras aplicaciones. Luego, desde el Dock, controle + haga clic en el ícono de aplicaciones y elija: Opciones> "Mostrar en Finder". Esto le mostrará dónde está la aplicación.

Use la línea de comando proporcionada por Buscar 웃 para actualizar los Servicios de lanzamiento de su sistema.

Travesura Mental
fuente
2

Para ampliar las respuestas proporcionadas por grgarside y Buscar, puede hacer que sea un poco menos doloroso definiendo un alias en su script .bashrc. Para hacerlo, abra Terminal.app y edite con su editor de texto favorito (vi, nano, emacs si así lo desea) .bashrcpara agregar la siguiente línea al final:

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

Tenga en cuenta que rmdupes solo un nombre de alias que he elegido para recordar fácilmente el comando más tarde (está destinado a expandirse para 'eliminar duplicados'). Puede elegir cualquier otro nombre de alias que desee, solo tenga cuidado de no usar un nombre ya usado para otro comando.

Después de haber cambiado su .bashrc, cuando vuelve a notar aplicaciones duplicadas, puede abrir Terminal.app y escribir rmdupo cualquier otro nombre que elija, en lugar de la ruta completa al lsregistercomando con todos sus argumentos, etc.

Miguel
fuente