Есть ли способ (например, бинарный взлом в Finder), чтобы он не создавал .DS-хранилища на локальных томах?
Я использую Leopard, поэтому они не работают:
- Асептика (требуется лев)
- TotalFinder (требуется Snow Leopard)
Кроме того, BlueHarvest замедляет мой компьютер.
Ответы:
Сторонние решения
По моему опыту, BlueHarvest является лучшим в своем классе. Технически, это не ответ на вопрос; это может удалить, но не предотвратить
.DS_Store
файлы.Если BlueHarvest эффективен, но не подходит для вашего случая использования, становится трудно дать приемлемый ответ на ваш вопрос.
Если у вас нет приемлемого стороннего решения, вы должны работать с тем, что является неотъемлемой частью Leopard…
Без стороннего решения: ограничьте использование Finder
Избегая просмотра, которые вы не хотите сохранять, вы можете предотвратить создание
.DS_Store
файлов.Большинству пользователей будет сложно сдерживать себя таким образом, но это верный ответ в рамках ограничений вопроса.
http://diigo.com/0qiwp для аннотированного представления http://lists.apple.com/archives/applescript-users/2006/Jun/msg00180.html, где объясняет Мэтт Дитхерадж (бывший инженер Apple)
.DS_Store
и другие типы файлов.источник
Я не нашел способа предотвратить их создание, но вы можете удалить их автоматически с помощью скрипта:
Запускайте его каждые X минут через
launchd
илиcron
. На моем многолетнем iMac почти не требуется времени. Он будет искать только ваш $ HOME (~), но именно там будет большинство из них. Измените ~ на /, если вы хотите удалить их по всему диску, но это займет гораздо больше времени, поэтому настройте частоту соответствующим образом.источник
find ~ -name .DS_Store -delete
. И не забывайте-name
флаг - без него команда будет применяться ко всем файлам в~
и./.DS_Store
.Чтобы предотвратить появление этих уродливых файлов .DS_Store, существует относительно новая возможность сделать это чисто, не только для сетевых дисков, например:
но также для томов, подключенных через USB:
Относительно названия вопроса OPs, это лучшее решение без хаков, так как оно учитывает не только неправильное поведение сети, но и влияет на большинство подключенных дисков. И это может быть самым большим раздражением для большинства пользователей, использующих такие устройства, как USB-накопители, в разных средах. Он использует только параметры, предоставленные Apple, и никак не мешает нормальной работе.
Относительно конкретной ситуации, описанной в теле OP, она имеет ограниченную ценность, так как эта опция USB доступна только в более поздних версиях OS X / macOS. Кроме того, это все еще не решает проблему
.DS_Store
создания на внутренних дисках, где они также могут быть . Хотя в этом месте они действительно могут служить какой-то цели.Более всеобъемлющее решение этой проблемы, хотя и более хакерское, которое работает на большинстве версий операционной системы Mac, заключается в следующем: полностью уничтожить это неприятное поведение на всех дисках - и с бинарным патчером / инжектором кода, подобным вопросу ОП жаждет - есть DeathToDSStore / с источником .
Обе эти опции предполагают, что кто-то все еще использует Finder ... Использование другого файлового менеджера также решило бы эту проблему. Есть множество претендентов на замену Finder для управления файлами в macOS. Двое из лучших собак в этой области - Pathfinder или XFile .
источник
Попробуйте эту команду: по умолчанию напишите com.apple.desktopservices DSDontWriteNetworkStores true в терминале. Кажется, это работает для меня.
источник
Я сделал более эффективный скрипт (предназначенный для непрерывной работы в качестве демона), он
find
вначале выполнит одно выполнение, чтобы стереть уже существующие файлы, и будет перехватывать новые файлы в режиме реального времени через fsevents. Таким образом, они будут немедленно уничтожены при создании, а использование ресурсов очень низкое. AFAIK это самый лучший способ избавиться от них без отключения SIP.Вот оно - https://github.com/magicgoose/DS_Store-Kill
источник