
Estoy intentando crear un kernel personalizado para mi máquina, cuyo desarrollo está tardando mucho tiempo (como se esperaba). ¿Es posible evitar que mi escritorio GNOME suspenda la máquina hasta que se complete la compilación y luego suspenderla (suponiendo que esté lejos de la máquina durante los 30 minutos que normalmente tomaría)?
No quiero deshabilitar permanentemente la suspensión (lo cual es fácil de hacer a través del panel de control de configuración del sistema pero desperdicia energía), sino poder especificar (¿a través de PID?) mi trabajo de compilación y hacer que la computadora se suspenda cuando finalice.
Respuesta1
Puede desactivar completamente el tiempo de espera de inactividad.
Por ejemplo, para desactivar el tiempo de espera de suspensión solo para alimentación de CA, ejecute
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout 0
Personalmente, creo que es completamente estúpido tener un tiempo de espera de inactividad para suspender la computadora, mientras está conectada a la alimentación de CA, de forma predeterminada y sin opción para que la gente normal lo desactive.
Respuesta2
No tengo tiempo para todos los detalles ahora, pero mira elPreguntas frecuentes sobre GNOME Power Manager "¿Cómo hago para que mi aplicación detenga la suspensión automática de la computadora?"que apunta a las llamadas Inhibit()
y UnInhibit()
DBus.
Aadvertencia: si el proceso que llama Inhibit()
sale, la inhibición finaliza -dbus-send
en un script de Shell, por lo tanto, no funcionará, pero se necesita algún script contenedor (por ejemplo, en Python).
(Editar Esta publicación de blogcontiene un poco más de información, también un código auxiliar de Python que podría ser útil).
Respuesta3
GNOME ha desarrollado una solución ingeniosa a este problema en forma de gnome-session-inhibit
utilidad. Para usarlo, simplemente agréguelo antes del comando de ejecución larga, algo como:
gnome-session-inhibit make
Es posible tener varias sesiones de inhibición ejecutándose a la vez si es necesario. Estos se pueden enumerar ejecutando gnome-session-inhibit -l
. Para más detalles ver elpágina de manual.
Respuesta4
Genere un archivo de vídeo en blanco de 1 hora de duración y reprodúzcalo en un reproductor compatible con MPRIS2. Puede generar una serie de "videos" de diferentes duraciones e incluirlos en una lista de reproducción para obtener el tiempo de inhibición deseado.
No tiene conocimiento de ningún proceso que pueda sobrevivir a la fecha límite de inhibición, pero si sabe aproximadamente cuánto tiempo llevará el proceso, probablemente pueda calcularlo.
Alternativamente, puede comprar un dispositivo económico llamado "mouse jiggler". Parece un ratón receptor inalámbrico, pero simula un ratón que se mueve de vez en cuando. Algunos modelos tienen un botón para alternar la función.