Iniciando o Linux do desligamento em um tempo predeterminado (e executando o comando)?

2

Para simplificar, estou tentando usar meu computador como um despertador. É um pouco antigo e barulhento, então eu gostaria que ele começasse com o desligamento em um horário agendado e depois executasse um comando, como reproduzir um arquivo MP3. Estou executando o Linux Mint Nadia. Como eu faria isso?

    
por bittenfig 23.02.2014 / 03:07

3 respostas

2

Você pode enviar um pacote mágico para o endereço MAC do computador. Aviso de que você precisa ativar isso em sua Bios.

Em seguida, você pode instalar wakeonlan via apt-get e usar o seguinte comando para "ativar" seu sistema:

wakeonlan 01:02:03:04:05:06

Para sua preocupação, você precisa de outra máquina para enviar este pacote. Para isso existem vários serviços de wake on lan que você pode encontrar via google, onde você pode definir um horário específico.

    
por 23.02.2014 / 03:54
2

Do artigo da wiki do WAP do ACPI da MythTV.

trecho

Your options

  1. Hardware timer switch - a cheap power switch and a simple cron job to shutdown the machine can do the job
  2. Wake on LAN - have another machine on your network wake your MythTV machine. (See the "Wake on LAN" MythTV HowTo)
  3. Use the real time clock (RTC) - most machines (manufactured in 2000 or later) have the ability to use the RTC for time-controlled wakeup - this option is the subject of this HowTo
    
por 23.02.2014 / 04:59
1

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.

    
por 23.02.2014 / 16:41