Wie kann ich die Erstellung von .DS_Store auf einem Mac beenden? [geschlossen]

160

Ich entwickle Websites auf einem Mac und jedes Mal, wenn ich einen Ordner (oder eine Datei in diesem Ordner) erstelle, wird .DS_Store in diesem Ordner erstellt.

Wie kann verhindert werden, dass eine .DS_Store-Datei erstellt wird?

iWizard
quelle
Abneigung :) Was soll ich als verwenden?
iWizard
1
@ CroiOS Terminal + VIM
Greg
Es war ein Kommentar als keine wirkliche Alternative - theoretisch könnten Sie nur das Terminal oder andere Tools verwenden, z. B. Editoren (oder ich denke Path Finder als Dateibrowser), aber in der Praxis stecken Sie mit diesen Dateien fest
mmmmmm
7
Ignorieren Sie einfach die Datei in Ihrem Versionskontrollsystem
Millimoose
4
Diese Frage scheint nicht zum Thema zu gehören, da es sich um Apple-Hardware und -Software handelt. Am besten passt Ask Different.
Dan J

Antworten:

36

Dies ist mit mach_inject möglich . Schauen Sie sich Death to .DS_Store an

Ich fand heraus, dass das Überschreiben von HFSPlusPropertyStore :: FlushChanges () mit einer Funktion, die einfach nichts tat, die Erstellung von .DS_Store-Dateien sowohl auf Snow Leopard als auch auf Lion erfolgreich verhinderte.

DeathToDSStore-Quellcode

HINWEIS: Unter 10.11 können Sie keinen Code in System-Apps einfügen.

Parag Bafna
quelle
Könnten Sie mir bitte eine Bash geben, die ich kopieren und in meine Shell einfügen kann? Diese Lösung erfordert einiges an Beschäftigung mit der Literatur.
Samthebest
4
Sie können DeathToDSStore.app
Parag Bafna
Gibt es eine Lösung für 2019? Da DeathToDSStore anscheinend nicht mehr an den neuesten MacOS arbeitet ...
JKL
@JKL Mir ist keine funktionierende Lösung bekannt.
Parag Bafna
43

Bitte installieren Sie http://asepsis.binaryage.com/ und starten Sie Ihren Mac neu.

ASEPSIS leitet alle .DS_Store auf Ihrem Mac nach /usr/local/.dscage um

Danach können Sie alle .DS_Store rekursiv von Ihrem Mac löschen.

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

Sie sollten den Vorgang nach jedem größeren Mac-Update wiederholen.

myset
quelle
1
Hinweis Für Mac OSX 10.10 sollten Sie die Xcode-Befehlszeilentools aktualisieren und anschließend manuell in einem Terminal wie root oder mit sudo den folgenden Befehl xcrun --find Codesign ausführen. Akzeptieren Sie die Lizenzbedingungen und
-vereinbarungen
Nach jedem System-Upgrate muss die neueste Version erneut installiert werden.
Myset
1
"Asepsis implementiert einen systemweiten Daemon asepsisd, dessen Zweck darin besteht, systemweite Ordnerumbenennungen zu überwachen (oder zu löschen) und diese Vorgänge im Präfixordner zu spiegeln." Dies wurde auf der Seite von Asepsis geschrieben. Ist es wirklich erforderlich, die .DS_store-Dateien rekursiv zu löschen?
Avantgarde69
"Bitte asepsis installieren" Könnten Sie mir bitte einige Bash-Befehle zeigen, damit ich diese einfach kopieren und in meine Shell einfügen kann?
Samthebest
3
Es gibt immer noch eine Möglichkeit, Asepsis unter El Capitan zum Laufen zu bringen. Ich habe die Schritte hier dokumentiert: pixelcog.com/blog/2016/disable-ds_store-in-el-capitan
mikegreiling
41

HINWEIS : "Asepsis befindet sich nicht mehr in der aktiven Entwicklung und wird unter OS X 10.11 (El Capitan) und höher unterstützt."


Hier finden Sie eine umfassende Übersicht über Ihre Optionen. Asepsis (die zweite erwähnte Lösung) scheint genau das zu sein, wonach Sie suchen. Es leitet die .DS_Store-Erstellung in einen einheitlichen Cache um, anstatt sich in jedem Ordner zu befinden.

michel-slm
quelle
6
Für den Fall, dass der Link jemals fehlerhaft wird, sind die beiden wahrscheinlichsten Optionen auf dieser Site Asepsis (leitet erstellte Dateien umleiten) und DeathToDSStore (verhindert das Erstellen von Dateien, Deaktivieren einiger Finder-Funktionen), die beide in den Antworten auf dieser Seite beschrieben werden. Die anderen Optionen betreffen Netzwerklaufwerke und externe Laufwerke, die beide nur einen Teil des Problems lösen.
Salbei
1
@emmanuel: Dies ist ist die wesentliche Teile: der Name eines Programms und die Besonderheit es um das Problem zu lösen bietet.
Nathan Tuggy
23

