Tengo un problema en Catalina que no sé cómo resolver. Cada vez que llega una notificación de Recordatorios a mi Mac, despierta el ordenador de la suspensión, lo que a su vez despierta la pantalla externa a la que lo tengo conectado. No molestar está activado mientras la pantalla está en reposo y la pantalla está bloqueada, y ha sido así desde que No molestar es una característica de MacOS. Este problema, sin embargo, comenzó a ocurrir con la primera beta de Catalina, y persistió a través de la versión pública y ahora incluso la beta actual. Nunca ocurrió antes de Catalina. Tengo recordatorios recurrentes a las 7:00 de la mañana todos los días para cuando me despierto, y se ilumina mi pantalla externa cada mañana. Y lo que es peor, si tengo el Apple Watch encendido y me llega una notificación de recordatorio al Mac, cuando la pantalla se despierta también se desbloquea. Estoy perdido, a no ser que esto sea sólo un bug de Catalina que habrá que arreglar en algún momento.
Respuesta
¿Demasiados anuncios?Parece que Apple ya no piensa en los Recordatorios como simples notificaciones.
No importa lo que pmset
ajustes que he probado, pmset -g log
muestra entradas como esta
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"]
Eso me dice que cuando el ordenador se va a dormir, el demonio del Recordatorio está configurando una solicitud de despertar para la próxima vez que suene un recordatorio. Esto es así incluso con la opción "Wake for network access" y "Power Nap" desactivadas en el Ahorro de Energía. También me dice que desactivar "Power Nap" no evita que el ordenador se despierte durante el sueño. (Resulta que el despertar de mantenimiento es para Buscar mi Mac, pero esa es otra historia).
Parece que no hay una buena manera de arreglar esto.
Desactivar los recordatorios no funciona
- La configuración de No molestar en las notificaciones o la desactivación total de las notificaciones de recordatorio no impide que el sistema se despierte cuando se programe el siguiente recordatorio.
- Aunque elimines todos los recordatorios del sistema desconectando Recordatorios de iCloud (y no teniendo recordatorios locales), eso no elimina el despertar programado existente.
- Incluso borrando manualmente el despertar programado con
sudo pmset schedule cancelall
no evita que se programe el despertar cuando el ordenador entra en reposo.
- Incluso borrando manualmente el despertar programado con
Lo único que encontré que funcionó fue desconectar Recordatorios de iCloud y luego reiniciar el ordenador. Por supuesto, esto significa que los recordatorios no aparecen en el ordenador nunca en absoluto.
Esto tampoco funciona
Pensé que podría arreglar esto editando el plist de configuración por defecto de la plataforma, como se explica a continuación. Sin embargo, el plist es una parte firmada del PlugIn, y por supuesto la edición hizo que la firma no coincidiera, por lo que no se cargó. Dejo esto aquí en caso de que alguien quiera basarse en esto para encontrar una manera diferente de anular la configuración.
Editar el plist de configuración de la plataforma
-
Obtenga los datos de su sistema
board-id
corriendoioreg -l | grep board-id
que debería dar como resultado algo así como| "board-id" = <"Mac-0CFF9C7C2B63DF8D">
-
Verifique que su unidad de arranque contiene el archivo IOPlatformPluginFamily para su board-id:
/System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resource/Mac-0CFF9C7C2B63DF8D.plist
(sustituir Mac-0CFF9C7C2B63DF8D
con el identificador de la placa que ha salido del comando anterior) y guarde una copia en algún lugar seguro, para poder restaurarla si algo va mal.
-
Haz una copia para poder editarla. Asegúrese de que la copia está en su unidad de arranque.
-
Editar el archivo. Puede utilizar
PlistBuddy
si lo tiene y puede encontrarlo, ovi
o tal vez quiera editar una copia del archivo antes de entrar en el modo de recuperación y tenerla a mano. Con un editor de texto:-
Encuentra las líneas
<key>NotificationWake</key> <true/>
-
-
Cambie la segunda línea por
<key>NotificationWake</key> <false/>
-
o con
PlistBuddy
PlistBuddy <board-id>.plist Command: print :IOPlatformPowerProfile:NotificationWake true Command: set :IOPlatformPowerProfile:NotificationWake false Command: print :IOPlatformPowerProfile:NotificationWake false Command: save
-
Ya sea arrancando en modo de recuperación y montando tu disco de arranque (recomendado si sabes cómo hacerlo y te sientes cómodo con la Terminal) o desactivando el SIP (no recomendado, aprende a hacerlo de la otra manera), llega a un estado en el que puedas editar los archivos del sistema.
-
Ir a la
/System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resource
teniendo en cuenta que si estás en modo Recovery, ese directorio estará bajo/Volumes/<something>
. -
Copie su versión editada del
<boot-id>.plist
a este directorio, sobrescribiendo la versión existente. El nombre del archivo debe coincidir con el original. De nuevo, tenga en cuenta que en el modo de recuperación, su copia estará bajo/Volumes/<something>
-
Reinicia.
Prepárate para que esto se restablezca la próxima vez que actualices el sistema operativo.