Le 12.04, j'avais l'habitude sleepd
de suspendre la machine lorsque la batterie était faible ou que la machine était inactive.
Bien que sleepd ne soit pas conditionné pour Ubuntu 14.04, et soit même devenu orphelin par son développeur, il est possible de le compiler et de l'installer vous-même.
Installation sur Ubuntu 12.04:
sudo apt-get install sleepd
Modifiez le fichier /etc/default/sleepd
et définissez les éléments suivants:
# -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"
Redémarrez ensuite le démon:
sudo service sleepd restart
Il a également des options pour rester éveillé en cas d'activité réseau, mais ceux-ci ont cessé de fonctionner pour moi.
Sur ma machine, apparemment ACPI ne signalait pas toujours la température correctement, j'ai donc dû ajouter -H
pour dire à sleepd de lire les températures de upower au lieu d'ACPI. J'ai découvert les lectures incorrectes, après quelques syspends inattendus, en ajoutant -v
et en regardant le fichier journal avec tail -f /var/log/*log | grep --line-buffered sleepd
.
(J'ai eu un bug étrange sur un ordinateur portable avec 12.04 que la machine se réveillait immédiatement après la suspension, mais uniquement si sleepd était suspendu en raison d'une batterie faible, pas en raison d'une période d'inactivité. J'espère que vous n'aurez pas cette expérience aussi! Le problème ne s'est jamais produit sous 14.04.)