Отключение уведомления «Ваш диск почти заполнен»

После обновления до macOS Sierra я получаю уведомление о том, что «Ваш диск почти заполнен. Экономьте место, оптимизировав хранилище»:

уведомление macOS

Возможны варианты: хранить мои файлы в iCloud, автоматически удалять файлы или удалять файлы вручную:

введите описание изображения здесь

Моя проблема/раздражение в том, что у меня есть 80 ГБ свободных 440 ГБ.

Вопрос: есть ли способ отключить это уведомление (полу)постоянно или изменить порог, который он использует для уведомления?

То же самое и здесь: «У вас всего 17,57 ГБ памяти. Экономьте место, оптимизировав память». на моем флэш-накопителе Macbook Pro. Смешной.
Несколько предложений, хотя некоторые заставляют меня съеживаться. Но, когда что-то раздражает, иногда нужно попробовать.
Обновление Mojave до 10.14.1, похоже, исправило эту ошибку.
@garageàtrois После обновления до Мохаве я получаю уведомления чаще, то есть каждые несколько минут!
А ты выкинул мусор?
Это вполне может быть резервное копирование Time Machine, занимающее место.
JFC Я хотел пробить свой Mac Book в течение 3 лет STFU APPLE IM НЕ ИДИОТ ОСТАЛОСЬ 6 GIGS НЕ ГАРАНТИРУЕТ БЛЯДСКОЕ ПРЕДУПРЕЖДЕНИЕ КАЖДЫЕ 5 МИНУТ

Ответы (4)

Решение для отключения «почти полного» и «полного» уведомления состоит в том, чтобы отключить ответственного за него демона:

launchctl unload -w /System/Library/LaunchAgents/com.apple.diskspaced.plist

или же

launchctl stop com.apple.diskspaced

В качестве альтернативы, если вы хотите, чтобы «почти полный» не появлялся так часто, вы можете снизить порог ГБ с помощью:

minFreeSpace (int) - minimal free size in GB. Default: 20

Значение по умолчанию 20 ГБ слишком велико для небольших твердотельных накопителей, и возможная ошибка приводит к тому, что предупреждение отображается каждый день, а не только один раз, поэтому в качестве обходного пути вы можете уменьшить свободное пространство до появления предупреждения, например, до 10 ГБ:

defaults write com.apple.diskspaced minFreeSpace 10

Демон считывает свои настройки только при запуске, поэтому вам необходимо перезапустить его, если у вас отключена целостность системы:

launchctl unload -w /System/Library/LaunchAgents/com.apple.diskspaced.plist
launchctl load -w /System/Library/LaunchAgents/com.apple.diskspaced.plist

В противном случае убить его:

killall diskspaced

Если вас интересуют другие настройки для этих предупреждений о диске, вы можете просмотреть некоторые из них, используя параметр справки:

/System/Library/PrivateFrameworks/StorageManagement.framework/Versions/A/Resources/diskspaced help
---
  Domain: com.apple.diskspaced
  Supported keys:
  debugLog (BOOL) - log additional debug information. Default: NO
  checkAllVolumes (BOOL) - check all volumes. Default: NO
  minDiskSize (int) - minimal disk size in GB. Default: 128
  minFreeSpace (int) - minimal free size in GB. Default: 20
  minPurgeableSpace (int) - minimal purgeabe space size in GB. Default: 20
---
  Commands: removeAllNotifications - Removes all scheduled and delivered user notificiations.

И вот парочка скрытых:

warningInterval (integer default 0)
lastWarningDate (string e.g. 2017-05-05 16:48:29 +0000)

Я не смотрел слишком внимательно, но возможно, что установка даты последнего предупреждения на дату в будущем также предотвратит отображение предупреждения.

обратите внимание, что решение «по умолчанию» привязано к учетной записи, выполняющей команду. Сначала я запускал его с помощью «sudo», и это не сработало. без sudo все хорошо.
osX чертовски жалко, что вам нужно использовать терминал, чтобы отключить эти вещи.
Операция не разрешена, пока включена защита целостности системы
Хотя даже с помощью sudoя получаю /System/Library/LaunchAgents/com.apple.diskspaced.plist: Could not find specified service.
«возможная ошибка приводит к тому, что оповещение отображается каждый день». Мой появляется каждые 5 гребаных секунд. Этот ответ действительно помог.
Да, с Мохаве это оповещение появляется у меня буквально каждые 20 секунд, а не ежедневно. Возможно, если бы Xcode перестал автоматически устанавливать файлы симулятора на 20 ГБ при каждом обновлении, это не было бы проблемой. Увы ... @malhal Я установил defaultменьшее значение минимального пространства. Есть ли способ увидеть, какие значения по умолчанию вы изменили вручную, или я должен сам отслеживать что-то подобное?
Я применил этот параметр к Мохаве, установил меньшее минимальное пространство и увеличил интервал предупреждений, но продолжал получать одно и то же предупреждение даже после перезагрузки.
Нам нужен обновленный ответ для Мохаве
После того, как вы это сделаете, как вы можете получить доступ к программе на скриншоте выше?
Работает на Мохаве?
Не работает для меня--/System/Library/LaunchAgents/com.apple.diskspaced.plist: Could not find specified service
Raptor, вы можете отключить защиту целостности системы, но это делает машину более уязвимой для вредоносных программ. Вместо этого вы можете просто изменить порог минимального дискового пространства на диске с помощью defaults write com.apple.diskspaced minFreeSpace [GB value]. Или вы можете убивать демона при каждом перезапуске с помощью killall diskspaced. Вы даже можете поместить эту команду killall в сценарий запуска. Лично я бы сделал это, а не отключал SIP.
@JamieHutber Мех, я думаю, было бы жалко, если бы вам пришлось использовать графический интерфейс. База Unix буквально является причиной использования OSX.
В чем разница между launchctl unload -wметодом и launchctl stopметодом? И как можно восстановить настройки по умолчанию (на всякий случай)?
@Raptor howtogeek.com/230424/… Но сначала посмотрите ответ Кенорба. launchctl list com.apple.diskspacedчтобы найти PID, затем kill -KILL PID. Хотя ни одна из других команд kill не работала в High Sierra, эта работает.
Ни один из них не работал на High Sierra ... сообщения все еще здесь после перезапуска.

