Recientemente descubrí (sí, llegué tarde al juego) que TextEdit.app está agregando atributos extendidos a cualquier archivo que abra en él. Descubrí esto cuando al azar abrí un script de shell en él y se puso en cuarentena y no se ejecutó.
Rápidamente aprendí que puedo eliminar atributos con uno xattr -c file
o atributos individuales con xattr -d attrname file
, pero hacerlo es tedioso/cansino. Resulta que me gusta TextEdit (que sé que está en desgracia entre los profesionales). Tengo otros editores para editar código, así que no busco sugerencias de editores alternativos. Lo que me gustaría saber es si hay alguna forma de que deje de agregar atributos extendidos a los archivos.
Lo intenté defaults write com.apple.LaunchServices LSQuarantine -bool false
, pero todavía sucede.
¿O tal vez estoy siendo demasiado exigente? Además del atributo de cuarentena, ¿puede alguno de los otros cruft interponerse en el camino de otros usuarios en sistemas que no son macOS, por ejemplo, cuando se encuentra en un repositorio de github o se implementa de otra manera en otros sistemas?
Mis principales preocupaciones son primero: obtener un indicador de cuarentena que se abrió para una edición rápida/sencilla, y segundo: ediciones de archivos de texto (como README.txt) que están incluidos en un repositorio de codificación social (como github). Mi deseo de evitar los atributos extendidos es el mismo que el motivo por el que elimino los archivos .DS_Store antes de realizar cambios en un repositorio: son específicos del sistema y, por lo demás, son inútiles (¿o posiblemente obstáculos?) para otros. TextEdit es para editar texto. Los scripts y README son archivos de texto. También lo uso para todo tipo de archivos de texto que proceso en la línea de comandos, como los archivos fasta y fastq. TextEdit (aunque definitivamente carece de funciones que tienen otros editores) tiene funciones útiles que otros editores no tienen o no hacen bien, y yo Lo he estado usando desde el principio y lo seguiré usando a pesar de las preferencias u opiniones alternativas de los demás. Solo se convirtió en un problema el otro día, cuando por alguna razón, no pude ejecutar un script que había ejecutado y luego abierto en TextEdit para hacer un cambio muy pequeño, y luego descubrí que no podía ejecutarlo de nuevo.
Pero tal vez me equivoque acerca de mi principal preocupación? Tal vez ni siquiera fue TextEdit el que agregó el atributo de cuarentena, porque no pude reproducir ese problema. Entonces, TextEdit alguna vez agrega el atributo de cuarentena y, de ser así, ¿cuándo?
Escribí un servicio de automatización que puedo usar para eliminar atributos en archivos seleccionados, pero si hay una forma de cambiar el comportamiento de TextEdit, sería preferible. De lo contrario, probablemente también agregaré un comando xattr a mi contenedor de registro.
TextEdit no debería (y no lo hace) normalmente agregar atributos de cuarentena a los archivos que guarda. Es posible que MacOS esté agregando la cuarentena por alguna otra razón. (¿Dónde estás ahorrando?)
Sin embargo, hay otros atributos extendidos que TextEdit puede agregar durante el curso de la operación normal en MacOS.
Normalmente, los atributos extendidos no se copian en cosas como github, y otras plataformas simplemente no los usan, incluso si están presentes.
También estoy de acuerdo con bmike. Si una aplicación tiene un comportamiento que no le gusta, use otra aplicación.
Apple ha reconocido que este es un problema en el que están trabajando con Monterey. Además de usar otro editor, una solución alternativa no muy satisfactoria es un script de envoltura:
open -e -W $1
xattr -c $1
Desafortunadamente,
ACTUALIZACIÓN: Parece que está arreglado en 12.3. Sin embargo,
Sí, creo que estás siendo demasiado fastidioso. Evitaría que TextEdit altere un archivo al dejar de abrirlo en TextEdit si está seguro de que ese es el culpable. No tenemos ningún problema de este tipo en mi trabajo entre los administradores y desarrolladores de Mac, por lo que quizás un caso de prueba reproducible nos ayude a ayudarlo.
Entiendo que puede ser controvertido decir que no cambie la aplicación, cambie su proceso, pero mi respuesta a este dilema es, en primer lugar, no tener el dilema. Acepta TE por lo que es, no por lo que quieres que sea.
Me sorprendería bastante no encontrar nada más en su flujo de trabajo que sea más adecuado para solucionar cualquier dilema que le causen los atributos de su archivo (lo que no me queda del todo claro según su versión inicial de la pregunta).
Para ir más allá, uso este bit de cuarentena (y todos los demás metadatos que las aplicaciones como TE adjuntan a los archivos) como una característica y no como un error o algo que deba evitarse.
Si TextEdit le está causando problemas, recomendaría las aplicaciones gratuitas BBEdit y VSCode para que pueda probar editores que son más potentes; ambos tienen integración de línea de comandos para que pueda configurarlos como su editor o abrir archivos fácilmente y luego también puede cambiar el inicie servicios para abrir archivos en estas aplicaciones a medida que cambie su preferencia usando Text Edit solo para cuando quiera lo que hace.
Uso el atributo de cuarentena intencionalmente cuando quiero entregar algo y sé que los destinatarios de un archivo/secuencia de comandos eligieron ejecutar la secuencia de comandos/evitar la manipulación en vuelo, etc.
BBEdit también está en la tienda de aplicaciones de Mac si lo prefiere en lugar de la descarga directa, Code no lo está.
Como se señaló en los comentarios, la verdadera solución aquí es subir de nivel el manejo de metadatos y no dejar que los metadatos y los atributos del sistema de archivos arruinen su día.
mmmmmm
anki
mmmmmm
hepcat72
sin ladera
WGroleau
WGroleau