Bagaimana cara berhenti membuat .DS_Store di Mac? [Tutup]

163

Saya mengembangkan situs di mac dan setiap kali saya membuat beberapa folder (atau file di folder itu) .DS_Store dibuat di folder itu.

Bagaimana mencegah membuat file .DS_Store?

iWizard
sumber
Tidak suka :) Apa yang harus saya gunakan selain?
iWizard
1
@CroiOS Terminal + VIM
Greg
Itu adalah komentar karena tidak ada alternatif nyata - dalam teori Anda bisa menggunakan Terminal saja atau alat lain misalnya editor (atau saya pikir Path Finder sebagai browser file) tetapi dalam praktiknya Anda terjebak dengan file-file ini
mmmmmm
7
Abaikan saja file di sistem kontrol versi Anda
millimoose
4
Pertanyaan ini tampaknya di luar topik karena ini tentang perangkat keras dan perangkat lunak Apple - paling cocok adalah Ask Different.
Dan J

Jawaban:

36

Ini dimungkinkan dengan menggunakan mach_inject . Lihatlah Death to .DS_Store

Saya menemukan bahwa mengganti HFSPlusPropertyStore :: FlushChanges () dengan fungsi yang tidak melakukan apa-apa, berhasil mencegah pembuatan file .DS_Store di Snow Leopard dan Lion.

Kode sumber DeathToDSStore

CATATAN: Pada 10.11 Anda tidak dapat menyuntikkan kode ke aplikasi sistem.

Parag Bafna
sumber
Tolong bisakah Anda memberikan beberapa bash yang dapat saya salin dan tempel ke shell saya. Solusi ini membutuhkan sedikit keterlibatan dengan literatur.
samthebest
4
Anda dapat menggunakan DeathToDSStore.app
Parag Bafna
Apakah ada solusi 2019? Karena DeathToDSStore tampaknya tidak lagi bekerja pada MacOS terbaru ...
JKL
@ JKL Saya tidak mengetahui adanya solusi yang berfungsi.
Parag Bafna
44

Silakan instal http://asepsis.binaryage.com/ dan kemudian reboot mac Anda.

ASEPSIS mengalihkan semua .DS_Store pada mac Anda ke /usr/local/.dscage

Setelah itu, Anda dapat menghapus semua .DS_Store secara rekursif dari mac Anda.

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

Anda harus mengulangi prosedur setelah setiap pembaruan utama Mac.

myset
sumber
1
Catatan untuk Mac OSX 10.10 Anda harus memutakhirkan Xcode Command Line Tools dan setelah itu secara manual dijalankan di terminal seperti root atau dengan sudo perintah berikut xcrun --find codesign. Secara manual menerima persyaratan dan perjanjian Lisensi dan Anda dapat melanjutkan instalasi asepsis
myset
Setelah setiap upgrade sistem perlu menginstal ulang versi terbaru.
myset
1
"Asepsis mengimplementasikan daemon seluruh sistem asepsisd yang tujuannya adalah untuk memonitor nama folder (atau menghapus) seluruh sistem dan mencerminkan operasi-operasi di folder awalan" Ini ditulis pada halaman Asepsis. Apakah benar-benar diperlukan untuk menghapus file .DS_store secara rekursif?
vanguard69
"Tolong instal asepsis" Tolong bisakah Anda menunjukkan kepada saya beberapa perintah bash sehingga saya bisa menyalin dan menempelkannya ke shell saya?
samthebest
3
Masih ada cara untuk membuat Asepsis bekerja di bawah El Capitan. Saya telah mendokumentasikan langkah-langkahnya di sini: pixelcog.com/blog/2016/disable-ds_store-in-el-capitan
mikegreiling
41

CATATAN : "Asepsis tidak lagi dalam pengembangan aktif dan didukung di bawah OS X 10.11 (El Capitan) dan yang lebih baru."


Ini ulasan komprehensif dari opsi Anda. Asepsis (solusi kedua yang disebutkan) tampaknya adalah apa yang Anda cari, ia merutekan kembali pembuatan .DS_Store ke cache yang disatukan alih-alih berada di setiap folder.