macOS Мохаве

См.: Как получить доступ к значениям запуска демона / системным значениям по умолчанию.

macOS Сьерра

В Sierra эта команда у меня не сработала:

launchctl unload -w /System/Library/LaunchAgents/com.apple.diskspaced.plist

из-за включенной защиты целостности системы , поэтому, чтобы остановить diskspacedслужбу, запустите:

launchctl stop com.apple.diskspaced

Примечание. Используйте start, чтобы начать заново или listпросмотреть подробности (например, его PID).

Если служба перезапускается через некоторое время, попробуйте следующую команду, чтобы остановить ее:

killall -STOP diskspaced

Изменение уровня предупреждения и интервала

Чтобы изменить настройки пользователя по умолчанию, вот несколько примеров команд:

defaults write com.apple.diskspaced freeSpaceWarningLevel 1
defaults write com.apple.diskspaced warningInterval 3600
defaults write com.apple.diskspaced debugLog 1
defaults write com.apple.diskspaced checkAllVolumes 0

Затем перезапустите службу:

launchctl stop com.apple.diskspaced && launchctl start com.apple.diskspaced

Чтобы увидеть загруженные настройки, запустите diskspaced, например:

$(find /System/Library/PrivateFrameworks -name diskspaced -print -quit)
2017-08-04 18:32:27.943 diskspaced[92401:12312556] FreeSpaceWarningLevel: 1
2017-08-04 18:32:27.943 diskspaced[92401:12312556] WarningInterval: 3600
2017-08-04 18:32:27.943 diskspaced[92401:12312556] Check All Volumes: NO

Примечания

Я считаю, что параметры, упомянутые @malhal , больше не существуют. Вот простая команда, чтобы проверить это:

$ grep -A6 debugLog <(strings $(find /System/Library/PrivateFrameworks -name diskspaced -print -quit))
debugLog
freeSpaceWarningLevel
FreeSpaceWarningLevel: %ld
warningInterval
WarningInterval: %ld
checkAllVolumes
Check All Volumes: %@

Исправление проблем

Проверьте журналы с помощью этой команды на наличие предупреждений:

grep com.apple.diskspaced /var/log/system.log
Выполнение этих команд в Мохаве, похоже, не имеет никакого эффекта.
@kenorb, так что же делает эта последняя команда grep, для macOS mojave я получаю другой вывод (см. Здесь) , и я пытаюсь использовать это, чтобы отключить всплывающее окно в Mojave. Есть идеи, как это можно сделать?
Все еще работаю в Sierra на программе MBA 2012. Этот надоедливый экран раздражал и заставил меня не хотеть покупать еще один Macbook. killall -STOP diskspaced исправил это для меня... Спасибо
launchctl list com.apple.diskspacedчтобы найти PID, затем kill -KILL PID. Хотя ни одна из других команд kill не работала в High Sierra, эта работает.
@Magne В High Sierra я получаю «аргументы должны быть идентификаторами процесса или задания»
@MicroMachine, может быть, вы не заменили PIDв команде kill номер PID, который вы нашли с помощью команды launchctl?

Я думаю, что это уведомление является ошибкой.

У меня свободно 760 ГБ на моем диске (диск емкостью 1 ТБ), и я до сих пор получаю одно и то же уведомление каждое утро после обновления до Sierra.

Я включил «Оптимизировать хранилище» (но не «Сохранить в iCloud»).

Существует системный процесс deleted, который очищает кэши и всякий раз, когда это происходит, отправляет CACHE_DELETE_PURGEABLE_UPDATEDраспределенное уведомление всем приложениям. Всякий раз, когда это уведомление отправляется, появляется уведомление «Ваш диск почти заполнен», поэтому я думаю, что это ошибка в каком-то приложении, которое прослушивает это распределенное уведомление.
@inket Как смотреть эти уведомления?
Согласен. Я на Мохаве 10.14, ни одно из этих предложений ничего не сделало. Это действительно раздражает.

Включение режима «Не беспокоить» для уведомлений приведет к отключению уведомлений «Ваш диск почти заполнен». Есть и обратная сторона, так как это отключит все уведомления.

боковая панель уведомлений с включенным режимом «Не беспокоить», внизу написано «Отключится завтра»

Это не поможет решить основную проблему, связанную с тем, что ваш диск слишком заполнен , если он на самом деле слишком заполнен. Кроме того, вам может потребоваться снова включить режим «Не беспокоить». Похоже, что можно оставить его включенным на все, кроме одной минуты в день, но я не уверен, что разработчики намеревались использовать режим «Не беспокоить» постоянно.

в панели настроек уведомлений установлено значение «Не беспокоить» с 00:00 до 23:59.