Je sais qu’il existe un panneau de préférences système permettant de modifier manuellement les associations de fichiers dans Mac OS X Leopard. Cependant, je suis curieux de savoir où Leopard stocke réellement ces informations.
Je ne suis pas intéressé par les méthodes pour les changer. Je souhaite connaître le fichier de configuration ou la base de données (comme le registre sous Windows) où ces mappages sont stockés.
Désolé, cette question est ancienne, mais la réponse est vraiment fausse.
Comme le dit toolbear, la réponse de Doug Harris n'est que partiellement correcte.
Le fichier base de données de services de lancement, qui est où tout des informations pour tout les applications connues et les types de documents qu’ils peuvent gérer sont stockés, est situé à l'emplacement suivant:
Lion:
/private/var/folders/**/**/-Caches-/com.Apple.LaunchServices-034501.csstore
Léopard des neiges:
/private/var/folders/**/**/-Caches-/com.Apple.LaunchServices-025501.csstore
Léopard:
/Library/Caches/com.Apple.LaunchServices-023501.csstore
Le dossier /private/var/folders/
est l'endroit où sont stockés les dossiers "sécurisés" et les dossiers temporaires pour chaque utilisateur. Le ** dans le chemin indiqué ci-dessus sera quelque chose comme /dl/dlXWtS5WH9SNboPxxrDIyE+++TI/
, ou une autre séquence de caractères obscure pour éviter de deviner.
Notez que le nom com.Apple.LaunchServices-025501.csstore
est composé de l’ID utilisateur (le mien est 501
) ajouté au suffixe -025
, propre à Snow Leopard. (Dans chaque version de OS X, Apple a tendance à changer le suffixe distinctif utilisé pour éviter les problèmes de compatibilité entre les différentes versions de OS X. Vous remarquerez que Leopard a utilisé -023
). Lion utilise le suffixe -034
.
OS X utilise un système "par défaut" - voici un article de Nice avec beaucoup d'exemples. Les fichiers sont stockés sous ~/Bibliothèque/Preferences, mais il est préférable de manipuler avec la commande "default" plutôt que de modifier directement les plists.
Les associations de fichiers sont stockées sous le domaine com.Apple.LaunchServices. À partir du lien ci-dessus, vous pouvez voir la liste avec cette commande:
defaults read com.Apple.LaunchServices | grep -v LSBundleLocator
Vous trouverez beaucoup plus d’informations sur Launch Services en particulier dans le Guide de programmation des services de lancement
La réponse de @Doug Harris n'est que partiellement correcte. Le système par défaut stocke vos ajouts locaux ou substitutions aux associations de fichiers. Cependant, OS X est livré avec certaines associations par défaut, à l’échelle du système.
Si vous exécutez lsregister -dump
, vous verrez comment Launch Services appelle CoreTypes
et les associations fournies par les applications trouvées.
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Versions/Current/Support/lsregister -dump
Je n'ai pas complètement analysé la sortie. Il peut y avoir d'autres sources indiquées dans ce vidage, mais un grand nombre de ces types proviennent de /System/Library/CoreServices/CoreTypes.bundle
. Il peut y avoir un fichier texte ou plist dans lequel les types sont énumérés. Je crois que les associations proviennent de l'analyse du contenu de * .app dans des emplacements d'application connus. Voici où Launch Services comprend que TextWrangler est un éditeur pour de nombreux types de fichiers:
--------------------------------------------------------------------------------
bundle id: 10928
path: /Applications/TextWrangler.app
name: TextWrangler
identifier: com.barebones.textwrangler (0x8000008d)
...
library items:
--------------------------------------------------------
claim id: 20216
name: TextWrangler text document
rank: Default
roles: Editor
flags: relative-icon-path
icon: Contents/Resources/TextWranglerTextDoc.icns
bindings: .a, .asm, .asp, .bashrc, .c, .c++, .cc, .cfm, .conf, .cp, .cpp, .cshrc, .css, .cxx, .equ, .f, .f77, .for, .ftn, .h, .h++, .hpp, .htm, .html, .inc, .j, .Java, .js, .jsp, .log, .m, .mm, .p, .pas, .pch, .pch++, .php, .php3, .pl, .plist, .plx, .pm, .ppu, .r, .rb, .rez, .rhtml, .rss, .s, .sql, .shtm, .shtml, .tcl, .tcshrc, .text, .txt, .wml, .xhtml, .xml, .xsl, .xslt, .yaml, 'TEXT'
...
Peasy facile! C'est juste que ce n'est pas à la place la plus évidente:
Vous pouvez également installer et installer RCDefaultApp prefpane pour modifier toutes les associations de fichiers au même endroit.