¿Cómo puedo modificar la lista de aplicaciones en 'Abrir con ...'?

41

Recientemente fui a abrir un archivo de audio y quería abrirlo en un editor en lugar de un reproductor. Hice clic derecho, pasé el cursor sobre 'Abrir con ...' y me encontré con una lista muy desagradable.

Lista de aplicaciones de audio compatibles

He visto un problema en el pasado donde las aplicaciones tendrán versiones anteriores atascadas en la /Applicationscarpeta con su número de versión adjunto, pero ese no es el caso aquí. A pesar de la duplicidad en esta lista, ninguna aplicación está duplicada /Applicationsni en ningún otro lugar que pueda encontrar en mi sistema.

¿Qué hace que esta lista se llene de duplicados y cómo puedo eliminarlos y asegurarme de que solo la última versión (y funcional) esté lista?

Jason Salaz
fuente
La reconstrucción de la base de datos de Launch Services (que hace ese comando) debería solucionar esto. ¿Hubo algún mensaje de error impreso cuando lo ejecutó?
Robmathers

Respuestas:

45

Las aplicaciones no tienen que vivir /Applications. Si tiene un clon de su sistema montado, eso puede explicar algunos duplicados, pero ciertamente no lo que está observando. La lista de programas para Abrir con ... se mantiene en la base de datos de Launch Services . Si la lista contiene muchos duplicados como el suyo, la base de datos parece que necesita ser reconstruida.

Macworld Hints ofrece una sugerencia sobre cómo puede solucionar esto:

El lsregistercomando, que se encuentra en System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister, puede indicarle a la base de datos que se reinicie. Macworld recomienda ejecutar el comando de esta manera:/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user

Tenga en cuenta que las utilidades como Onyx o Cocktail también pueden restablecer esta base de datos por usted. Tenga en cuenta que Finder no volverá a leer la nueva base de datos, por lo que tendrá que cerrar sesión y volver a iniciarla o emitir un killall Findermensaje si no le importa simplemente matarlo para cualquier usuario en su Mac para evitar un cierre de sesión.

Daniel
fuente
1
Esto ayudará con la duplicación, y me ha funcionado varias veces, así que +1. ¿Tiene algo para ayudar al OP con la segunda parte de la pregunta: cómo EDITAR esta lista?
Redandwhite
1
@Redandwhite En realidad, respondió mis preguntas en la medida en que las quise decir. Al editarlo, realmente quise decir simplemente eliminar los engañados, y lsregister lo hará por mí. Si desea editarlo directamente, hágalo como su propia pregunta . La mejor parte de eso es que obtendrás el representante de votación para ti de esa manera :).
Jason Salaz
Bueno, respondió mis preguntas, pero desafortunadamente eso no resolvió el problema . La lista permanece idéntica después de ejecutar el comando dado en la respuesta. La imagen vinculada en este comentario muestra que estoy bastante seguro de que solo hay una copia del paquete de la aplicación Spotify en mi sistema a pesar de la cantidad que se muestra en la lista.
Jason Salaz
2
Me retracto. Parece que el proceso solo tardó un tiempo en ejecutarse, pero vi 'Abrir con ...' no hace 2 minutos. La lista está limpia de nuevo. ¡Hurra!
Jason Salaz
¡Hurra! Gustoso de trabajar para ti. He estado cavando y no he encontrado una mejor respuesta, así que me alegra que haya funcionado.
Daniel
7

Una vez que haya revisado el foco para asegurarse de que realmente no tiene una unidad de copia de seguridad u otro volumen con copias duplicadas de las aplicaciones (en cuyo caso, Finder le muestra todas las aplicaciones que sabe que pueden abrir el archivo), intente ejecutando un comando para reconstruir la base de datos de servicios de lanzamiento:

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

Luego cierre sesión y vuelva a iniciar sesión. Esto debería reconstruir la base de datos de Launch Services para OS X, eliminando todas las entradas duplicadas.

daviesgeek
fuente
¡Excelente! Gustoso de trabajar para ti.
daviesgeek
6

CleanOpenWith es una aplicación que creé para limpiar el menú Abrir con ...

CleanOpenWith es de código abierto y gratuito. La aplicación automatiza estos pasos :

  1. Terminal abierto: Aplicaciones / Utilidades / Terminal.app
  2. Escriba el siguiente comando:

    /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user
    
  3. Espera a que se complete ese comando

  4. Si no hay error, continúe con el último paso, reiniciando el Finder
  5. Reiniciar Finder no requiere que reinicies tu Mac. Simplemente presione Control+ Optionmientras hace clic en el icono del Finder en el Dock, seleccione Relanzar y listo.
Paquet Stephane
fuente
1

Me acabo de morder en una nueva instalación de Mountain Lion bastante limpia, donde tenía varias versiones de aplicaciones y creo que tengo una idea viable de cómo surgieron los duplicados en mi caso.

Ejecuté este Air en modo clamshell y probablemente lo tiré mientras estaba dormido y la base de datos de servicios de inicio no se limpió para las aplicaciones que estaban montadas en mi disco externo conectado a mi pantalla de cine.

Tengo una unidad de 3 TB con varias instalaciones de arranque de Lion y Mountain Lion que se corresponden exactamente con la cantidad de aplicaciones de sistema y de terceros que tengo que se espera que registren para abrir un archivo jpeg:

Abrir con...

Al igual que con las otras respuestas: forzar a lsregister a matar la base de datos y patear a Finder me parchó en menos de 20 segundos

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain user -domain local -domain system
killall Finder
bmike
fuente
Este es un tema antiguo, pero me encontré con el mismo problema. Basta con añadir carpetas de la aplicación de su unidad externa al centro de atención lista de exclusión: superuser.com/a/349054/82434
evan.bovie
@ emb1995 Este problema se produce incluso cuando solo tiene una unidad debido a un error en la forma en que la tienda de aplicaciones descarga actualizaciones. No tengo una buena explicación de por qué Chrome y otros archivos que no son MAS están duplicados, por lo que quizás haya más de un error o una interacción desagradable una vez que comienza a corromper las cosas en la base de datos y el daño se extiende.
bmike
Sí. Sé sobre el error, pero parecía que todo funcionaba según lo previsto para usted, es un inconveniente para personas como nosotros con múltiples instalaciones. Podría buscar lsregisteralguna vez la base de datos y otro código relacionado, pero tal vez este problema se solucione en Mavericks. No estaba experimentando ese problema con el GM o los DP. Todavía no he instalado la versión pública. (extraño ... no puedo mencionarlo en mi comentario)
evan.bovie
0

Me he encontrado con el problema donde hay copias de seguridad de mis aplicaciones en un disco externo. Si tengo esas unidades indexadas o lancé aplicaciones desde esos controladores, aparecerán en la lista.

CDK
fuente
Sí, tengo un disco de respaldo Timemachine conectado. ¿Cómo excluir esas viejas aplicaciones del menú?
Ivanov
2
@CDK, esto suena más como un comentario que como una respuesta.
HairOfTheDog
0

Sé que este es un hilo viejo, pero para mí, lo que aclaró esto fue "Forzar Salir" y luego relanzar el Finder.

El problema ocurrió en un iMac de 3 días totalmente actualizado.

Vesper
fuente