Terminal öffnen. Führen Sie diesen Befehl aus:

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

Starten Sie den Computer neu oder melden Sie sich ab und wieder beim Benutzerkonto an.

für weitere Informationen:

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

user3817989
quelle
44
gilt nur für Netzwerk-Dateisysteme
David P. Caldwell
2

Fügen Sie die folgende Zeile in Ihre ".profile" -Datei ein.

Öffnen Sie die Profildatei und kopieren Sie diese Zeile

find ~/ -name '.DS_Store' -delete

Wenn Sie das Terminalfenster öffnen, wird Ihre .DS_Store-Datei automatisch für Sie gelöscht.

Shanaka
quelle
9
Das Ausführen beim Anmelden verlangsamte die Dinge, so dass ich gerade diesen Alias ​​gemacht habe:alias nomore='find ./ -iname .DS_Store -delete'
BenjaminGolder
6
Beeindruckend. So eine gute Idee. Nicht. [/ ironie aus] Stellen Sie sich vor, Sie haben viele Ordner und viele .DS_Store-Dateien und gehen bei jedem Start Ihrer Shell alle Dateien durch, die mit .DS_Store übereinstimmen. Ich weiß, dass diese Frage alt ist, aber ich dachte, es sollte geschrieben werden, dass dies keine gute Idee ist.
Thonixx
2
Schaltet [/ Ironie aus] Ihre Ironie aus oder beendet Ihre Ironie, wenn sie ausgeschaltet ist?
Connor
Dies ist eine großartige Möglichkeit, die (produktive) Zeit zu verkürzen, während der Mac Hunderte von K-Dateien auf der Festplatte durchsucht.
Javadba
-7

Diese Datei wird angezeigt, wenn Sie auswählen, dass das System die ausgeblendeten Dateien anzeigt: $ defaults write com.apple.finder AppleShowAllFiles TRUE Wenn Sie diesen Befehl ausführen, verschwinden $ defaults write com.apple.finder AppleShowAllFiles FALSE Terminal verwenden

Dgoncalves
quelle
2
In der Frage wird gefragt, wie verhindert werden kann, dass Dateien erstellt werden, und nicht, wie sie ausgeblendet werden.
Steve Buzonas
-7

die Funktion

find ~/ -name '.DS_Store' -delete

, entfernte die .DS-Speicherdateien vorübergehend. Ich bin mir aber nicht sicher, ob die Dateien auf dem Mac zurückkommen werden. Außerdem ist mir etwas Besonderes aufgefallen: Der "DS_Store" kommt nach der Installation von 'ATOM' auf den Mac. Also Jungs, bitte stellen Sie sicher, dass Sie Ihre Software von Drittanbietern ordnungsgemäß scannen, bevor Sie sie installieren. Beste

Tauschen
quelle
5
.DS_Store-Dateien werden von OSX Finder
Fran Marzoa
1
In der Frage wird gefragt, wie die Erstellung der Dateien verhindert werden kann. Mit dieser Antwort können Sie sie löschen. Außerdem werden ATOMdie Dateien nicht erstellt. Die FinderAnwendung erstellt sie beim Besuch eines Ordners zum Speichern von Symbolpositionen, der ausgewählten Ansicht für den Ordner, des Hintergrundbilds usw. DS_StoreDS ist Desktop Services.
Steve Buzonas
-12

Wenn Sie möchten, dass die .DS_StoreDateien unsichtbar werden (sie sind noch vorhanden, aber nicht sichtbar), führen Sie den folgenden Befehl im Fenster "Terminal" aus:

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

Dadurch wird der Systemstandard so eingestellt, dass diese Dateien nicht mehr auf Ihrem Desktop und anderswo angezeigt werden. Außerdem wird der Finder neu gestartet, um diese Änderung sichtbar zu machen (insbesondere auf Ihrem Desktop).

Edward Grabczewski
quelle
5
Das beantwortet nicht die gestellte Frage.
niemand
Durch das Ausblenden der Anzeige versteckter Dateien wird die Erstellung von .DS_Store-Dateien nicht entfernt. Dies ist die Frage, die gestellt wurde. Das ist eine schreckliche Antwort.
MattBoothDev
In der Frage wird gefragt, wie die Erstellung der Dateien verhindert werden kann. Diese Lösung versteckt sie (und andere Dateien) nur im Finder.
Steve Buzonas