29Jun
Vuoi mettere il tuo PC Linux in modalità sospensione o ibernazione e farlo scattare automaticamente in un momento specifico? Puoi farlo facilmente con il comando rtcwake, incluso di default con la maggior parte dei sistemi Linux.
Può essere utile se vuoi che il tuo computer faccia qualcosa in un momento specifico, ma non vuoi che funzioni 24 ore su 24, 7 giorni su 7.Ad esempio, potresti spegnere il computer la notte e farlo svegliare prima di eseguire alcuni download.
Utilizzo di rtcwake
Il comando rtcwake richiede le autorizzazioni root, quindi deve essere eseguito con sudo su Ubuntu e altre distribuzioni derivate da Ubuntu. Nelle distribuzioni Linux che non usano sudo, dovrai prima accedere come root con il comando su .
Ecco la sintassi di base del comando:
sudo rtcwake -m [tipo di sospensione] -s [numero di secondi]
Ad esempio, il seguente comando sospende il sistema su disco( lo mette in ibernazione) e lo riattiva 60 secondi dopo:
sudo rtcwake -m disco -s 60
Tipi di sospensione
Lo switch -m accetta i seguenti tipi di sospensione:
- standby - Standby offre pochi risparmi energetici, ma il ripristino su un sistema in esecuzione è molto rapido. Questa è la modalità predefinita se si omette l'opzione -m.
- mem - Sospensione su RAM.Ciò offre significativi risparmi energetici: tutto viene messo in uno stato di basso consumo, ad eccezione della RAM.I contenuti della tua memoria sono conservati.
- disk - Sospendi su disco. I contenuti della tua memoria sono scritti su disco e il tuo computer è spento. Il computer si accenderà e il suo stato verrà ripristinato al termine del timer.
- spento - Spegnere completamente il computer. La pagina man di rtcwake nota che il ripristino da "off" non è ufficialmente supportato dalle specifiche ACPI, ma funziona comunque con molti computer.
- no - Non sospendere immediatamente il computer, è sufficiente impostare il tempo di attivazione. Ad esempio, potresti dire al tuo computer di svegliarsi alle 6 del mattino. Dopodiché, puoi metterlo a dormire manualmente alle 23:00 o alle 11:00 - in entrambi i casi, si sveglierà alle 6 del mattino.
Secondi vs Tempo specifico
L'opzione -s richiede un numero di secondi in futuro. Ad esempio, -s 60 riattiva il tuo computer in 60 secondi, mentre -s 3600 riattiva il tuo computer in un'ora.
L'opzione -t consente di riattivare il computer in un momento specifico. Questa opzione richiede un numero di secondi dall'epoca Unix( 00:00:00 UTC del 1 gennaio 1970).Per fornire facilmente il numero corretto di secondi, combinare il comando date con il comando rtcwake.
L'opzione -l indica a rtcwake che l'orologio hardware è impostato sull'ora locale, mentre l'interruttore -u indica a rtcwake che l'orologio hardware( nel BIOS del computer) è impostato sull'ora UTC.Le distribuzioni Linux spesso impostano l'orologio hardware sull'ora UTC e lo traducono all'ora locale.
Ad esempio, per fare in modo che il computer si riattivi domani alle 6:30 ma non sospendere immediatamente( supponendo che l'orologio hardware sia impostato sull'ora locale), eseguire il seguente comando:
sudo rtcwake -m no -l -t $( data +% s -d 'domani 06:30')
Altri suggerimenti
Utilizza il & &operatore per eseguire un comando specifico dopo rtcwake riattiva il sistema dal sonno. Ad esempio, il seguente comando sospende il computer in RAM, lo riattiva due minuti dopo e quindi avvia Firefox:
rtcwake -m mem -s 120 &firefox
Integrare il comando rtcwake in uno script di cron per riattivare automaticamente il computer in un momento specifico. Lo switch -m no può essere utile anche in uno script di cron. Ad esempio, è possibile eseguire il comando rtcwake -m no -s 28800 in uno script cron alle 22:00 ogni giorno. Questo avrebbe impostato il tuo computer per svegliarsi in 28800 secondi alle 6:00 del mattino. Tuttavia, il tuo computer non si addormenta immediatamente: potresti metterlo a dormire alle 23:00 o alle 1:00 e normalmente si sveglia alle 6:00.
Avvertenze
- RTC sta per orologio in tempo reale.rtcwake utilizza l'orologio hardware del tuo computer, che puoi impostare nel tuo BIOS, per determinare quando il tuo computer si sveglierà.Se stai usando un vecchio computer con una batteria CMOS morente che non può mantenere l'orologio funzionante correttamente, questo non funzionerà.
- Se sleep, suspend to RAM, o hibernate non funzionano correttamente con il tuo sistema Linux - forse perché Linux non ha i driver per farli funzionare correttamente con il tuo hardware - questo potrebbe non funzionare.
- Fare attenzione quando si imposta un laptop per riattivarsi automaticamente in un momento specifico. Non vorrai che svegliandosi, correndo e surriscaldando o scarichi la batteria in una borsa per laptop.