Por lo tanto, hay un registro, de una especie, y creo que ahora puedo confirmar que el sueño aleatorio de la pantalla que he estado observando es de hecho debido a un error de software.
En primer lugar, el registro (y el estado actual) de los eventos y estados relacionados con el sistema y el sueño de la pantalla se puede encontrar ejecutando:
pmset -g assertionslog
Ayer mi pantalla se mantuvo encendida durante el resto del día. Sin embargo, al volver a mi ordenador esta mañana encontré la pantalla apagada. Al pulsar una tecla se encendió y la ventana de inicio de sesión estaba allí, como si no le hubiera dicho que mantuviera la pantalla encendida (pero aún así le permití bloquear la pantalla - parece que el protector de pantalla se las arregló para apagar la pantalla eventualmente).
Unos cinco o diez minutos más tarde, la pantalla se volvió a quedar en negro mientras me desplazaba. Siguió en negro momentos después de ser encendida de nuevo.
Después de experimentar durante un tiempo para ver si había un patrón reconocible en el pmset
decidí intentar matar los procesos que parecían estar cambiando de estado (es decir, con un simple SIGTERM
).
El primero que probé fue /usr/libexec/hidd
que fue rápidamente reiniciado por launchd
. Esto no supuso ninguna diferencia para que la pantalla se oscureciera cada poco tiempo después de ser despertada.
El siguiente que probé fue useractivityd
. Esto tuvo un efecto positivo inmediato. La pantalla no se ha vuelto negra desde entonces. Curiosamente, este proceso no murió - todavía se está ejecutando y ha estado utilizando la CPU, pero ya no se menciona en cualquier pmset
de salida.
La saga en curso...
Hoy, después de una hora de uso normal, la pantalla se ha vuelto a quedar en negro, y otra vez, y otra vez, a menudo sólo un segundo después de despertarla. Enviando SIGTERM
a useractivityd
de nuevo no hizo mucho así que le envié un SIGKILL
. Inmediatamente fue reiniciado por launchd
pero la batalla por mantener la pantalla continuó.
Por fin las cosas se han calmado de nuevo, pero no sé qué he hecho para que así sea.
Las cosas empeoran, luego quizás mejoran de nuevo
Ayer no pude mantener la pantalla encendida más que unos pocos segundos, luego logré bloquear algo para que la pantalla de inicio de sesión no se activara, y terminé apagando el sistema desde una sesión SSH, apagando completamente y reiniciando, sólo para que el problema comenzara de nuevo poco después.
Hoy ha estado bien durante un rato, luego ha empezado a quedarse en blanco de nuevo y a ser básicamente inutilizable.
Casi empezaba a pensar que era un problema de hardware.
Entonces, por capricho, desactivé y desinstalé f.Lux. Desde entonces se quedó en blanco mientras no estaba atendido, luego una vez más mientras estaba en uso, pero por lo demás ha estado mucho mejor que antes.
NO es un problema de software: ahora el ordenador es básicamente inutilizable
Ahora el ordenador es básicamente inutilizable (al menos desde el teclado y la pantalla).
Si la máquina está muy fría, la pantalla permanecerá encendida durante unos minutos, como máximo. Sin embargo, si la máquina está a una temperatura de funcionamiento "normal" (según todos los sensores y el historial de todos los sensores), la pantalla puede incluso apagarse durante las primeras etapas del arranque (es decir, mientras los mensajes de arranque de la consola todavía se desplazan durante un arranque verboso).
Lo interesante es que la pantalla puede ser encendida por el SO (es decir, pulsando y generando "actividad" con la pulsación de teclas o moviendo el cursor del ratón, etc.), para volver a ser apagada momentos o segundos después por cualquier hardware y/o firmware que esté fallando.
Si puedo averiguar cómo encender la pantalla de forma programada (por ejemplo, generando los mismos eventos de teclado que utilizo manualmente), entonces puedo ser capaz de volver a encender la pantalla de forma continua con un demonio para hacer posible que cojee hasta que sea capaz de reemplazar toda la máquina.
Un indulto, de los que se dice....
Así que justo después de hacer la última edición me encontré con un artículo de alguien que describe este mismo problema. Después de la cantidad habitual de pontificación mal dirigida y totalmente inútil sobre las posibles causas del problema (todas ellas totalmente imposibles) y la serie habitual de acciones sugeridas sin sentido, había una pequeña indicación de que bajar el brillo podría ayudar.
No lo había pensado antes porque no tuve suerte de mejorar la situación poniendo todos los ventiladores a tope.
Sin embargo, bajé el brillo al mínimo y dejé la pantalla activada toda la noche y ¡qué sé yo! A la mañana siguiente no se había quedado en blanco.
Llevo varios días utilizando la máquina, aunque con algo de cansancio ocular, incluso hoy con la temperatura ambiente subiendo ligeramente (a pesar del aire acondicionado - estamos a 43C fuera), sin que la pantalla se apague. Soy capaz de ejecutar el brillo en 5 barras que se muestran en el control de la pantalla, o 0,33 con https://github.com/nriley/brightness