Tempo fa creai un software per risvegliare, automaticamente e ad una certa ora, un PC dallo stato di standby o da quello di ibernazione.
Il software era scritto in .NET e sfruttava una particolare API di Windows, ma recentemente ho dovuto fare la stessa cosa con Ubuntu. La soluzione è più semplice di quanto si possa pensare.
Esiste già un comando, rtcwake, che permette di fare quello che cerchiamo:
usage: rtcwake [options] -d | --device select rtc device (rtc0|rtc1|...) -l | --local RTC uses local timezone -m | --mode standby|mem|... sleep mode -s | --seconds seconds to sleep -t | --time time to wake -u | --utc RTC uses UTC -v | --verbose verbose messages -V | --version show version