4 votes

Comment empêcher TextEdit.app d'ajouter des attributs étendus ?

Je n'ai découvert que récemment (oui, je suis en retard) que TextEdit.app ajoute des attributs étendus à tous les fichiers que j'ouvre dans cette application. J'avais découvert cela lorsque j'avais ouvert par hasard un script shell dedans et qu'il a été mis en quarantaine et n'a pas voulu s'exécuter.

J'ai rapidement appris que je pouvais supprimer des attributs avec l'une des deux méthodes suivantes xattr -c file ou des attributs individuels avec xattr -d attrname file mais cela est fastidieux. Il se trouve que j'aime bien TextEdit (qui, je le sais, n'est pas apprécié des professionnels). J'ai d'autres éditeurs pour éditer le code, donc je ne cherche pas à obtenir des suggestions d'éditeurs alternatifs. Ce que j'aimerais savoir, c'est s'il existe un moyen d'empêcher l'ajout d'attributs étendus aux fichiers ?

J'ai essayé defaults write com.apple.LaunchServices LSQuarantine -bool false mais ça arrive quand même.

Ou peut-être que je suis trop pointilleux ? À part l'attribut de quarantaine, est-ce que les autres éléments peuvent gêner les autres utilisateurs sur les systèmes non-MacOS, par exemple lorsqu'ils sont dans un repo github ou déployés sur d'autres systèmes ?

Mes principales préoccupations sont d'abord : obtenir un drapeau de quarantaine qui a été ouvert pour une modification rapide/simple, et ensuite : les modifications des fichiers texte (comme README.txt) qui sont inclus dans un dépôt de codage social (comme github). Mon désir d'éviter les attributs étendus est le même que la raison pour laquelle je supprime les fichiers .DS_Store avant de livrer les modifications à un dépôt - ils sont spécifiques au système et sont autrement inutiles (ou peut-être des obstacles ?) pour les autres. TextEdit est pour l'édition de texte. Les scripts et les READMEs sont des fichiers texte. Je l'utilise également pour toutes sortes d'autres fichiers texte que je traite en ligne de commande, comme les fichiers fasta et fastq. TextEdit (bien qu'il manque définitivement de fonctionnalités que d'autres éditeurs ont) a des fonctionnalités utiles que d'autres éditeurs n'ont pas ou ne font pas bien, et je l'ai utilisé depuis le début et continuerai à l'utiliser malgré la préférence ou les opinions alternatives des autres. Cela n'est devenu un problème que l'autre jour, lorsque pour une raison quelconque, j'ai été incapable d'exécuter un scripts que j'avais exécuté et ensuite ouvert dans TextEdit pour faire un changement très mineur, et ensuite j'ai trouvé que je ne pouvais pas l'exécuter à nouveau.

Mais peut-être ai-je tort quant à ma principale préoccupation ? Peut-être que ce n'est même pas TextEdit qui a ajouté l'attribut de quarantaine, car je n'ai pas réussi à reproduire ce problème. Est-ce que TextEdit ajoute l'attribut de quarantaine, et si oui, quand ?

J'ai écrit un service d'automatisation que je peux utiliser pour supprimer les attributs des fichiers sélectionnés, mais s'il existe un moyen de modifier le comportement de TextEdit, ce serait préférable. Sinon, je vais probablement aussi ajouter une commande xattr à mon wrapper checkin.

0 votes

Quelle méta da a fait texted it écrire ?

0 votes

@user151019 "com.apple.TextEncoding com.apple.lastuseddate#PS com.apple.metadata:_kMDItemUserTags"

0 votes

Lequel de ces éléments pose un problème ?

3voto

benwiggy Points 21125

TextEdit ne devrait pas (et ne le fait pas) normalement ajouter des attributs de quarantaine aux fichiers qu'il enregistre. Il est possible que MacOS ajoute la quarantaine pour une autre raison. (Où enregistrez-vous ?)

Cependant, il existe d'autres attributs étendus, que TextEdit peut ajouter au cours de son fonctionnement normal sous MacOS.

Normalement, les attributions étendues ne sont pas copiées sur des choses comme github, et sont simplement inutilisées par les autres plateformes, même si elles sont présentes.

Je suis également d'accord avec bmike. Si une application a un comportement que vous n'aimez pas, utilisez une autre application.

0 votes

Merci. C'est rassurant. Savez-vous ce que fait ajouter l'attribut de quarantaine ? Je suppose que Safari le fait, mais je me souviens que le script s'est exécuté initialement, puis inexplicablement pas dans mon cas. Ce n'est qu'en googlant l'erreur que j'ai appris l'existence de l'attribut quarantaine, et des attributs étendus en général. J'aimerais pouvoir me souvenir de l'ordre des événements, mais à l'époque, je n'avais aucune raison d'être aussi attentif au processus que j'utilisais.

0 votes

