Apakah ada cara untuk mencegah file .DS_Store sial itu tidak pernah dibuat?

14

Apakah ada cara (mis. Hack biner ke Finder) untuk menghentikannya membuat .DS-Store di Volume LOCAL?

Saya menggunakan Leopard, oleh karena itu ini tidak berfungsi:

Juga, BlueHarvest memperlambat komputer saya.

kinokijuf
sumber
1
Lihat: Mencegah MacOS membuat file. * Dan ._ * - alasan spesifik mengapa Anda tidak menginginkan ini?
slhck
@ Slhck: blueharvest bekerja, tetapi memperlambat komputer saya. Saya mencari sesuatu seperti ini
kinokijuf
Saya lupa bahwa TotalFinder hanya berfungsi pada ≥ 10.6, maaf.
slhck
Pertanyaan ini akan terlalu terlokalisasi jika itu khusus untuk Leopard dan sebelumnya. Jawaban dapat menyebutkan versi terendah saat ini atau yang didukung tertinggi di mana berlaku.
Lri

Jawaban:

3

Solusi pihak ketiga

Dalam pengalaman saya, BlueHarvest adalah yang terbaik di kelasnya. Secara teknis, ini bukan jawaban untuk pertanyaan; itu dapat menghapus tetapi tidak mencegah .DS_Storefile.

Jika BlueHarvest efektif tetapi tidak sesuai dengan kasus penggunaan Anda, menjadi sulit untuk memberikan jawaban yang dapat diterima untuk pertanyaan Anda.

Jika Anda tidak memiliki solusi pihak ketiga yang dapat diterima, maka Anda harus bekerja dengan apa yang tidak terpisahkan dengan Leopard ...

Tanpa solusi pihak ketiga: tahan penggunaan Finder Anda

Dengan menghindari tampilan yang tidak ingin Anda simpan, Anda dapat mencegah pembuatan .DS_Storefile.

Sebagian besar pengguna akan merasa sulit untuk menahan diri dengan cara ini, tetapi itu adalah jawaban yang benar dalam keterbatasan pertanyaan.

http://diigo.com/0qiwp untuk tampilan beranotasi http://lists.apple.com/archives/applescript-users/2006/Jun/msg00180.html di mana Matt Deatherage (mantan insinyur di Apple) menjelaskan .DS_Storedan lainnya jenis file.

Graham Perrin
sumber
6

Saya belum menemukan cara untuk mencegahnya dibuat, tetapi Anda dapat menghapusnya secara otomatis dengan skrip:

#!/bin/sh

find ~ -name .DS_Store -exec /bin/rm -f -- {} \;

exit 0

Jalankan setiap X menit melalui launchdatau cron. Hampir tidak ada waktu untuk berjalan di iMac saya yang berusia beberapa tahun. Ini hanya akan mencari $ HOME Anda (~) tetapi di situlah sebagian besar dari mereka. Ubah ~ ke / jika Anda ingin menghapusnya di seluruh drive, tetapi itu akan memakan waktu lebih lama untuk dijalankan, jadi sesuaikan frekuensinya.

TJ Luoma
sumber
1
Anda juga bisa menggunakannya find ~ -name .DS_Store -delete. Dan jangan lupa -namebenderanya - tanpanya perintah akan berlaku untuk semua file di ~dan ./.DS_Store.
Lri
1
Saya tahu saya bisa menggunakan skrip, tetapi jawaban Anda tidak menjawab pertanyaannya.
kinokijuf
Jawaban atas pertanyaan itu adalah "tidak." Tidak ada cara untuk menghentikan mereka agar tidak dibuat (kecuali pada bagian jaringan, yang juga bukan pertanyaannya). Jawaban ini mencoba mencapai hasil akhir yang sama. Jika SE memiliki kategori balasan yang disebut "Penanganan Masalah" saya akan meletakkannya di bawah itu. Ini tentu saja tidak lebih buruk dari "jawaban" daripada daemon yang melekat pada suatu kerangka kerja (< asepsis.binaryage.com/> ), dan jauh lebih aman daripada meretas ke dalam sistem biner, dan itu berjalan pada semua versi Mac OS X.
TJ Luoma
Kecuali itu tidak mencapai hasil akhir yang sama. Blueharvest adalah solusi yang lebih baik (hasil akhir yang sama, kecuali fakta bahwa komputer menjalankan loke a hog). Juga asepsis adalah pengemudi IIRC.
kinokijuf
1
@kinokijuf, jatuhkan sikap yang berhak. Ketika seseorang menawarkan bantuan gratis kepada Anda , Anda tidak perlu mengkritiknya. Cukup adil untuk menyatakan, sekali saja, bahwa itu bukan yang Anda cari, tetapi pembelaan TJ Luoma (yang Anda anggap perlu) lebih dari cukup sebagai isyarat bagi Anda untuk tutup mulut. Astaga.
r_alex_hall
4

