Bu sinir bozucu .DS_Store dosyalarının oluşturulmasını önlemenin bir yolu var mı?


14

LOCAL Birimlerinde .DS-Stores oluşturmasını durdurmak için bir yol var mı (örn. Finder'a ikili bir kesmek)?

Leopard kullanıyorum, bu yüzden bunlar çalışmıyor:

Ayrıca, BlueHarvest bilgisayarımı yavaşlatır.


1
: Bkz . ._ * dosyaları * etmemesine MacOS ve - herhangi bir özel nedeni neden bu istemiyorsun?
slhck

@slhck: blueharvest çalışıyor, ancak bilgisayarımı yavaşlatıyor. Ben böyle bir şey arıyorum bu
kinokijuf

TotalFinder'ın sadece .6 10.6 üzerinde çalıştığını unuttum.
17'de slhck

Bu soru, Leopard ve daha öncesine özgü olsaydı çok yerel olurdu. Yanıtlar yalnızca geçerli olan en düşük veya en yüksek desteklenen sürümden bahsedebilir.
Lri

Yanıtlar:


3

Üçüncü taraf çözümleri

Deneyimlerime göre, BlueHarvest sınıfının en iyisi. Teknik olarak, sorunun cevabı değildir; o kaldırmak ancak değil engellemek .DS_Storedosyaları.

BlueHarvest etkili ancak kullanım durumunuza uymuyorsa, sorunuza kabul edilebilir bir cevap vermek zorlaşır.

Kabul edilebilir bir üçüncü taraf çözümünüz yoksa, Leopard'ın ayrılmaz unsurlarıyla çalışmalısınız…

Üçüncü taraf çözümü olmadan: Finder kullanımınızı kısıtlayın

Kaydetmek istemediğiniz görünümlerden kaçınarak .DS_Storedosya oluşturmayı engelleyebilirsiniz .

Çoğu kullanıcı kendilerini bu şekilde kısıtlamakta zorlanacak, ancak sorunun sınırlamaları içinde gerçek bir cevap olacaktır.

http://lists.apple.com/archives/applescript-users/2006/Jun/msg00180.html açıklamalı bir görünüm için http://diigo.com/0qiwp burada Matt Deatherage (Apple'da eski bir mühendis) açıklıyor .DS_Storeve diğer dosya türleri.


6

Bunların oluşturulmasını engellemenin bir yolunu bulamadım, ancak bunları bir komut dosyasıyla otomatik olarak silebilirsiniz:

#!/bin/sh

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

exit 0

Her X dakikada bir launchdveya ile çalıştırın cron. Birkaç yaşındaki iMac'imle çalışmak neredeyse hiç zaman almıyor. Sadece $ HOME (~) arama yapacak, ancak çoğu burada olacak. Tüm sürücüyü silmek istiyorsanız ~ ile / değiştirin, ancak bu işlemin çalışması çok daha uzun sürecektir, bu nedenle frekansı buna göre ayarlayın.


1
Ayrıca kullanabilirsiniz find ~ -name .DS_Store -delete. Ve -namebayrağı unutmayın - onsuz komut ~ve içindeki tüm dosyalara uygulanır ./.DS_Store.
Lri

1
Bir senaryo kullanabileceğimi biliyorum, ama cevabınız soruyu cevaplamıyor.
kinokijuf

Sorunun cevabı "hayır" dır. Bunların oluşturulmasını engellemenin bir yolu yoktur (ağ paylaşımları hariç, bu da soru değildi). Bu cevap aynı sonucu elde etmeye çalışır. SE "Geçici Çözüm" adında bir yanıt kategorisi olsaydı, bunu altına koyardım. Bir çerçeveye (< asepsis.binaryage.com/> ) bağlanan bir arka plan programından daha iyi bir "cevap" daha kötü değildir ve bir sistem ikili dosyasına saldırmaktan çok daha güvenlidir ve Mac OS X'in herhangi bir sürümünde çalışır.
TJ Luoma

Ancak aynı sonucu elde edemez. Blueharvest daha iyi bir çözümdür (aynı sonuç, bilgisayarın bir domuz suyunu kaybetmesi için tasarruf edin). Ayrıca asepsi IIRC sürücüsüdür.
kinokijuf

1
@kinokijuf, başlıklı tavrı bırak. Birisi size ücretsiz yardım teklif ettiğinde , onu eleştiremezsiniz. Sadece bir kez, aradığınız şeyin olmadığını söylemek adil , ama TJ Luoma'nın savunması (ne yazık ki gerekli kıldınız) susmanız için bir ipucu . Tanrım.
r_alex_hall

4

Bu çirkin .DS_Store dosyalarının görünmesini önlemek için, bunu sadece ağ sürücüleri için değil, temiz bir şekilde yapmak için nispeten yeni bir seçenek var gibi görünüyor:

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true

USB bağlantılı birimler için de:

defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true

OP soru başlığı ile ilgili olarak, bu sadece ağ hatalı davranışını değil, aynı zamanda çoğu bağlı disk için de etkilendiği için, hack'leri olmayan en iyi çözümdür. Bunlar, farklı ortamlar arasında USB çubukları gibi aygıtları paylaşan çoğu kullanıcı için en büyük sıkıntı olabilir. Yalnızca Apple tarafından sağlanan seçenekleri kullanır ve normal çalışmaya hiçbir şekilde müdahale etmez.

OPs gövdesinde açıklanan somut duruma göre, bu USB seçeneği yalnızca OS X / macOS'un sonraki sürümlerinde kullanılabilir olduğundan, sınırlı bir değere sahiptir. Dahası, bu hala .DS_Storeiç disklerde yaratma sorununu ele almıyor , burada da uğraşmak için bir güçlük olabilir. Her ne kadar o yerde aslında bir tür amaca hizmet edebilirler.

Mac işletim sisteminin çoğu sürümünde çalışan, daha hackish olsa da, bu soruna daha kapsamlı bir çözüm aşağıdaki gibidir: Tüm disklerde bu kötü davranışı tamamen nuke etmek - ve bir ikili yamalı / kod enjektörü ile OP özlüyor - kaynak ile DeathToDSStore / var .

Bu seçeneklerin her ikisi de hala herkesin Finder kullandığını varsayar… Farklı bir dosya yöneticisi kullanmak da bu sorunu çözer. MacOS'ta dosya yönetimi için Finder'ın yerini alacak çok sayıda yarışmacı var. Bu alandaki en iyi köpeklerden ikisi Pathfinder veya XFile'dir .


2
USBStores komutu için +1 (bunu bilmiyordum!) Ve DeathToDSStore.
Wowfunhappy

3

Bu komutu deneyin: varsayılanlar terminalde com.apple.desktopservices DSDontWriteNetworkStores true değerini yazar . Benim için çalışıyor gibi görünüyor.


4
Yerel birimler için değil, yalnızca ağ için çalışır.
kinokijuf

Haklısın. Karışıklık için özür dilerim.

4
Bu .DS_Stores sinir bozucu olduğunu görebildiğim tek gerçek durum. Varsayılan olarak Mac OS'ta gizlidirler ve tek tek klasörler için görünüm ayarlarını kaydetmek için çok önemlidir
Alexander - Reinstate Monica

2
Ancak görünüm ayarlarını kaydetmek istemiyorum.
kinokijuf

1

Daha verimli bir komut dosyası hazırladım (sürekli olarak daemon olarak çalıştırılması amaçlandı), findbaşlangıçta zaten var olan dosyaları silmek için bir yürütme yapacağım ve fsevents aracılığıyla gerçek zamanlı olarak yeni dosyalar yakalayacağım. Böylece, oluşturuldukları anda hemen çukurlaşacaklar ve kaynak kullanımı çok düşük. AFAIK, bu SIP'yi devre dışı bırakmadan onlardan kurtulmanın mümkün olan en iyi yoludur.
İşte - https://github.com/magicgoose/DS_Store-Kill

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.