¿Cómo dejar de crear .DS_Store en Mac? [cerrado]

163

Estoy desarrollando sitios en Mac y cada vez que creo alguna carpeta (o archivo en esa carpeta) .DS_Store se crea en esa carpeta.

¿Cómo evitar crear un archivo .DS_Store?

iWizard
fuente
No me gusta :) ¿Qué debo usar que?
iWizard
1
@CroiOS Terminal + VIM
Greg
Fue un comentario como una alternativa real: en teoría, podría usar la Terminal solo u otras herramientas, por ejemplo, editores (o creo que Path Finder como navegador de archivos), pero en la práctica está atrapado con estos archivos
mmmmmm
77
Simplemente ignore el archivo en su sistema de control de versiones
millimoose
44
Esta pregunta parece estar fuera de tema porque se trata del hardware y software de Apple; la mejor opción sería Preguntar diferente.
Dan J

Respuestas:

36

Es posible usando mach_inject . Echa un vistazo a la muerte a .DS_Store

Descubrí que anular HFSPlusPropertyStore :: FlushChanges () con una función que simplemente no hacía nada, impedía con éxito la creación de archivos .DS_Store en Snow Leopard y Lion.

Código fuente de DeathToDSStore

NOTA: El 10.11 no puede inyectar código en las aplicaciones del sistema.

Parag Bafna
fuente
Por favor, ¿podría proporcionarme algún golpe que pueda copiar y pegar en mi shell? Esta solución requiere bastante compromiso con la literatura.
samthebest
44
Puede usar DeathToDSStore.app
Parag Bafna
¿Hay una solución para 2019? Como DeathToDSStore ya no parece estar funcionando en las últimas MacOS ...
JKL
@JKL No conozco ninguna solución que funcione.
Parag Bafna
44

Instala http://asepsis.binaryage.com/ y luego reinicia tu Mac.

ASEPSIS redirige todo .DS_Store en tu mac a /usr/local/.dscage

Después de eso, puede eliminar recursivamente todo .DS_Store de su mac.

find ~ -name ".DS_Store" -delete
or
find <your path> -name ".DS_Store" -delete

Debe repetir el procedimiento después de cada actualización importante de Mac.

myset
fuente
1
Nota para Mac OSX 10.10 debe actualizar Xcode Command Line Tools y luego ejecutarlo manualmente en la terminal como root o con sudo el siguiente comando xcrun --find codesign. Acepte manualmente el término y el acuerdo de la licencia y podrá continuar con la instalación de asepsia
myset
Después de cada actualización del sistema necesita la reinstalación de la última versión.
myset
1
"Asepsis implementa una asepsia de demonio en todo el sistema cuyo propósito es monitorear los cambios de nombre de carpetas (o eliminaciones) en todo el sistema y reflejar esas operaciones en la carpeta de prefijos" Esto fue escrito en la página de Asepsis. ¿Es realmente necesario eliminar recursivamente los archivos .DS_store?
vanguard69
"Instale asepsia" Por favor, ¿podría mostrarme algunos comandos bash para que pueda copiarlos y pegarlos en mi shell?
samthebest
3
Todavía hay una manera de hacer que Asepsis funcione bajo El Capitán. He documentado los pasos aquí: pixelcog.com/blog/2016/disable-ds_store-in-el-capitan
mikegreiling
41

NOTA : "Asepsis ya no se encuentra en desarrollo activo y es compatible con OS X 10.11 (El Capitan) y versiones posteriores".


Aquí hay una revisión exhaustiva de sus opciones. La asepsia (la segunda solución mencionada) parece ser lo que está buscando, redirige la creación de .DS_Store a un caché unificado en lugar de ubicarse en cada carpeta.