Untuk mencegah file .DS_Store jelek itu muncul, tampaknya ada opsi yang relatif baru untuk melakukan ini dengan bersih, tidak hanya untuk drive jaringan, seperti:

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true

tetapi juga untuk volume yang terhubung USB:

defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true

Sehubungan dengan judul pertanyaan OPs, ini adalah solusi terbaik tanpa peretasan, karena tidak hanya mengatasi kesalahan jaringan tetapi juga berpengaruh pada sebagian besar disk yang terhubung. Dan itu mungkin gangguan terbesar bagi sebagian besar pengguna yang berbagi perangkat seperti USB stick antara lingkungan yang berbeda. Ini hanya menggunakan opsi yang disediakan Apple dan tidak mengganggu operasi normal dengan cara apa pun.

Relatif terhadap situasi konkret yang dijelaskan dalam badan OP itu nilainya terbatas, karena opsi USB ini hanya tersedia di versi OS X / macOS yang lebih baru. Lebih lanjut, ini masih tidak membahas masalah .DS_Storepembuatan pada disk internal, di mana mereka juga bisa merepotkan. Meskipun di tempat itu mereka mungkin benar-benar melayani semacam tujuan.

Solusi yang lebih komprehensif untuk masalah ini, meskipun yang lebih bersifat meretas, yang berfungsi pada sebagian besar versi sistem operasi Mac adalah sebagai berikut: Untuk benar-benar menghentikan perilaku buruk ini pada semua disk - dan dengan penambah kode biner patcher / kode seperti pertanyaan dari OP merindukan - ada DeathToDSStore / dengan sumber .

Kedua opsi ini mengasumsikan bahwa siapa pun masih menggunakan Finder ... Menggunakan file manager yang berbeda juga akan menyelesaikan masalah ini. Ada banyak pesaing untuk menggantikan Finder untuk manajemen file di macOS. Dua anjing teratas di bidang ini adalah Pathfinder atau XFile .

LаngLаngС
sumber
2
+1 untuk perintah USBStores (saya tidak tahu yang itu!) Dan juga DeathToDSStore.
Wowfunhappy
3

Coba perintah ini: default tulis com.apple.desktopservices DSDontWriteNetworkStores true di terminal. Tampaknya bekerja untuk saya.

Siriss
sumber
4
Ini hanya berfungsi untuk jaringan, bukan untuk volume lokal.
kinokijuf
Anda benar. Saya minta maaf atas kebingungan saya.
4
Ini adalah satu-satunya kasus nyata di mana saya bisa melihat .DS_Stores menjengkelkan. Tersembunyi di Mac OS secara default, dan sangat penting untuk menyimpan pengaturan tampilan untuk masing-masing folder
Alexander - Reinstate Monica
2
Tapi saya tidak ingin menyimpan pengaturan tampilan.
kinokijuf
1

Saya telah membuat skrip yang lebih efisien (dimaksudkan untuk dijalankan terus menerus sebagai daemon), itu akan melakukan satu eksekusi finddi awal untuk menghapus file yang sudah ada dan akan menangkap file baru secara real time melalui beberapa fsevents. Jadi mereka akan segera dihapus saat mereka diciptakan, dan penggunaan sumber daya sangat rendah. AFAIK ini adalah cara terbaik untuk menyingkirkan mereka tanpa menonaktifkan SIP.
Ini dia - https://github.com/magicgoose/DS_Store-Kill

Nama tampilan
sumber