Association appli/fichier

33 réponses
Avatar
mv
Hello,

Voilà ce que je viens de constater au sujet des associations entre
applications et fichiers... ce fameux launchservices qui nous prend la
tête depuis quelques jours.

2 fichiers semblent concernés par ces associations :
- le fichier .csstore créé par le système dans un sous-sous-dossier
(nommé "0") du dossier /var/folders
Ce fichier semble plutôt "générique" : il est créé par le système en
fonction des applis qu'il trouve sur l'ordi et fait des associations
appli/fichier disons : standard.
- le 2ème fichier est plus spécifique à l'utilisateur : c'est le fichier
com.apple.launchservices.secure.plist situé dans le dossier
/Users/MV/Library/Preferences/com.apple.LaunchServices

C'est ce fichier qui semble battre de l'aile chez certains...

J'ai, par exemple, demandé à ce que tous les fichiers .txt créés avec
TextEdit soient ouverts avec BBEdit et je me suis aperçu qu'une nouvelle
clé apparaissait dans le fichier ci-dessus :

<dict>
<key>LSHandlerContentType</key>
<string>public.plain-text</string>
<key>LSHandlerPreferredVersions</key>
<dict>
<key>LSHandlerRoleAll</key>
<string>-</string>
</dict>
<key>LSHandlerRoleAll</key>
<string>com.barebones.bbedit</string>
</dict>

Je suis revenu à la situation antérieure en redéfinissant TexEdit comme
appli par défaut et la clé n'a pas disparu mais est devenue :

<dict>
<key>LSHandlerContentType</key>
<string>public.plain-text</string>
<key>LSHandlerPreferredVersions</key>
<dict>
<key>LSHandlerRoleAll</key>
<string>-</string>
</dict>
<key>LSHandlerRoleAll</key>
<string>com.apple.textedit</string>
</dict>

Mieux : j'ai édité ce fichier et j'ai modifié manuellement la ligne

<string>com.apple.textedit</string>
en :
<string>com.barebones.bbedit</string>

J'ai relancé le Finder et BBEdit est redevenu l'appli par défaut pour
les fichiers .txt

J'ai testé de la même manière avec les fichiers de type .plist et même
résultats probants que précédemment.

Donc les associations définies par l'utilisateur sont bien à chercher
dans ce fichier.

Si vous voulez qu'il ne bouge plus... verrouillez-le !
--
Michel Vauquois - <http://michelvauquois.fr>
Nouveau : <http://art-doise-4.michelvauquois.free-h.fr>
et <http://art-doise-5.michelvauquois.free-h.fr>

10 réponses

1 2 3 4
Avatar
Eckard
Le 27/03/2018 à 00:08, MV a écrit :
Hello,
Voilà ce que je viens de constater au sujet des associations entre
applications et fichiers... ce fameux launchservices qui nous prend la
tête depuis quelques jours.

Merci pour cette belle synthèse, Michel.
Je vais m'en occuper demain, la tête reposée.
Une première question: pour éditer le fichier
com.apple.launchservices.secure.plist on a besoin d'un éditeur de plist
et il me semble que tu sers de BBEdit pour cela.
Ça me fait un peu bizarre car c'est justement avec TextWrangler et son
remplaçant BBEdit que mes ennuis ont commencé.
Avatar
mv
Suite :
Donc les associations définies par l'utilisateur sont bien à chercher
dans ce fichier.

J'ai également testé avec les fichiers .jpg qui, par défaut, s'ouvrent
chez moi avec Aperçu (Preview) et rien ne l'indique dans le fichier
com.apple.launchservices.secure.plist.
Je modifie l'appli par défaut en choisissant GraphicConverter.
Apparaît dans le fichier com.apple.launchservices.secure.plist la partie
suivante :
<dict>
<key>LSHandlerContentType</key>
<string>public.jpeg</string>
<key>LSHandlerPreferredVersions</key>
<dict>
<key>LSHandlerRoleAll</key>
<string>-</string>
</dict>
<key>LSHandlerRoleAll</key>
<string>com.lemkesoft.graphicconverter</string>
</dict>
Je change le "com.lemkesoft.graphicconverter" en "com.apple.preview" et
c'est Aperçu qui redevient l'appli par défaut pour les .jpg après
relance du Finder.
NB Après avoir remis GraphicConverter comme appli par défaut, j'ai
effacé le bloc ci-dessus et Aperçu est redevenu l'appli par défaut
(toujours après relance du Finder).
NB2 Si vous supprimez le fichier com.apple.launchservices.secure.plist
pour qu'il retourne à un état standard, il est inutile de redémarrer la
machine : relancer le Finder est suffisant et le fichier est reconstitué
au bout d'un certain temps plus ou moins long.
--
Michel Vauquois - <http://michelvauquois.fr>
Nouveau : <http://art-doise-4.michelvauquois.free-h.fr>
et <http://art-doise-5.michelvauquois.free-h.fr>
Avatar
mv
Eckard a soumis à notre sagacité :
Une première question: pour éditer le fichier
com.apple.launchservices.secure.plist on a besoin d'un éditeur de plist
et il me semble que tu sers de BBEdit pour cela.