Si ce que vous dites est vrai, alors TextEdit fait ce que je veux (ou plutôt, ne fait pas ce que je ne veux pas à un degré qui m'importe). Je suis toujours curieux de savoir ce qui applique l'attribut de quarantaine, quand et dans quelles circonstances. La question est donc la suivante : que signifie "normalement" dans votre réponse ?

0 votes

Normalement, les attributs de quarantaine sont ajoutés aux fichiers entrants : depuis Safari, et éventuellement via des connexions de fichiers réseau. Toutefois, notez qu'il existe de nombreux autres attributs étendus que l'éditeur de texte DOIT ajouter.

0voto

WGroleau Points 3272

Apple a reconnu que c'est un problème sur lequel elle travaille avec Monterey. En dehors de l'utilisation d'un autre éditeur, une solution de contournement pas très satisfaisante est un script enveloppant :

open -e -W $1
xattr -c $1

Malheureusement,

  • il n'exécutera pas la ligne de nettoyage tant que vous n'aurez pas quitté TextEdit (en fermant tous les documents ouverts).
  • Le double-clic sur un document ne fonctionne pas.
  • Vous ne pouvez pas changer l'ouvreur par défaut en un script dans la fenêtre GetInfo.

MISE À JOUR : Il semble que ce problème soit corrigé dans la version 12.3. Cependant,

  • Cela n'a pas été mentionné dans les notes de mise à jour
  • Le contact AppleCare pour mon cas n'a pas pris la peine de faire un suivi.
  • le rapport de bogue est toujours ouvert

1 votes

Pouvez-vous fournir un lien vers l'endroit où Apple a reconnu ce fait ?

0 votes

Non, c'était dans un appel téléphonique d'AppleCare.

-2voto

Oskar Points 1242

Oui, je pense que vous êtes trop pointilleux. J'empêcherais TextEdit de modifier un fichier en arrêtant de l'ouvrir dans TextEdit si vous êtes sûr que c'est le coupable. Nous n'avons pas ce genre de problème à mon travail parmi les administrateurs et les développeurs Mac, donc peut-être qu'un cas de test reproductible nous aidera à vous aider.

Je comprends que cela puisse être controversé de dire : ne changez pas l'application, changez votre processus, mais ma réponse à ce dilemme est la suivante n'ont pas le dilemme en premier lieu. Acceptez TE pour ce qu'il est, pas pour ce que vous voulez qu'il soit.

Je serais assez surpris de ne pas trouver quelque chose d'autre dans votre flux de travail qui soit mieux adapté pour résoudre le dilemme que vous posent les attributs de votre fichier (ce qui n'est pas tout à fait clair pour moi d'après votre version initiale de la question).

Pour aller plus loin, j'utilise cet élément de quarantaine (et toutes les autres métadonnées que les applications comme TE attachent aux fichiers) comme une fonctionnalité et non comme un bug ou quelque chose à éviter.

Si TextEdit vous cause des soucis, je vous recommande le logiciel gratuit BBEdit y VSCode afin que vous puissiez tester des éditeurs plus puissants - les deux ont une intégration de la ligne de commande afin que vous puissiez les définir comme votre éditeur ou ouvrir des fichiers facilement, puis vous pouvez également changer les services de lancement pour ouvrir des fichiers dans ces applications selon vos préférences, en utilisant uniquement Text Edit lorsque vous voulez ce qu'il fait.

J'utilise l'attribut quarantaine intentionnellement lorsque je veux livrer quelque chose et que je sais que mes destinataires d'un fichier/script ont choisi d'exécuter le script / empêcher la falsification en vol, etc....

BBEdit est également disponible sur le Mac App Store si vous préférez cette méthode au téléchargement direct, mais Code ne l'est pas.

Comme indiqué dans les commentaires, la véritable solution consiste à améliorer la gestion des métadonnées et à ne pas laisser les attributs de métadonnées et de systèmes de fichiers vous gâcher la journée.

1 votes

Cela ne répond pas à la question. J'ai d'autres éditeurs. C'est bien que vous aimiez cette fonctionnalité non annoncée, mais avoir la possibilité de désactiver ce comportement serait également une fonctionnalité intéressante. Je n'aime tout simplement pas BBEdit.

0 votes

De plus, je n'ai jamais décrit cela comme un bug.

0 votes

Une partie de moi veut plus de downvote pour que je puisse enfin obtenir un badge pour avoir supprimé un message avec -4 (bien que je sois convaincu que c'est la bonne réponse pour la plupart des gens et que je puisse voir jusqu'où mes - votes peuvent aller) Aussi, mon premier message (et, je l'espère, toutes les modifications) répond à la question. Il n'a pas non plus besoin d'être votre réponse. Les sites de SE existent pour une pluralité de réponses et vous pouvez choisir votre réponse en tant que demandeur. Tous ceux qui ont la réputation de voter devraient le faire avec enthousiasme. J'apprécie à la fois les votes et les commentaires, en particulier ceux qui sont critiques.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X