I’m looking for a reliable way to log when my laptop is:
- powered down
- boots up
- goes to sleep
- wakes up
Currently I’m checking both the systemd-suspend
and tlp
systemctl services, but these don’t really feel very robust, and I don’t have TLP installed on all my machines.
Is there an easier way to do this, or a better systemctl unit that logs all the power states of my machine. Preferably laptop agnostic?
Laptop snippet so far:
journalctl --since -9days -u systemd-suspend -u tlp \
| grep -P "Finish|Start|Stopped" | sed '/.*Finished TLP.*/d;
s|Starting TLP.*|╭╴System Boot |;
s|Starting System Suspend.*|┤ · Sleep |;
s|Finished System Suspend.*|├ · Wake |;
s|Stopped TLP.*|╰╴Power Off |;' \
| sed -r 's|^(.*:[0-9]+)+:[0-9]+.*:(.*)| \1 \2 |'
For boot and power down, create a service to log it.
For the others, an elogind script might be what you look for.