Gibt es eine Möglichkeit (z. B. einen binären Hack in Finder) zu verhindern, dass .DS-Stores auf lokalen Volumes erstellt werden?
Ich benutze Leopard, daher funktionieren diese nicht:
- Asepsis (erfordert Löwe)
- TotalFinder (benötigt Snow Leopard)
Außerdem verlangsamt BlueHarvest meinen Computer.
Antworten:
Lösungen von Drittanbietern
Nach meiner Erfahrung ist BlueHarvest der Klassenbeste. Technisch ist es keine Antwort auf die Frage; Es kann Dateien entfernen, aber nicht verhindern
.DS_Store
.Wenn BlueHarvest effektiv ist, aber nicht zu Ihrem Anwendungsfall passt, wird es schwierig, eine akzeptable Antwort auf Ihre Frage zu geben.
Wenn Sie keine akzeptable Lösung eines Drittanbieters haben, müssen Sie mit dem arbeiten, was für Leopard von wesentlicher Bedeutung ist.
Ohne eine Drittanbieterlösung: Beschränken Sie die Verwendung von Finder
Indem Sie die Ansichten vermeiden, die Sie nicht speichern möchten, können Sie die Erstellung von
.DS_Store
Dateien verhindern.Die meisten Benutzer werden es schwierig finden, sich auf diese Weise zurückzuhalten, aber es ist eine echte Antwort innerhalb der Grenzen der Frage.
http://diigo.com/0qiwp für eine kommentierte Ansicht von http://lists.apple.com/archives/applescript-users/2006/Jun/msg00180.html wo Matt Deatherage (ein ehemaliger Ingenieur bei Apple)
.DS_Store
und andere erklärt Arten von Dateien.quelle
Ich habe keine Möglichkeit gefunden, diese zu verhindern, aber Sie können sie mit einem Skript automatisch löschen:
Führen Sie es alle X Minuten über
launchd
oder auscron
. Auf meinem mehrjährigen iMac ist fast keine Zeit zum Laufen. Es wird nur Ihr $ HOME (~) durchsucht, aber dort werden die meisten von ihnen sein. Ändern Sie ~ in /, wenn Sie sie auf dem gesamten Laufwerk löschen möchten, die Ausführung jedoch viel länger dauert. Passen Sie die Frequenz entsprechend an.quelle
find ~ -name .DS_Store -delete
. Und vergessen Sie nicht die-name
Flagge - ohne sie würde der Befehl für alle Dateien in~
und gelten./.DS_Store
.Um zu verhindern, dass diese hässlichen .DS_Store-Dateien angezeigt werden, scheint es eine relativ neue Möglichkeit zu geben, dies sauber zu tun, nicht nur für Netzwerklaufwerke wie:
aber auch für über USB angeschlossene Volumes:
Bezogen auf den OPs-Fragetitel ist dies die beste Lösung ohne Hacks, da hiermit nicht nur das Netzwerk-Fehlverhalten behoben wird, sondern auch die meisten angeschlossenen Festplatten. Dies ist möglicherweise das größte Ärgernis für die meisten Benutzer, die Geräte wie USB-Sticks zwischen verschiedenen Umgebungen austauschen. Es werden nur die von Apple bereitgestellten Optionen verwendet und der normale Betrieb wird in keiner Weise beeinträchtigt.
Bezogen auf die im OPs-Body erläuterte konkrete Situation ist dies von begrenztem Wert, da diese USB-Option nur in späteren Versionen von OS X / macOS verfügbar ist. Darüber hinaus wird das Problem der
.DS_Store
Erstellung auf internen Datenträgern noch immer nicht behoben, da dies auch zu Problemen führen kann. Obwohl sie an diesem Ort tatsächlich einem Zweck dienen könnten.Eine umfassendere, wenn auch hackigere Lösung für dieses Problem, die auf den meisten Versionen des Mac-Betriebssystems funktioniert, lautet wie folgt: Um dieses unangenehme Verhalten auf allen Festplatten vollständig zu unterbinden - und mit einem Binär-Patcher / Code-Injektor wie dem von das OP sehnt sich nach - es gibt DeathToDSStore / mit Quelle .
Bei beiden Optionen wird davon ausgegangen, dass jeder Finder noch verwendet. Die Verwendung eines anderen Dateimanagers würde dieses Problem ebenfalls lösen. Es gibt zahlreiche Konkurrenten, die Finder für die Dateiverwaltung unter macOS ersetzen. Zwei der Spitzenreiter in diesem Bereich sind Pathfinder oder XFile .
quelle
Probieren Sie diesen Befehl aus: Standardmäßig schreiben Sie com.apple.desktopservices DSDontWriteNetworkStores true im Terminal. Es scheint für mich zu funktionieren.
quelle
Ich habe ein effizienteres Skript erstellt (das als Daemon ausgeführt werden soll),
find
das zu Beginn einmal ausgeführt wird, um bereits vorhandene Dateien zu löschen und neue Dateien in Echtzeit über fünf Ereignisse abzufangen. Sie werden also sofort bei ihrer Erstellung gelöscht, und der Ressourcenverbrauch ist sehr gering. AFAIK dies ist der beste Weg, um sie loszuwerden, ohne SIP zu deaktivieren.Hier ist es - https://github.com/magicgoose/DS_Store-Kill
quelle