Come interrompere la creazione di .DS_Store su Mac? [chiuso]


163

Sto sviluppando siti su Mac e ogni volta che creo qualche cartella (o file in quella cartella) .DS_Store viene creato in quella cartella.

Come impedire la creazione del file .DS_Store?


Non mi piace :) Cosa dovrei usare di?
iWizard,

1
@CroiOS Terminal + VIM
Greg

È stato un commento come nessuna vera alternativa - in teoria potresti usare solo il Terminale o altri strumenti come gli editor (o penso che Path Finder come browser di file) ma in pratica sei bloccato con questi file
mmmmmm

7
Basta ignorare il file nel sistema di controllo della versione
millimoose

4
Questa domanda sembra fuori tema perché riguarda l'hardware e il software Apple - la soluzione migliore sarebbe Ask Different.
Dan J

Risposte:


36

È possibile utilizzando mach_inject . Dai un'occhiata a Death su .DS_Store

Ho scoperto che l'override di HFSPlusPropertyStore :: FlushChanges () con una funzione che semplicemente non faceva nulla, impediva con successo la creazione di file .DS_Store sia su Snow Leopard che su Lion.

Codice sorgente DeathToDSStore

NOTA: il 10.11 non è possibile iniettare codice nelle app di sistema.


Per favore, potresti fornire un po 'di bash che posso copiare e incollare nella mia shell. Questa soluzione richiede un certo impegno con la letteratura.
Samthebest,


C'è una soluzione per il 2019? Dato che DeathToDSStore sembra non funzionare più sugli ultimi MacOS ...
JKL

@JKL Non sono a conoscenza di alcuna soluzione funzionante.
Parag Bafna,

44

Installa http://asepsis.binaryage.com/ e quindi riavvia il Mac.

ASEPSIS reindirizza tutto .DS_Store sul tuo mac a /usr/local/.dscage

Successivamente, puoi eliminare in modo ricorsivo tutti i file .DS_Store dal tuo mac.

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

È necessario ripetere la procedura dopo ogni aggiornamento principale del Mac.


1
Nota per Mac OSX 10.10 è necessario aggiornare gli strumenti da riga di comando Xcode e successivamente eseguire manualmente nel terminale come root o con sudo il seguente comando xcrun --find codesign. Accetta manualmente il termine e l'accordo di licenza e puoi continuare l'installazione dell'asepsi
myset

Dopo ogni aggiornamento del sistema è necessario il ripristino dell'ultima versione.
myset

1
"Asepsis implementa un demone asepsisd a livello di sistema il cui scopo è monitorare i nomi (o le eliminazioni) di cartelle a livello di sistema e rispecchiare quelle operazioni nella cartella prefissi" Questo è stato scritto sulla pagina di Asepsis. È davvero necessario eliminare in modo ricorsivo i file .DS_store?
vanguard69,

"Ti preghiamo di installare l'asepsi" Per favore, potresti mostrarmi alcuni comandi bash così posso semplicemente copiarli e incollarli nella mia shell?
Samthebest,

3
C'è ancora un modo per far funzionare Asepsis sotto El Capitan. Ho documentato i passaggi qui: pixelcog.com/blog/2016/disable-ds_store-in-el-capitan
mikegreiling

41

NOTA : "L'asepsi non è più in fase di sviluppo attivo e supportata in OS X 10.11 (El Capitan) e versioni successive."


Ecco una recensione completa delle tue opzioni. L'asepsi (la seconda soluzione menzionata) sembra essere ciò che stai cercando, reindirizza la creazione di .DS_Store in una cache unificata invece di trovarsi in ogni cartella.


6
Nel caso in cui il collegamento non dovesse andare a buon fine, le due opzioni più probabili elencate su quel sito sono Asepsis (reindirizza i file creati) e DeathToDSStore (impedisce la creazione di file, disabilitando alcune funzionalità del Finder), entrambi descritti nelle risposte in questa pagina. Le altre opzioni riguardano unità di rete e unità esterne, entrambe le quali risolvono solo una parte del problema.
salvia

1
@emmanuel: Questo non comprende le parti essenziali: il nome di un programma e la funzione specifica fornisce per risolvere il problema.
Nathan Tuggy,


2

Inserisci la seguente riga nel tuo file ".profile".

Apri il file .profile e copia questa riga

find ~/ -name '.DS_Store' -delete

Quando apri la finestra del terminale, questo eliminerà automaticamente il tuo file .DS_Store.


9
eseguirlo all'accesso ha rallentato le cose, quindi ho appena creato questo alias:alias nomore='find ./ -iname .DS_Store -delete'
BenjaminGolder,

6
Wow. Che bella idea. Non. [/ ironia off] Immagina di avere molte cartelle e molti file .DS_Store e immagina di esaminare tutti i file corrispondenti a .DS_Store ogni volta che la tua shell si avvia. So che questa domanda è vecchia ma ho pensato che dovrebbe essere scritto che questa non è una buona idea.
thonixx,

3
Quindi, [/ ironia off] sta disattivando la tua ironia o terminando la tua ironia spegnendola accendendola?
Connor

Questo è un ottimo modo per ammazzare il tempo (produttivo) mentre mac cerca centinaia di K di file su disco.
javadba,

-7

questo file inizia ad apparire quando si sceglie il sistema che mostra i file nascosti: $ defaults write com.apple.finder AppleShowAllFiles TRUE Se si esegue questo comando scompare $ defaults write com.apple.finder AppleShowAllFiles FALSE Use terminal


2
La domanda chiede come impedire la creazione dei file, non come nasconderli.
Steve Buzonas,

-7

la funzione

find ~/ -name '.DS_Store' -delete

, rimosso temporaneamente i file di archivio .DS. Ma non sono sicuro se i file torneranno sul Mac. Inoltre ho notato qualcosa di strano, "DS_Store" inizia a venire sul Mac dopo aver installato 'ATOM'. Quindi ragazzi assicuratevi di scansionare correttamente il software di terze parti prima di installarli. Migliore


5
I file .DS_Store sono creati da OSX Finder
Fran Marzoa,

1
La domanda chiede come interrompere la creazione dei file. Questa risposta è come eliminarli. Inoltre, ATOMnon sta creando i file. L' Finderapplicazione li crea quando si visita una cartella per archiviare posizioni icona, vista selezionata per la cartella, immagine di sfondo, ecc DS_Store. DS è Servizi desktop.
Steve Buzonas,

-12

Se vuoi che i .DS_Storefile diventino invisibili (esistono ancora ma non sono visibili), esegui il seguente comando nella finestra "Terminale":

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

Ciò imposterà l'impostazione predefinita del sistema per interrompere la visualizzazione di questi file sul desktop e altrove. Riavvia anche il Finder per rendere visibile questa modifica (specialmente sul desktop).


5
Non sta rispondendo alla domanda che è stata posta.
nessuno

Nascondere la visualizzazione di file nascosti non significa rimuovere la creazione di file .DS_Store, che è la domanda che è stata posta. Questa è una risposta terribile.
MattBoothDev,

La domanda chiede come interrompere la creazione dei file. Questa soluzione li nasconde (e altri file) solo nel Finder.
Steve Buzonas,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.