macOS Ventura Problème ouverture fichier depuis Finder / CLI

Laurent421

Membre confirmé
14 Septembre 2022
14
3
45
Bonjour à tous,

j'ai un problème pour ouvrir des fichiers directement depuis le Finder ou depuis le CLI lorsque le répertoire qui contient le nom du fichier a un accent. Est-ce que ça vous le fait aussi ?

Voici comment reproduire le problème :

cd /tmp
mkdir test
echo test > test/sample.txt
open test/sample.txt # marche !
mv test tést
open tést/sample.txt # ne marche pas !

Je suis sous Ventura 13.3.1 / MBA M1

Merci,

Laurent
 
oui effectivement c'est ressemblant. J'ai essayé avec un fichier qui a un accent dans le nom, ça ne marche pas non plus. J'ai posté sur l'assistance Apple quelques précisions. J'ai aussi ouvert un "ticket" sur apple feedback.


Le truc bizarre est qu'apparemment APFS ne normalise pas les noms de fichier (vu dans un article cité dans une discussion que tu m'as envoyé ci-dessus) mais en attendant ça marchait "avant" (je ne suis pas capable de définir "avant", mais je pense que 2 mois sont OK).

Donc, à mon avis, quelque chose s'est passé avec Ventura 13.3.
 
Oui. Je présume que tu renvoyais à un article sur eclecticlight.co.
Le problème s'était posé il y a déjà quelques années et il semblait avoir été résolu. C'est comme s'il resurgissait…

Si la technique ne te fait pas peur (moi, ça me dépasse un peu…), tu peux essayer d'en savoir plus avec ses outils : Mints ou Apfelstrudel.
 
Je vais regarder ses outils.

Ceci étant dit, je ne sais pas si tu as été voir mon post sur le support de Apple mais le comportement est différent en fonction de l'application :
  • open en CLI ne marche dans aucun cas ;
  • l'ouverture depuis le Finder ne marche dans aucun cas ;
  • tenter d'ouvrir le fichier depuis l'application marche des fois (KO avec TextEdit, OK avec Aperçu) ;
  • utiliser "vi" pour ouvrir le fichier marche systématiquement.

Donc j'ai dans l'idée que la manière dont les paramètres sont passés aux applications (le nom du fichier à ouvrir par exemple) sont différents en fonction de "qui" passe les paramètres :
  • open et le Finder passent des paramètres aux applications qui font que ça ne marche jamais. Peut être qu'effectivement ils passent une chaine UTF-8 qui n'est pas bonne.
  • Le Shell (zsh ou bash) passent le nom du fichier à vi de manière correcte vu que vi arrive à ouvrir le fichier (même chose pour cat) ;
  • Par contre le truc bizarre c'est que le menu d'ouverture de fichier (le boite de sélection) doit envoyer la même chaîne aux applications (le nom du fichier) qui par contre l'utilisent différemment (vu que ça marche avec Aperçu mais pas Textedit).

Donc selon moi le problème ne vient pas uniquement du problème de normalisation de APFS.

Laurent
 
  • J’aime
Réactions: baron
Tu as l'air bien plus à l'aise avec tout ça…
Merci de partager tes expériences. Je ne puis t'apporter que mes rêveries…

Le peu que j'aie compris, c'est que l'APFS ne pratique pas de normalisation.
Ce sont donc le système et les applications qui doivent éviter ou régler les problèmes que ça pose ; et de temps à autres, il y a un bout qui coince, un truc qu'on a oublié.

Je serais tenté de penser que c'est d'abord parce que « les fichiers (dossiers) sont mal nommés ».
Ne se pourrait-il pas que ce soit le Terminal, p.ex., qui donne initialement la « mauvaise » forme de "tést" au système de fichiers ? Ou, dans d'autres cas, parce que ce seraient des fichiers qui auraient été nommés dans un autre système de fichiers ?​
Ensuite, face à ce nom mal adapté, certaines applications auraient la routine pour le traiter et d'autres pas.
 
Ou, dans d'autres cas, parce que ce seraient des fichiers qui auraient été nommés dans un autre système de fichiers ? Ensuite, face à ce nom mal adapté, certaines applications auraient la routine pour le traiter et d'autres pas.
Ce que je tentais maladroitement d'expliquer est bien détaillé ici :

Je ne sais pas si ça pourrait s'appliquer à ton cas ?
 
oui alors c'était effectivement un problème de normalisation UTF-8. Sauf que d'habitude ça vient des NAS qui sont souvent sous Linux et ne normalisent pas pareil (les NAS en NFC et les Mac en NFD). Là ce qui est étonnant c'est que zsh qui est fourni avec l'OS n'est pas compatible avec ce même OS ...

Well, une solution "simple" est de cliquer sur le dossier qui pose problème, appuyer sur Entrée 2 fois (la première fois pour éditer le nom du fichier et la 2ieme fois pour l'enregistrer, sans rien changer). Ca va ré-écrire le nom du fichier, cette fois-ci normalisé en NFD (et donc qui marche avec le Mac).

Merci beaucoup de m'avoir mis sur la piste !

Laurent
 
  • J’aime
Réactions: baron
Well, une solution "simple" est de cliquer sur le dossier qui pose problème, appuyer sur Entrée 2 fois (la première fois pour éditer le nom du fichier et la 2ieme fois pour l'enregistrer, sans rien changer). Ca va ré-écrire le nom du fichier, cette fois-ci normalisé en NFD (et donc qui marche avec le Mac).
:merci:

Bravo ! Et merci pour ta persévérance qui aura permis d'éclaircir la question.

(Tu pourrais poster ta « solution simple » dans les commentaires du blog de Howard Oakley cité plus haut. ;) — Voire signaler la chose sur le feedback d'Apple…)
 
  • open et le Finder passent des paramètres aux applications qui font que ça ne marche jamais. Peut être qu'effectivement ils passent une chaine UTF-8 qui n'est pas bonne.
  • Le Shell (zsh ou bash) passent le nom du fichier à vi de manière correcte vu que vi arrive à ouvrir le fichier (même chose pour cat) ;
Au cas où, j'ai vu que dans les préférences du Terminal, il y a un onglet Encodages qui permet d'avoir plus de choix.