michel-slm
sumber
6
Jika tautannya memburuk, dua opsi yang paling mungkin terdaftar di situs itu adalah Asepsis (pengalihan file yang dibuat) dan DeathToDSStore (mencegah pembuatan file, menonaktifkan beberapa fitur Finder), keduanya dijelaskan dalam jawaban di halaman ini. Pilihan lain berurusan dengan drive jaringan dan drive eksternal - keduanya hanya menyelesaikan sebagian dari masalah.
bijak
1
@emmanuel: Ini tidak termasuk bagian penting: nama program dan fitur khusus yang disediakan untuk memecahkan masalah.
Nathan Tuggy
23

Buka Terminal. Jalankan perintah ini:

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

Mulai ulang komputer atau logout dan kembali ke akun pengguna.

untuk informasi lebih lanjut:

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

pengguna3817989
sumber
44
hanya berlaku untuk sistem file jaringan
David P. Caldwell
2

Masukkan baris berikut ke dalam file ".profile" Anda.

Buka file profil. Dan salin baris ini

find ~/ -name '.DS_Store' -delete

Ketika Anda membuka jendela terminal, itu akan secara otomatis menghapus file .DS_Store Anda untuk Anda.

Shanaka
sumber
9
menjalankan ini saat login memperlambat segalanya, jadi saya hanya membuat alias ini:alias nomore='find ./ -iname .DS_Store -delete'
BenjaminGolder
6
Wow. Ide yang bagus. Tidak. [/ ironi mati] Bayangkan memiliki banyak folder dan banyak file .DS_Store dan bayangkan menelusuri semua file yang cocok dengan .DS_Store setiap kali shell Anda memulai. Saya tahu pertanyaan ini sudah lama tetapi saya pikir harus ditulis bahwa ini bukan ide yang baik.
thonixx
3
Jadi, apakah [/ ironi dimatikan] mematikan ironi Anda atau mengakhiri ironi Anda dengan menghidupkannya?
Connor
Ini adalah cara terbaik untuk menghabiskan waktu (produktif) saat mac mencari ratusan K's file pada disk.
javadba
-7

file ini mulai muncul ketika Anda memilih sistem menunjukkan kepada Anda file-file yang disembunyikan: $ default write com.apple.finder AppleShowAllFiles TRUE Jika Anda menjalankan perintah ini menghilang $ default write com.apple.finder AppleShowAllFiles FALSE Gunakan terminal

Dgconcalves
sumber
2
Pertanyaannya adalah bagaimana cara menghentikan file agar tidak dibuat, bukan bagaimana menyembunyikannya.
Steve Buzonas
-7

fungsi

find ~/ -name '.DS_Store' -delete

, menghapus file .DS menyimpan sementara. Namun saya tidak yakin, apakah file tersebut akan kembali di Mac. Saya juga melihat sesuatu yang aneh, "DS_Store" mulai berdatangan ke Mac setelah menginstal 'ATOM'. Jadi, tolong pastikan untuk memindai dengan benar perangkat lunak pihak ketiga Anda sebelum menginstalnya. Terbaik

Menukar
sumber
5
File .DS_Store dibuat oleh OSX Finder
Fran Marzoa
1
Pertanyaannya adalah bagaimana cara menghentikan file yang sedang dibuat. Jawaban ini adalah cara menghapusnya. Selain itu, ATOMtidak membuat file. The Finderaplikasi menciptakan mereka ketika mengunjungi folder untuk posisi toko ikon, dipilih tampilan untuk folder, gambar latar belakang, dll DS_Store, DS adalah Desktop Services.
Steve Buzonas
-12

Jika Anda ingin .DS_Storefile menjadi tidak terlihat (masih ada tetapi tidak dapat dilihat) kemudian jalankan perintah berikut di jendela "Terminal":

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

Ini akan menetapkan standar sistem untuk berhenti menampilkan file-file ini di Desktop Anda dan di tempat lain. Ini juga akan me-restart Finder untuk membuat perubahan ini terlihat (terutama di Desktop Anda).

Edward Grabczewski
sumber
5
Itu tidak menjawab pertanyaan yang diajukan.
tidak ada orang
Menyembunyikan tampilan file tersembunyi tidak menghapus pembuatan file .DS_Store, yang merupakan pertanyaan yang ditanyakan. Ini jawaban yang mengerikan.
MattBoothDev
Pertanyaannya adalah bagaimana cara menghentikan file yang sedang dibuat. Solusi ini menyembunyikannya (dan file lainnya) hanya di Finder.
Steve Buzonas