Oui. BBEdit n'est bien entendu pas le seul mais il me sert à tellement
de choses que je n'ai pas l'utilité d'un éditeur de plist plus pointu
tel que PlistEdit Pro chez
<https://www.fatcatsoftware.com/plisteditpro/>.
Ça me fait un peu bizarre car c'est justement avec TextWrangler et son
remplaçant BBEdit que mes ennuis ont commencé.

Je me rappelle très bien sauf que je suis convaincu que les problèmes ne
viennent pas de là. Mais tu fais comme tu veux !
Cordialement.
--
Michel Vauquois - <http://michelvauquois.fr>
Nouveau : <http://art-doise-4.michelvauquois.free-h.fr>
et <http://art-doise-5.michelvauquois.free-h.fr>
Avatar
benoit
Eckard wrote:
Le 27/03/2018 à 00:08, MV a écrit :
Hello,
Voilà ce que je viens de constater au sujet des associations entre
applications et fichiers... ce fameux launchservices qui nous prend la
tête depuis quelques jours.
Merci pour cette belle synthèse, Michel.
Je vais m'en occuper demain, la tête reposée.
Une première question: pour éditer le fichier
com.apple.launchservices.secure.plist on a besoin d'un éditeur de plist
et il me semble que tu sers de BBEdit pour cela.
Ça me fait un peu bizarre car c'est justement avec TextWrangler et son
remplaçant BBEdit que mes ennuis ont commencé.

Et virer les préférences des deux pour voir ?
--
Pense à l'étiquette qu'une fois les vendanges faites.
Avatar
mv
Suite :
Donc les associations définies par l'utilisateur sont bien à chercher
dans ce fichier.

Dans la préf système Général, on peut définir le butineur de son choix
comme navigateur par défaut : là-aussi, la modification du navigateur
par défaut est enregistrée dans le fichier
com.apple.launchservices.secure.plist
Pour moi ça ne fait plus aucun doute : le fichier .csstore sur lequel je
me suis focalisé ces derniers jours n'est certes pas anodin et il est
utile de le connaître mais ce fichier
com.apple.launchservices.secure.plist est primordial.
Bonne soirée.
--
Michel Vauquois - <http://michelvauquois.fr>
Nouveau : <http://art-doise-4.michelvauquois.free-h.fr>
et <http://art-doise-5.michelvauquois.free-h.fr>
Avatar
mv
Suite :
Donc les associations définies par l'utilisateur sont bien à chercher
dans ce fichier.

Autre question que je crois avoir résolue, c'est le pourquoi d'un
fichier com.apple.LaunchServices-175-v2.csstore sous Sierra et
com.apple.LaunchServices-221-v2.csstore sous High Sierra par
utilisateur.
La réponse est plutôt triviale : chaque utilisateur peut disposer
d'applications "privées", par exemple en les installant dans le dossier
~/Applications/.
Lors de l'ouverture d'une session, le système scanne le disque et prend
note dans ce fichier des applis disponibles pour l'utilisateur...
Si A et B sont 2 utilisateurs et si XXX.app est une appli installée dans
le dossier des applications de B, elle n'est pas répertoriée dans le
.csstore de A mais l'est dans celui de B (j'ai vérifié) : rien de bien
surprenant en réalité.
Seule chose que je ne comprends toujours pas : pourquoi ces .csstore
sont-ils situés dans /var/folders ie en dehors des dossiers utilisateurs
puisqu'ils sont (sous Sierra en tout cas) créés et/ou mis à jour lors de
l'ouverture d'une session et pas en amont.
Si quelqu'un a une idée ?
--
Michel Vauquois - <http://michelvauquois.fr>
Nouveau : <http://art-doise-4.michelvauquois.free-h.fr>
et <http://art-doise-5.michelvauquois.free-h.fr>
Avatar
mv
Suite :
Donc les associations définies par l'utilisateur sont bien à chercher
dans ce fichier.

