Jak przestać tworzyć .DS_Store na Macu? [Zamknięte]

163

Tworzę witryny na komputerze Mac i za każdym razem, gdy tworzę folder (lub plik w tym folderze) .DS_Store jest tworzony w tym folderze.

Jak zapobiec tworzeniu pliku .DS_Store?

iWizard
źródło
Nie lubię :) Czego powinienem używać niż?
iWizard
1
@CroiOS Terminal + VIM
Greg
To był komentarz jako bez prawdziwej alternatywy - teoretycznie można wykorzystać zacisk tylko lub innych narzędzi np redaktorzy (lub myślę Path Finder jako przeglądarka plików), ale w praktyce utkniesz z tych plików
mmmmmm
7
Po prostu zignoruj ​​plik w systemie kontroli wersji
millimoose
4
To pytanie wydaje się nie na temat, ponieważ dotyczy sprzętu i oprogramowania Apple - najlepiej pasowałoby Zapytaj inaczej.
Dan J

Odpowiedzi:

36

Jest to możliwe przy użyciu mach_inject . Spójrz na Death to .DS_Store

Odkryłem, że zastąpienie HFSPlusPropertyStore :: FlushChanges () funkcją, która po prostu nic nie robiła, z powodzeniem uniemożliwiło utworzenie plików .DS_Store zarówno w systemie Snow Leopard, jak i Lion.

Kod źródłowy DeathToDSStore

UWAGA: W 10.11 nie można wstrzykiwać kodu do aplikacji systemowych.

Parag Bafna
źródło
Czy mógłbyś podać trochę basha, który mogę skopiować i wkleić do mojej powłoki. To rozwiązanie wymaga sporego zaangażowania w literaturę.
samthebest
4
Możesz użyć DeathToDSStore.app
Parag Bafna
Czy jest rozwiązanie 2019? Ponieważ DeathToDSStore nie wydaje się już działać na najnowszych MacOSach ...
JKL
@JKL Nie znam żadnego działającego rozwiązania.
Parag Bafna
44

Zainstaluj http://asepsis.binaryage.com/, a następnie uruchom ponownie komputer Mac.

ASEPSIS przekierowuje wszystkie .DS_Store na twoim Macu do /usr/local/.dscage

Następnie możesz usunąć rekurencyjnie wszystkie pliki .DS_Store z komputera Mac.

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

Powinieneś powtórzyć procedurę po każdej głównej aktualizacji Maca.

myset
źródło
1
Uwaga dla systemu Mac OSX 10.10 należy zaktualizować Xcode Command Line Tools, a następnie ręcznie uruchomić w terminalu, jak root lub za pomocą sudo, następujące polecenie xcrun --findcodeign. Ręcznie zaakceptuj warunki licencji i umowę, a będziesz mógł kontynuować aseptyczną instalację
myset
Po każdej aktualizacji systemu konieczna jest ponowna instalacja najnowszej wersji.
myset
1
„Asepsis implementuje systemowego demona asepsisd, którego celem jest monitorowanie zmian nazw (lub usuwania) folderów w całym systemie i tworzenie kopii lustrzanych tych operacji w folderze z prefiksami” To zostało napisane na stronie Asepsis. Czy naprawdę konieczne jest rekurencyjne usuwanie plików .DS_store?
vanguard69
„Proszę zainstalować aseptykę” Proszę, czy mógłbyś pokazać mi kilka poleceń basha, abym mógł je skopiować i wkleić do mojej powłoki?
samthebest
3
Nadal istnieje sposób, aby Asepsis pracował pod El Capitan. Udokumentowałem kroki tutaj: pixelcog.com/blog/2016/disable-ds_store-in-el-capitan
mikegreiling
41

UWAGA : „Asepsis nie jest już aktywnie rozwijany i obsługiwany w systemie OS X 10.11 (El Capitan) i nowszych”.


Oto obszerny przegląd dostępnych opcji. Asepsis (drugie wspomniane rozwiązanie) wydaje się być tym, czego szukasz, przekierowuje tworzenie .DS_Store do ujednoliconej pamięci podręcznej zamiast znajdować się w każdym folderze.

