LOCALボリュームに.DSストアを作成しないようにする方法(Finderへのバイナリハックなど)はありますか?
私はLeopardを使用しているため、これらは機能しません。
- 無菌(ライオンが必要)
- TotalFinder(Snow Leopardが必要)
また、BlueHarvestはコンピューターの速度を低下させます。
LOCALボリュームに.DSストアを作成しないようにする方法(Finderへのバイナリハックなど)はありますか?
私はLeopardを使用しているため、これらは機能しません。
また、BlueHarvestはコンピューターの速度を低下させます。
回答:
私の経験では、BlueHarvestはクラス最高です。技術的には、質問に対する答えではありません。ファイルを削除することはできますが、防止することはできません.DS_Store
。
BlueHarvestが効果的であるが、ユースケースに合わない場合は、質問に受け入れ可能な答えを出すことが難しくなります。
受け入れ可能なサードパーティのソリューションがない場合は、Leopardに不可欠なものを使用する必要があります…
保存したくないビューを避けることにより、.DS_Store
ファイルの作成を防ぐことができます。
ほとんどのユーザーは、この方法で自分自身を抑制することは難しいと感じるでしょうが、それは質問の制限内の真の答えです。
http://diigo.com/0qiwp注釈付きのビューのためのhttp://lists.apple.com/archives/applescript-users/2006/Jun/msg00180.htmlマットDeatherage氏(アップル社の元エンジニア)が説明.DS_Store
し、他のファイルの種類。
作成されないようにする方法は見つかりませんでしたが、スクリプトを使用して自動的に削除できます。
#!/bin/sh
find ~ -name .DS_Store -exec /bin/rm -f -- {} \;
exit 0
launchd
またはでX分ごとに実行しますcron
。私の数年前のiMacで走るのにほとんど時間はかかりません。$ HOME(〜)のみを検索しますが、ほとんどの場合はそこにあります。ドライブ全体から削除する場合は〜を/に変更しますが、実行に非常に時間がかかるため、それに応じて頻度を調整します。
find ~ -name .DS_Store -delete
。そして、忘れてはいけない-name
フラグを-それなしのコマンドは、内のすべてのファイルに適用される~
と./.DS_Store
。
これらのい.DS_Storeファイルが表示されないようにするには、ネットワークドライブだけでなく、次のようなきれいにこれを行う比較的新しいオプションがあるようです。
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
USB接続ボリュームの場合:
defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true
OPの質問タイトルと比較して、これはハッキングのない最良のソリューションです。これは、ネットワークの不正動作だけでなく、接続されているほとんどのディスクにも影響するためです。そして、これらは異なる環境間でUSBスティックのようなデバイスを共有するほとんどのユーザーにとって最大の迷惑かもしれません。Appleが提供するオプションのみを使用し、通常の操作を妨げることはありません。
このUSBオプションはOS X / macOSの新しいバージョンでのみ使用可能なため、OP本体で説明されている具体的な状況と比較すると、値は限られています。さらに、これは.DS_Store
内部ディスクでの作成の問題にはまだ対処していません。内部ディスクは対処するのも面倒です。その場所では実際に何らかの目的に役立つかもしれませんが。
Macオペレーティングシステムのほとんどのバージョンで動作する、この問題に対するより包括的な解決策は、よりハッキングなものではありますが、次のとおりです。 OPは待ち望んでいます-DeathToDSStore / with sourceがあります。
これらのオプションは両方とも、まだFinderを使用していることを前提としています…別のファイルマネージャを使用してもこの問題を解決できます。macOSでのファイル管理のためにFinderに代わる多くの候補があります。このフィールドの上位2匹はPathfinderまたはXFileです。
次のコマンドを試してください。デフォルトでは、ターミナルでcom.apple.desktopservices DSDontWriteNetworkStoresをtrueに書き込みます。それは私のために働くようです。
より効率的なスクリプトを作成しました(デーモンとして継続的に実行することを目的としています)。find
最初に1回実行して既存のファイルを消去し、fseventsを介してリアルタイムで新しいファイルをキャッチします。そのため、作成されるとすぐに削除され、リソースの使用量は非常に少なくなります。私の知る限り、これはSIPを無効にすることなくそれらを取り除くための最良の方法です。
ここにあります— https://github.com/magicgoose/DS_Store-Kill