Putain que c'est compliqué !
J'ai verrouillé le fichier com.apple.launchservices.secure.plist.
Je choisis un fichier .jpg et je demande que ce soit GraphicConverter
qui les ouvre et non plus Aperçu : le système fait ce que je lui
demande...
Je vérifie le fichier ci-dessus : c'est bien toujours Aperçu qui est
supposé ouvrir les .jpg... et pourtant chaque ouverture d'un .jpg lance
GC...
Je redémarre : cette fois, Aperçu est à nouveau correctement associé aux
.jpg.
Il est donc possible de passer outre le fichier .plist mais
temporairement, juste le temps d'une session ou jusqu'au prochain
redémarrage.
Est-ce ce que provoquerait Firefox ? J'attends les réponses d'Eckard
pour en savoir plus.
--
Michel Vauquois - <http://michelvauquois.fr>
Nouveau : <http://art-doise-4.michelvauquois.free-h.fr>
et <http://art-doise-5.michelvauquois.free-h.fr>
Avatar
Eckard
Le 27/03/2018 à 17:20, MV a écrit :
Suite :
Il est donc possible de passer outre le fichier .plist mais
temporairement, juste le temps d'une session ou jusqu'au prochain
redémarrage.

C'est ce que je pense et c'est ce que je t'ai aussi répondu à 16:54 dans
l'autre fil où tu m'as demandé de faire une série de tests.
Lors de me tests de ce matin où j'ai à nouveau provoqué la dissociation
fichiers texte/TextEdit j'ai pu observer des modifications de mon
fichier .csstore mais aucune modification du fichier .plist.
Est-ce ce que provoquerait Firefox ? J'attends les réponses d'Eckard
pour en savoir plus.

je ne sais pas par quel mécanisme ce bug de Firefox influence
l'association fichier/appli sur un Mac et j'avoue que les lignes de code
dans le rapport de bug sont un peu au-dessus de mon horizon.
Mais je crois qu'il peut le faire de façon temporaire (via un cache dans
private/var/ ?) sans modifier le fichier
com.apple.launchservices.secure.plist lui-même.
Avatar
JPP
In article <5aba72fd$0$12250$,
Eckard wrote:
je ne sais pas par quel mécanisme ce bug de Firefox influence
l'association fichier/appli sur un Mac

Là est bien le problème : macOS , sa Sandbox, son Gatekeeper, son SIP et
je ne sais quoi d'autre sensés "améliorer" la sécurité du système
devraient empêcher toute modification des paramètres/choix utilisateur
(ici : association application/type de fichier), mais ce n'est pas le
cas, loin de là.
Craig Federighi nous a promis un High sierra "Snow Leopard like", aussi
sûr et stable : il a du boulot sur la planche !
Ce n'est pas en faisant converger macOS vers iOS qu'il va y arriver et
pourtant, c'est ça la ligne directrice essentielle d'Apple puisque ce
qui se vend et rapporte, c'est iOS et dérivés.
Un desktop, un notebook, c'est autre chose qu'un smartphone ou une
tablette.
Une 2CV et un char Leclerc, ça roule, mais ce n'est pas la même chose ...
Avatar
mv
Eckard a soumis à notre sagacité :
C'est ce que je pense

Je ne veux pas que tu penses, je veux que tu me dises ! ;-)
Ah ! Putain ! Si j'avais ce bug (mais pourquoi ne l'ai-je point ?),
j'aurais vite fait les réponses précises à mes questions précises en
particulier celle à laquelle tu ne me réponds pas clairement ni ici ni
ailleurs : si le bug apparaît, est-ce qu'un simple redémarrage le fait
disparaître (même provisoirement), oui ou non ? Je dis bien : sans rien
faire d'autre que redémarrer !
Cordialement.
--
Michel Vauquois - <http://michelvauquois.fr>
Nouveau : <http://art-doise-4.michelvauquois.free-h.fr>
et <http://art-doise-5.michelvauquois.free-h.fr>
1 2 3 4