sábado, 13 de octubre de 2012

Suspension Hibrida en Ubuntu

Pues bueno, esto lo tenia pendiente de implementar y compartir desde hace varios meses. La suspension hibrida (en el paquete pm-utils) consiste en que el equipo suspende normalmente, pero despues de X tiempo puede hibernar automaticamente y asi evitar consumo de energia (durante la suspension el equipo sigue despierto).

Primero que nada se debe confirmar que nuestro equipo soporta este tipo de suspension. Comencemos:
$ sudo pm-is-supported --suspend-hybrid && echo $?

Y si el valor de retorno es 0 (cero), entonces nuestro equipo soporta esta funcionalidad. De no ser asi, esto no esta disponible para tu equipo.

Una vez confirmado, vamos a crear la regla que permita reemplezar la suspension normal por la suspension hibrida:
$ sudo vim /etc/pm/config.d/00-hybrid-suspend

Con el siguiente contenido:
# Always use suspend_hybrid instead of suspend
if [ "$METHOD" = "suspend" ]; then
METHOD=suspend_hybrid
fi

El script es auto-explicable: si el equipo se suspende, en vez de utilizar la suspension normal se debe utilizar la suspension hibrida.

Y con eso despues de un determinado tiempo despues de estar suspendido el equipo, este hibernará automaticamente. Para tener un mejor control del tiempo de suspension antes de que pase a hibernar, podemos indicarlo explicitamente con la variable PM_HIBERNATE_DELAY en segundos. Yo lo dejé para que hiberne despues de una hora (3600s) de estar "dormido", considero que es tiempo suficiente:
# Always use suspend_hybrid instead of suspend
if [ "$METHOD" = "suspend" ]; then
METHOD=suspend_hybrid
fi
PM_HIBERNATE_DELAY=3600

Para que lo vean en accion pueden poner un tiempo de 5s, y luego de comprobar su funcionalidad lo establacen al valor deseado. No es necesario reiniciar porque estos son eventos que se capturan por acpid.

Saludos.

Fuente

No hay comentarios:

Publicar un comentario