¿Hay alguna manera de definir la aplicación predeterminada para una extensión de archivo a través de un script de Apple, comando de línea de comando (como defaults write [...]
).
Sé que puede cambiarlo manualmente a través del panel de información o usando RCDefaultApp, pero como tengo que configurar muchas máquinas y cuentas de usuario, me gustaría encontrar una manera de automatizar el proceso.
fuente
checking which SDK to use... configure: error: darwin12.0.0 is not a supported system
..avi
archivos en Quicktime Player (usando Finder → Obtener información → Abrir con ... → _Cambiar todo ), luego corríduti -s org.videolan.vlc public.avi all
para usar VLC, luego reinicié LaunchServices , pero parecía no tener ningún efecto. (Consulte la lista de infecciones~/Library/Preferences/com.apple.LaunchServices.plist
, duti convierte la mayoría de las extensiones de nombre de archivo a UTI automáticamente, por lo que generalmente puede especificar los tipos como en.avi
lugar depublic.avi
. Las UTI de algunas extensiones de nombre de archivo dependen de las aplicaciones que están instaladas.Launch Services es responsable de las asociaciones de archivos predeterminadas.
Digamos que quería cambiar todos los archivos de texto para abrir en Sublime Text 2.
Primero necesito el kMDItemCFBundleIdentifier para Sublime Text 2. Puedo usar mdls para obtener esta información:
Puedo averiguar el valor del tipo de contenido para los archivos de texto inspeccionando uno de ellos con mdls :
En este caso, cambiaré la aplicación predeterminada para todos los
public.plain-text
tipos.Para hacer esto escribo:
Si quiero que los cambios surtan efecto, tendré que reiniciar Launch Services de esta manera:
Y para dar crédito donde se debe, aprendí sobre este enfoque de esta pregunta y respuesta de stackoverflow.com: /programming/9172226/how-to-set-default-application-for-specific-file -tipos-en-mac-os-x
fuente
Esta publicación en SuperUser también contiene información útil. Para obtener más información sobre LaunchServices, aquí hay un enlace a la documentación del desarrollador de Apple. Vaya a la sección titulada LSSetDefaultRoleHandlerForContentType (página 48).
fuente