El 12.04 solía sleepd
suspender la máquina cuando la batería estaba baja o la máquina estaba inactiva.
Aunque sleepd no está empaquetado para Ubuntu 14.04, e incluso ha sido huérfano por su desarrollador, es posible compilarlo e instalarlo usted mismo.
Instalación en Ubuntu 12.04:
sudo apt-get install sleepd
Edite el archivo /etc/default/sleepd
y configure lo siguiente:
# -E Do not poll events (since they weren't working for me).
# -c 60 Poll every 60 seconds.
# -u 900 Sleep after 15 minutes idle time when on battery,
# -U 3600 or 60 minutes when on AC power,
# -b 3 or when battery power drops below 3%.
# -H (optional) Use upower instead of ACPI.
PARAMS="-E -c 60 -u 900 -U 3600 -b 3"
Luego reinicia el demonio:
sudo service sleepd restart
También tiene opciones para permanecer despierto si hay actividad en la red, pero estos dejaron de funcionar para mí.
En mi máquina, aparentemente ACPI no siempre informaba la temperatura correctamente, por lo que necesitaba agregar -H
para decirle a sleepd que lea las temperaturas de upower en lugar de ACPI. Descubrí las lecturas incorrectas, después de algunos gastos inesperados, agregando -v
y viendo el archivo de registro con tail -f /var/log/*log | grep --line-buffered sleepd
.
(Tuve un error extraño en una computadora portátil con 12.04 que decía que la máquina se volvería a despertar inmediatamente después de suspenderla, pero solo si sleepd se suspendía debido a una batería baja, no debido al tiempo de inactividad. ¡Espero que no tenga esa experiencia también! El problema nunca ocurrió bajo 14.04.)