Você está procurando uma ferramenta chamada rtcwake . Ele permite que você suspenda seu sistema e especifique um horário de ativação específico. Você pode então configurar um cronjob para tocar sua música em um horário especificado.
Encontrei um bom exemplo aqui :
If I wanted my machine to sleep overnight, wake for a short
maintenance, go to sleep again and wake early in the morning, I would
have four crons running. The first, to synchronize the OS clock with
UTC (via ntp). The second, to synchronize hardware clock with UTC. The
third, to put the machine to sleep every evening, using rtcwake and
specify the exact moment when it should wake up later. The fourth cron
would run a few minutes after the machine wakes and do whatever needs
to be done. After all the tasks are complete, it would sleep the
machine once more and make it wake up in the morning.
Então, no seu caso, você pode configurá-lo para ligar a máquina alguns minutos antes da hora que você quer que seu alarme soe e, em seguida, configurar um cronjob que executa o seu alarme.
Primeiro, suspenda seu computador e configure-o para ativar em um horário específico, digamos, às 9h. Para fazer isso, você precisa traduzir "Amanhã, 9h" para horário do UNIX , segundos desde a época. Você pode fazer isso com date
:
$ date -d "tomorrow 9 am" +%s
1393228800
Combine isso com rtcwake
para que seu microcomputador durma agora e acorde às 9h de amanhã:
$ rtcwake -m mem -t $(date -d "tomorrow 9 am" +%s)
Portanto, crie um crontab para reproduzir seu mp3 às 9:05 (execute crontab -e
e cole esta linha no arquivo que é aberto):
05 09 * * * vlc /home/terdon/Music/mysong.mp3
Agora, antes de dormir, basta desligar o computador com o comando rtcwake
acima e ele ligará automaticamente na manhã seguinte às 9 e 5 minutos depois começará a tocar sua música.