Oggi discuteremo un argomento utile che descrive come riattivare automaticamente il tuo sistema Linux dalla modalità di sospensione o ibernazione utilizzando 'Rtcwake' utilità. rtcwake viene utilizzato per entrare in uno stato di sospensione o ibernazione del sistema Linux e riattivarlo automaticamente a un'ora specifica. Non è necessario spegnere e riaccendere il sistema. Metti semplicemente il tuo sistema in modalità sospensione o ibernazione e torna dopo il tempo specificato e inizia a trasportare le tue cose.
Download consigliato - eBook gratuito:"Tutorial di ricerca elastica"Un avvertimento:
Si prega di notare che RTC sta per orologio in tempo reale. In realtà è il tuo orologio hardware che può essere impostato nel tuo BIOS. Se hai problemi con la batteria CMOS o con il BIOS, questo comando non funzionerà. È necessario impostare l'ora corretta nel BIOS per utilizzare correttamente rtcwake. Inoltre, è necessario prestare attenzione durante l'utilizzo di questa utilità, poiché richiede l'autorizzazione di root per funzionare. Qualsiasi uso improprio di questa utilità potrebbe causare il crash del kernel e/o del sistema.
Riattiva automaticamente il tuo sistema Linux dalla modalità di sospensione o ibernazione utilizzando l'utilità 'rtcwake'
Rtcwake viene preinstallato con la maggior parte dei sistemi operativi Linux per impostazione predefinita, quindi non preoccuparti di installarlo. Lascia che ti mostri alcuni esempi pratici. Ho testato i seguenti comandi sul mio desktop Arch Linux e hanno funzionato bene come mi aspettavo.
La sintassi tipica del comando rtcwake è:
$ rtcwake [options] [-d device] [-m standby_mode] {-s seconds|-t time_t}
Riattiva il sistema dopo un tempo specifico
Prima di tutto, assicurati di aver chiuso tutti i programmi in esecuzione o di aver salvato tutti i documenti aperti prima di eseguire questo programma. Il comando rtcwake richiede root permessi per lavorare.
Ora sospendiamo il nostro sistema e lo riattiviamo dopo 60 secondi. Per farlo, esegui:
$ sudo rtcwake -m disk -s 60
L'output di esempio sarebbe:
rtcwake: assuming RTC uses UTC ... rtcwake: wakeup from "disk" using /dev/rtc0 at Fri Apr 21 09:04:49 2017
Ecco,
- -m indica la modalità.
- -s indica l'ora di riattivazione del sistema. Nel nostro caso, abbiamo dato 60 secondi.
Il comando rtcwake supporta le seguenti modalità.
- standby - Questa è la modalità predefinita, se non hai menzionato il -m cambia il tuo comando. Questo stato offre un risparmio energetico minimo, sebbene reale, fornendo al contempo una transizione a latenza molto bassa per tornare a un sistema funzionante.
- congelare - In questa modalità, tutti i processi sono bloccati, tutti i dispositivi sono sospesi e tutti i processori inattivi.
- mem - Sospensione su RAM. In questo stato, tutto verrà messo in stato di basso consumo, ad eccezione della memoria per offrire un notevole risparmio energetico. Il contenuto della RAM viene mantenuto.
- disco - Sospensione su disco. Questo stato offre il massimo risparmio energetico. Questo stato funziona in modo simile a Suspend-to-RAM, ma include un passaggio finale di scrittura del contenuto della memoria su disco.
- di f - Spegne completamente il tuo PC. Questo viene fatto chiamando '/sbin/shutdown'. Non ufficialmente supportato da ACPI, ma di solito funziona.
- no - Non sospendere, imposta solo l'ora di sveglia RTC.
- acceso - Non sospendere, ma leggere il dispositivo RTC fino a quando appare l'ora della sveglia. Questa modalità è utile per il debug.
- disabilita - Disattiva una sveglia precedentemente impostata.
- mostra - Stampa le informazioni di allarme nel formato:"allarme:off|on
". per esempio. "allarme:venerdì 21 aprile 15:00:05 2017".
Riattiva il sistema a un'ora specifica
Possiamo anche riattivare il nostro sistema a un'ora specifica utilizzando -t opzione come mostrato nell'esempio seguente.
$ sudo rtcwake -m no -l -t "$(date -d 'today 16:00:00' '+%s')"
Esempio di output:
Ecco,
- -m no - Questa opzione non sospende il pc, imposta solo il tempo di sveglia RTC.
- -l - Indica l'ora locale impostata nel Bios.
- -t $(data +%s -d 'oggi 16:00:00') - Imposta l'ora della sveglia alle 16:00 di oggi.
Suggerimento utile: Per sapere cosa fa ogni argomento in un comando Linux/Unix, dai un'occhiata a Explainshell .
Se vuoi riattivare il tuo sistema domani a un'ora specifica, il comando sarebbe:
$ sudo rtcwake -m no -l -t $(date +%s -d 'tomorrow 10:00')
Il comando precedente riattiverà il tuo sistema alle 10:00 di domani, ma non lo sospenderà immediatamente.
Per riattivare il sistema a una data e un'ora specifiche:
$ sudo rtcwake -m no -l -t "$(date -d '2017-04-25 16:00:00' '+%s')"
Inoltre, puoi eseguire un programma specifico dopo aver riattivato il sistema utilizzando l'operatore "&&", come mostrato nell'esempio seguente.
$ sudo rtcwake -m mem -s 60 && chromium
Il comando precedente sospende il nostro sistema alla RAM e lo riattiva dopo 60 secondi e avvia il browser Web chromium. Fantastico, vero?
Per maggiori dettagli, fare riferimento alle pagine man.
$ man rtcwake
Lettura consigliata:
- Autospegnimento, riavvio, sospensione e ibernazione del sistema Linux in un momento specifico
E questo è tutto. Ora sai come riattivare automaticamente il tuo computer in esecuzione con Linux a un'ora specifica dalla modalità di sospensione o ibernazione.