Désactivation de la notification «Votre disque est presque plein»

117

Après la mise à niveau vers macOS Sierra, le message suivant s'affiche: "Votre disque est presque plein. Gagnez de la place en optimisant le stockage."

notification macOS

Les options semblent être de stocker mes fichiers dans iCloud, de supprimer automatiquement des fichiers ou de supprimer manuellement des fichiers:

entrez la description de l'image ici

Mon problème / irritation est que j'ai 80 Go libre de mon volume de 440 Go.

La question: existe-t-il un moyen de faire taire cette notification de manière (semi-) permanente , ou de modifier le seuil utilisé pour la notification?

Mike Boers
la source
10
Idem ici: "Vous ne disposez que de 17,57 Go de stockage. Gagnez de la place en optimisant votre stockage." sur mon stockage flash Macbook Pro. Ridicule.
Kenorb
Quelques suggestions, même si certaines me font frémir. Mais quand les choses sont agaçantes, il faut parfois les essayer.
Zonker.in.Geneva
La mise à niveau de Mojave vers 10.14.1 semble avoir corrigé ce bogue.
garageàtrois
3
@ garageàtrois Depuis la mise à niveau vers Mojave, je reçois la notification plus souvent, à savoir toutes les quelques minutes!
Bhav
Et vous avez vidé la corbeille?
Lisa Ann

Réponses:

114

La solution pour désactiver les notifications "presque complète" et "complète" consiste à désactiver le démon qui en est responsable:

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

ou

launchctl stop com.apple.diskspaced

Alternativement, si vous voulez seulement empêcher le "presque plein" d'apparaître si souvent, vous pouvez baisser le seuil de Go via:

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

La valeur par défaut de 20 Go est trop élevée pour les petits SSD et un bogue possible provoque l'affichage de l'alerte tous les jours plutôt qu'une seule fois. Vous pouvez ainsi réduire l'espace disponible avant l'apparition de l'alerte, par exemple à 10 Go:

defaults write com.apple.diskspaced minFreeSpace 10

Le démon ne lit ses préférences qu'au démarrage, vous devez donc le redémarrer si l'intégrité du système est désactivée:

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

Sinon tuez-le:

killall diskspaced

Si les autres préférences de ces alertes de disque vous intéressent, vous pouvez en afficher certaines à l'aide du paramètre d'aide:

/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.

Et voici quelques cachés:

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

Je n'ai pas trop regardé, mais il est possible que le fait de fixer la dernière date d'avertissement à une date ultérieure empêche également l'affichage de l'alerte.

malhal
la source
10
osX est pathétique, vous devez utiliser un terminal pour désactiver ces fonctions.
Jamie Hutber
16
Opération interdite tant que la protection de l'intégrité du système est activée
Raptor
21
"un bogue possible provoque l'affichage de l'alerte tous les jours" Le mien apparaît toutes les cinq secondes. Cette réponse a vraiment aidé.
user3247189
3
Ouais avec Mojave, cette alerte surgit toutes les 20 secondes pour moi, pas tous les jours. Peut-être que si Xcode cessait d'installer automatiquement des fichiers de simulateur d'une valeur de 20 Go à chaque mise à jour, ce ne serait pas un problème. Hélas ... @malhal, j'ai défini defaultune valeur inférieure pour l'espace minimum. Existe-t-il un moyen de voir les valeurs par défaut que vous avez modifiées manuellement, ou devrais-je suivre quelque chose comme cela moi-même?
Jake T.
8
Nous avons besoin d'une réponse mise à jour pour Mojave
zcahfg2
40

macOS Mojave

Voir: Comment accéder aux valeurs / valeurs par défaut du système d'un démon de lancement

macOS Sierra

Sur Sierra, cette commande n'a pas fonctionné pour moi:

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

en raison de la protection de l’intégrité du système , pour arrêter le diskspacedservice, exécutez:

launchctl stop com.apple.diskspaced

Remarque: Utilisez startpour redémarrer ou listpour voir les détails (par exemple, son PID).

Si le service redémarre après un certain temps, essayez la commande suivante pour l'arrêter:

killall -STOP diskspaced

Modification du niveau et de l'intervalle d'avertissement

Pour modifier les paramètres par défaut de l'utilisateur, voici quelques exemples de commandes:

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

Puis redémarrez le service:

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

Pour voir les paramètres chargés, exécutez diskspaced, par exemple:

$(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

Remarques

Je crois que les paramètres mentionnés par @malhal n'existent plus. Voici une commande simple pour tester ceci:

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

Dépannage

Vérifiez les journaux avec cette commande pour tout avertissement:

grep com.apple.diskspaced /var/log/system.log
Kenorb
la source
2
Exécuter ces commandes à partir de Mojave ne semble pas avoir d’effet.
Jonathan Allard
@kenorb, donc que fait cette dernière commande grep, pour macOS mojave, je reçois une sortie différente (voir ici) , et j'essaie de l'utiliser pour désactiver le popup sur Mojave. Des idées comment cela pourrait être fait?
QuantumHoneybees
1
Toujours sous Sierra sur un MBA 2012. Ce nag screen était agaçant et m'a mis dans une position qui me permettait de ne pas acheter un autre Macbook. killall -STOP disckspaced a corrigé cela pour moi ... Merci
mrSidX
10

Je pense que cette notification est un bug.

J'ai 760 Go libres sur mon lecteur (un lecteur de 1 To) et reçois toujours cette même notification chaque matin depuis la mise à niveau vers Sierra.

J'ai activé Optimiser le stockage (mais pas stocker dans iCloud).

Will Henderson
la source
7
Il existe un processus système appelé deletedqui purge les caches et chaque fois qu'il le fait, il envoie une CACHE_DELETE_PURGEABLE_UPDATEDnotification distribuée à toutes les applications. Chaque fois que cette notification est envoyée, la notification "Votre disque est presque plein" s'affiche. Je pense donc que c'est un bogue dans une application qui écoute cette notification distribuée.
Inket
1
@inket Comment regarder ces notifications?
Mike Boers
4
Je suis d'accord sur Mojave 10.14, aucun de ceux-ci suggérant n'a rien fait. C'est vraiment énervant.
vknyvz
2

L'activation du mode Ne pas déranger pour les notifications annulera les notifications "Votre disque est presque plein". Il y a un inconvénient car cela fera taire toutes les notifications.

barre latérale de notification avec ne pas déranger activé, il est écrit "sera désactivé demain" en dessous

Cela n’aidera pas à résoudre le problème sous-jacent de saturation trop importante de votre disque . En outre, vous devrez peut-être réactiver Ne pas déranger. Il semble qu'il soit possible de le laisser rester allumé sauf une minute de la journée environ, mais je ne suis pas sûr que les développeurs aient prévu que Ne pas déranger soit utilisé en permanence.

volet des préférences de notification défini pour ne pas déranger de 00h00 à 23h59

Dwightk
la source