michel-slm
źródło
6
W przypadku, gdy łącze kiedykolwiek się zepsuje, dwie najbardziej prawdopodobne opcje wymienione w tej witrynie to Asepsis (przekierowuje utworzone pliki) i DeathToDSStore (zapobiega tworzeniu plików, wyłączając niektóre funkcje Findera), z których obie są opisane w odpowiedziach na tej stronie. Inne opcje dotyczą dysków sieciowych i dysków zewnętrznych - z których oba rozwiązują tylko część problemu.
mędrzec
1
@emmanuel: To nie obejmują istotne elementy: nazwa programu i funkcji konkretnego Zapewnia, aby rozwiązać problem.
Nathan Tuggy
23

Otwórz Terminal. Wykonaj to polecenie:

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

Uruchom ponownie komputer lub wyloguj się i zaloguj ponownie na konto użytkownika.

więcej informacji:

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

user3817989
źródło
44
dotyczy tylko sieciowych systemów plików
David P. Caldwell
2

Umieść następujący wiersz w pliku „.profile”.

Otwórz plik .profile i skopiuj ten wiersz

find ~/ -name '.DS_Store' -delete

Po otwarciu okna terminala automatycznie usunie on plik .DS_Store.

Shanaka
źródło
9
uruchomienie tego przy logowaniu spowolniło działanie, więc utworzyłem ten alias:alias nomore='find ./ -iname .DS_Store -delete'
BenjaminGolder,
6
Łał. Taki dobry pomysł. Nie. [/ irony off] Wyobraź sobie, że masz wiele folderów i wiele plików .DS_Store i wyobraź sobie, że przeglądasz wszystkie pliki pasujące do .DS_Store za każdym razem, gdy Twoja powłoka się uruchamia. Wiem, że to stare pytanie, ale pomyślałem, że powinno być napisane, że to nie jest dobry pomysł.
thonixx
3
Więc czy [/ irony off] wyłącza twoją ironię, czy kończy twoją ironię, powodując jej włączenie?
Connor
To świetny sposób na zabicie (produktywnego) czasu, podczas gdy Mac przeszukuje setki tysięcy plików na dysku.
javadba
-7

ten plik zaczyna się pojawiać po wybraniu systemu pokazuje ukryte pliki: $ defaults napisz com.apple.finder AppleShowAllFiles PRAWDA Jeśli uruchomisz to polecenie zniknij $ defaults napisz com.apple.finder AppleShowAllFiles FAŁSZ Użyj terminala

Dgoncalves
źródło
2
Pytanie dotyczy tego, jak zatrzymać tworzenie plików, a nie jak je ukryć.
Steve Buzonas
-7

funkcja

find ~/ -name '.DS_Store' -delete

, tymczasowo usunęliśmy pliki magazynu .DS. Ale nie jestem pewien, czy pliki wrócą na Maca. Zauważyłem też coś dziwnego, „DS_Store” zaczął pojawiać się na Macu po zainstalowaniu „ATOM”. Więc chłopaki, upewnijcie się, że poprawnie przeskanowaliście oprogramowanie innej firmy przed ich zainstalowaniem. Najlepsza

Zamiana
źródło
5
Pliki .DS_Store są tworzone przez OSX Finder
Fran Marzoa
1
Pytanie dotyczy tego, jak zatrzymać tworzenie plików. Ta odpowiedź brzmi, jak je usunąć. Dodatkowo ATOMnie tworzy plików. FinderAplikacja tworzy je podczas wizyty folder do stanowisk sklep ikona wybranego widoku folderu, obrazu tła itp DS_StoreDS jest Desktop Services.
Steve Buzonas
-12

Jeśli chcesz, aby .DS_Storepliki stały się niewidoczne (nadal istnieją, ale nie można ich zobaczyć), uruchom następujące polecenie w oknie „Terminal”:

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

Spowoduje to ustawienie domyślnego systemu, aby przestał wyświetlać te pliki na pulpicie i w innych miejscach. Spowoduje to również ponowne uruchomienie Findera, aby ta zmiana była widoczna (szczególnie na pulpicie).

Edward Grabczewski
źródło
5
To nie jest odpowiedź na zadane pytanie.
nikt
Ukrywanie pokazywania ukrytych plików nie oznacza usuwania tworzenia plików .DS_Store, co jest pytaniem, które zostało zadane. To okropna odpowiedź.
MattBoothDev
Pytanie dotyczy tego, jak zatrzymać tworzenie plików. To rozwiązanie ukrywa je (i inne pliki) tylko w Finderze.
Steve Buzonas