J'ai un problème dans Catalina que je ne sais pas comment résoudre. Chaque fois qu'une notification provenant de Reminders arrive sur mon Mac, elle réveille l'ordinateur, qui à son tour réveille l'écran externe auquel il est connecté. La fonction Ne pas déranger est activée pendant que l'écran est en veille et verrouillé, et ce depuis que la fonction Ne pas déranger fait partie de MacOS. Ce problème, cependant, a commencé à se produire avec la toute première bêta de Catalina, et a persisté jusqu'à la version publique et maintenant même la bêta actuelle. Cela ne s'est jamais produit avant Catalina. J'ai des rappels récurrents à 7h00 tous les jours pour mon réveil, et cela allume mon écran externe tous les matins. Pire encore, si j'ai mon Apple Watch allumée et qu'une notification de rappel arrive sur le Mac, lorsque l'écran se réveille, il se déverrouille également. Je suis perdu, à moins qu'il ne s'agisse simplement d'un bug de Catalina qui devra être corrigé un jour.
Réponse
Trop de publicités?Il semble qu'Apple ne considère plus les Rappels comme de simples notifications.
Peu importe ce que pmset
Les paramètres que j'ai essayés, pmset -g log
montre des entrées comme celle-ci
2020-07-27 14:39:12 -0700 Sleep Entering Sleep state due to 'Software Sleep pid=533':TCPKeepAlive=active Using AC (Charge:100%)
2020-07-27 14:39:17 -0700 Wake Requests [process=mDNSResponder request=Maintenance deltaSecs=7200 wakeAt=2020-07-27 16:39:17] [*process=powerd request=UserWake deltaSecs=43 wakeAt=2020-07-27 14:40:00 info="com.apple.alarm.user-visible-com.apple.remindd.time-alarm,484"]
Cela m'indique que lorsque l'ordinateur se met en veille, le démon Reminder établit une demande de réveil pour la prochaine fois qu'un rappel est déclenché. Ceci est vrai même si les options "Wake for network access" et "Power Nap" sont désactivées dans Energy Saver. Cela m'indique également que la désactivation de "Power Nap" n'empêche pas, en fait, l'ordinateur de se réveiller pendant la veille. (Il s'avère que le réveil de maintenance est destiné à Find My Mac, mais c'est une autre histoire).
Il semble qu'il n'y ait pas de moyen agréable de résoudre ce problème.
La désactivation des rappels ne fonctionne pas
- Le fait de paramétrer Ne pas déranger dans les notifications ou de désactiver entièrement les notifications de rappel n'empêche pas le système de se réveiller lorsque le prochain rappel est programmé.
- Même si vous supprimez tous les rappels du système en déconnectant Reminders d'iCloud (et en n'ayant aucun rappel local), cela ne supprime pas le réveil programmé existant.
- Même en supprimant manuellement le réveil programmé avec
sudo pmset schedule cancelall
n'empêche pas le réveil d'être programmé lorsque l'ordinateur se met en veille.
- Même en supprimant manuellement le réveil programmé avec
La seule chose que j'ai trouvée et qui a fonctionné est de déconnecter Reminders d'iCloud puis de redémarrer l'ordinateur. Bien sûr, cela signifie que les rappels ne s'affichent jamais sur l'ordinateur.
Cela ne fonctionne pas non plus
Je pensais pouvoir résoudre ce problème en modifiant la plist des paramètres par défaut de la plateforme, comme expliqué ci-dessous. Cependant, le plist est une partie signée du PlugIn, et bien sûr, l'édition a fait en sorte que la signature ne corresponde pas, donc il n'a pas été chargé. Je laisse ceci ici au cas où quelqu'un voudrait s'en inspirer pour trouver un autre moyen de contourner le paramètre.
Modifier le plist de configuration de la plateforme
-
Obtenez les données de votre système
board-id
en courantioreg -l | grep board-id
ce qui devrait donner quelque chose comme| "board-id" = <"Mac-0CFF9C7C2B63DF8D">
-
Vérifiez que votre lecteur de démarrage contient le fichier IOPlatformPluginFamily pour votre board-id :
/System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resource/Mac-0CFF9C7C2B63DF8D.plist
(remplacer Mac-0CFF9C7C2B63DF8D
avec l'ID de la carte générée par la commande précédente) et enregistrez une copie de celle-ci dans un endroit sûr, afin de pouvoir la restaurer si quelque chose ne va pas.
-
Faites une copie de la copie pour pouvoir la modifier. Assurez-vous que la copie se trouve sur votre lecteur de démarrage.
-
Modifiez le fichier. Vous pouvez utiliser
PlistBuddy
si vous l'avez et pouvez le trouver, ouvi
ou peut-être voulez-vous éditer une copie du fichier avant de passer en mode de récupération et l'avoir à portée de main. Avec un éditeur de texte :-
Trouver les lignes
<key>NotificationWake</key> <true/>
-
-
Changez la deuxième ligne en
<key>NotificationWake</key> <false/>
-
ou avec
PlistBuddy
PlistBuddy <board-id>.plist Command: print :IOPlatformPowerProfile:NotificationWake true Command: set :IOPlatformPowerProfile:NotificationWake false Command: print :IOPlatformPowerProfile:NotificationWake false Command: save
-
Soit en démarrant en mode de récupération et en montant votre disque de démarrage (recommandé si vous savez comment faire et si vous êtes à l'aise avec le terminal), soit en désactivant SIP (non recommandé, apprenez à le faire de l'autre façon), arrivez à un état où vous pouvez éditer les fichiers système.
-
Allez à la
/System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resource
en gardant à l'esprit que si vous êtes en mode Recovery, ce répertoire sera sous/Volumes/<something>
. -
Copiez votre version éditée de la
<boot-id>.plist
dans ce répertoire, en écrasant la version existante. Le nom du fichier doit correspondre à l'original. Encore une fois, gardez à l'esprit qu'en mode de récupération, votre copie sera sous/Volumes/<something>
-
Redémarrage.
Préparez-vous à ce qu'elle soit réinitialisée lors de la prochaine mise à jour du système d'exploitation.