michel-slm
fuente
66
En caso de que el enlace se vuelva incorrecto, las dos opciones más probables que figuran en ese sitio son Asepsis (redirige los archivos creados) y DeathToDSStore (evita la creación de archivos, deshabilitando algunas funciones del Finder), que se describen en las respuestas en esta página. Las otras opciones se refieren a unidades de red y unidades externas, que solo resuelven parte del problema.
sabio
1
@emmanuel: Esto no incluye las partes esenciales: el nombre de un programa y la función específica que ofrece para resolver el problema.
Nathan Tuggy
23

Terminal abierta Ejecute este comando:

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

Reinicie la computadora o cierre sesión y vuelva a iniciar sesión en la cuenta de usuario.

Para más información:

http://support.apple.com/kb/ht1629

usuario3817989
fuente
44
solo se aplica a los sistemas de archivos de red
David P. Caldwell
2

Ponga la siguiente línea en su archivo ".profile".

Abra el archivo .profile y copie esta línea

find ~/ -name '.DS_Store' -delete

Cuando abra la ventana del terminal, eliminará automáticamente su archivo .DS_Store.

Shanaka
fuente
9
ejecutar esto al iniciar sesión ralentizó las cosas, así que acabo de hacer este alias:alias nomore='find ./ -iname .DS_Store -delete'
BenjaminGolder
66
Guau. Que buena idea. No. [/ ironía desactivada] Imagine tener muchas carpetas y muchos archivos .DS_Store e imagine revisar todos los archivos que coinciden con .DS_Store cada vez que se inicia su shell. Sé que esta pregunta es antigua, pero pensé que debería escribirse que no es una buena idea.
thonixx
3
Entonces, ¿está [/ ironía desactivada] apagando su ironía o terminando su ironía apagándola?
Connor
Esta es una excelente manera de matar el tiempo (productivo) mientras mac busca cientos de K de archivos en el disco.
Java
-7

este archivo comienza a aparecer cuando elige el sistema que le muestra los archivos ocultos: $ defaults write com.apple.finder AppleShowAllFiles TRUE Si ejecuta este comando, desaparecerá $ defaults write com.apple.finder AppleShowAllFiles FALSE Usar terminal

Dgoncalves
fuente
2
La pregunta pregunta cómo detener la creación de los archivos, no cómo ocultarlos.
Steve Buzonas
-7

la función

find ~/ -name '.DS_Store' -delete

, eliminó los archivos de la tienda .DS temporalmente. Pero no estoy seguro, si los archivos volverán a la Mac. También noté algo peculiar, el "DS_Store" comenzó a llegar a Mac después de instalar 'ATOM'. Entonces, chicos, asegúrese de escanear correctamente su software de terceros antes de instalarlos. Mejor

Intercambiar
fuente
55
.DS_Store archivos son creados por OSX Finder
Fran Marzoa
1
La pregunta pregunta cómo detener la creación de los archivos. Esta respuesta es cómo eliminarlos. Además, ATOMno está creando los archivos. La Finderaplicación los crea al visitar una carpeta para almacenar posiciones de iconos, la vista seleccionada para la carpeta, la imagen de fondo, etc. DS_Store, DS es Servicios de escritorio.
Steve Buzonas
-12

Si quieres el .DS_Store archivos se vuelvan invisibles (todavía existen pero no se pueden ver), ejecute el siguiente comando en la ventana "Terminal":

defaults write com.apple.finder AppleShowAllFiles FALSE; killall Finder

Esto establecerá el sistema predeterminado para dejar de mostrar estos archivos en su escritorio y en otros lugares. También reiniciará el Finder para que este cambio sea visible (especialmente en su escritorio).

Edward Grabczewski
fuente
55
Eso no responde la pregunta que se hizo.
nadie
Ocultar la visualización de archivos ocultos no es eliminar la creación de archivos .DS_Store, que es la pregunta que se hizo. Esta es una respuesta terrible.
MattBoothDev
La pregunta pregunta cómo detener la creación de los archivos. Esta solución los oculta (y otros archivos) solo en Finder.
Steve Buzonas