PleaseSleep: cómo hacer que funcione el modo de reposo en el Hackintosh (si sleep funciona por comando o teclado pero no desde el Economizador)
En muchas ocasiones, el usuario de un Hackintosh con SL se encuentra con esta situación:
- el ordenador entra bien en reposo desde
- comando en Terminal
- botón Reposo del cuadro de diálogo que se muestra al pulsar Ctrl+Eject
- menú Manzana / Reposo
- al pulsar Cmd+Alt+Eject
- pero no cuando se cumple el tiempo de espera marcado en el Economizador.
Una manera de solucionar ésto es con una aplicación de DragonOne llamada PleaseSleep .
PleaseSleep es donation-ware (se puede usar tal cual pero el desarrollador acepta donaciones) y tiene interfaz gráfica desde la que se configuran sus opciones.
En la pestaña General se activa el programa y se configura el arranque automático al iniciar sesión para que esté siempre activo y el icono en la barra de menús:
En la pestaña Exceptions se configuran las aplicaciones cuya ejecución impide que el PC entre en reposo:
Además de ello, hay una característica oculta propuesta por dino7777 que activa la detección de la carga de CPU y evita que PleaseSleep actúe mientras la carga de CPU está por encima de un límite, para ello hay que:
- editar el archivo de preferencias Users/usuario/Library/Preferences/com.dragonone.PleaseSleep.com
- añadir 2 claves, «CPULoad» como Boolean y «CPUThreshold» como integer
- CPULoad como true activa la detección de la actividad de la CPU
- CPUThreshold es el límite a partir del cual no se entrará en reposo, suele oscilar entre 1 y 3 según los PCs, hay que probar con esos valores aunque en mi caso el más adecuado es 1
- o también puedes teclear estos comandos en Terminal y harán este trabajo por ti:
$ defaults write com.dragonone.PleaseSleep CPULoad -bool true $ defaults write com.dragonone.PleaseSleep CPUThreshold -int 1
Este método funciona bien en mi PC, entra en reposo y sale de él correctamente salvo que esté arrancado alguno de los programas listados en las excepciones o macOS esté realizando alguna tarea que aumente la carga de la CPU por encima del nivel de reposo.
Recuerda que ésto sólo es válido si sleep funciona por comando o teclado pero no desde el Economizador, es decir, si el PC entra y sale bien del reposo cuando se activa por el usuario pero falla cuando se activa automáticamente por el sistema. Puede haber 3 escenarios:
- el modo de reposo funciona bien tal como se instala SL en el Hackintosh: no es necesario hacer nada más
- el modo de reposo funciona bien únicamente si lo activa el usuario: puede solucionarse con métodos como PleaseSleep o el script de KWS
- el modo de reposo funciona mal (el PC se reinicia o la pantalla no llega a encendese al despertar, entre otros): no se va a solucionar con los métodos propuestos.
BIOS: configuración
En BIOS tengo configurado el modo de reposo S1 con el botón de apagado en 4 segundos. Y en SL he comprobado por Terminal el modo de reposo para que coincida con el marcado en BIOS de esta manera:
- Abrir Terminal y teclear sudo pmset -g
- Nos muestra la configuración de energía, nos fijamos en hibernatemode que posiblemente esté en 0 (lo dejamos así)
- Si no está en 0 lo cambiamos con el comando sudo pmset hibernatemode 0 y comprobamos el cambio con sudo pmset -g de nuevo
- Apple emplea 2 modos de hibernatemode en sus ordenadores, el modo 0 (equivale al modo S1 de BIOS) en sus equipos de escritorio y el modo 3 (equivale al modo S3 de BIOS) en sus portátiles.
AVISO: las instrucciones y propuestas de esta página se proporcionan sin garantía de ningún tipo a la hora de llevarlas a la práctica. Lo que ha funcionado bien en mi caso pudiera no hacerlo en el tuyo.