Ako si vyrobiť Linux PC Wake z režimu spánku automaticky
Chcete spustiť váš počítač Linux do režimu spánku alebo režimu hibernácie a nechať ho automaticky prebudiť v konkrétnom čase? Môžete to ľahko urobiť pomocou príkazu rtcwake, ktorý je predvolene súčasťou väčšiny systémov Linux.
To môže byť užitočné, ak chcete, aby váš počítač v určitej dobe urobil niečo, ale nechcete, aby fungoval 24 hodín denne, 7 dní v týždni. Napríklad, môžete dať počítač spať v noci a nechať ho prebudiť predtým, než vykonáte nejaké prevzatie.
Použitie rtcwake
rtcwake príkaz vyžaduje koreňové oprávnenia, takže musí byť spustený sudo na Ubuntu a iných distribuciách odvodených od Ubuntu. V distribuciách Linuxu, ktoré nepoužívajú sudo, musíte sa prihlásiť ako root s su príkaz prvý.
Tu je základná syntax príkazu:
sudo rtcwake -m [typ pozastavenia] -s [počet sekúnd]
Napríklad nasledujúci príkaz pozastaví váš systém na disk (hibernácia) a prebudí ho o 60 sekúnd neskôr:
sudo rtcwake -m disk -s 60
Typy pozastavenia
-m prepínač prijíma nasledujúce typy pozastavenia:
- záložný - Pohotovostný režim ponúka malé úspory energie, ale obnovenie bežiaceho systému je veľmi rýchle. Toto je predvolený režim, ak vynecháte prepínač -m.
- mem - Pozastavenie do pamäte RAM. To ponúka výrazné úspory energie - všetko je uvedené do stavu nízkej spotreby, okrem vašej pamäte RAM. Obsah vašej pamäte sa zachová.
- disk - Pozastaviť na disk. Obsah pamäte je zapísaný na disk a počítač je vypnutý. Počítač sa zapne a jeho stav sa obnoví po dokončení časovača.
- preč - Počítač úplne vypnite. rtcwake je mužská stránka berie na vedomie, že obnovenie z "off" nie je oficiálne podporované ACPI špecifikácie, ale to funguje s mnohými počítačmi rovnako.
- žiadny - Nezastavujte počítač okamžite, stačí nastaviť čas prebudenia. Napríklad, môžete počítač oznámiť, že sa zobudí o 6:00. Potom môžete dať spánok manuálne o 11:00 alebo o 1am - a to buď, bude sa zobudiť o 6:00 hod.
Sekundy vs. špecifický čas
-s voľba trvá niekoľko sekúnd v budúcnosti. Napríklad - 60 hodín prebudí počítač za 60 sekúnd, zatiaľ čo-3600 prebudí počítač za hodinu.
-T možnosť umožňuje prebudiť počítač v určitej dobe. Tento prepínač potrebuje niekoľko sekúnd od doby Unixu (00:00:00 UTC 1. januára 1970). Ak chcete ľahko poskytnúť správny počet sekúnd, skombinujte dátum príkaz rtcwake.
-l spínač hovorí rtcwake, že hardvérové hodiny sú nastavené na miestny čas, zatiaľ čo -u prepínač hovorí rtcwake, že hardvérové hodiny (v systéme BIOS počítača) sú nastavené na čas UTC. Distribúcia liniek Linux často nastavuje hardvérové hodiny na čas UTC a prekladá to do miestneho času.
Napríklad, aby sa váš počítač zobudil o 6:30 hodine zajtra, ale nepozastaví okamžite (za predpokladu, že vaše hardvérové hodiny sú nastavené na miestny čas), spustite nasledujúci príkaz:
sudo rtcwake -m no -l -t $ (dátum +% s -d 'zajtra 06:30')
Ďalšie tipy
Pomocou operátora && spustite špecifický príkaz po tom, čo rtcwake prebudí systém zo spánku. Napríklad nasledujúci príkaz pozastaví váš počítač na RAM, prebudí ho o dve minúty neskôr a potom spustí Firefox:
rtcwake -m mem -s 120 && firefox
Integrujte príkaz rtcwake do skriptu cron, aby sa automaticky prebudil počítač v určitej dobe. -m nie prepínač môže byť tiež užitočný v skripte cron. Napríklad by ste mohli spustiť rtcwake -m nie -s 28800 príkaz v cron skripte o 10:00 každý deň. Týmto sa nastaví, aby sa počítač zobudil za 28800 sekúnd o 6:00 hod. Váš počítač by však okamžite nespal spánok - mohol by si ho spať v 11:00 alebo v 1am a stále by sa prebudil o 6:00 normálne.
Upozornenie
- RTC znamená hodiny v reálnom čase. rtcwake používa hardvérové hodiny počítača, ktoré môžete nastaviť v systéme BIOS, aby ste určili, kedy sa počítač zobudí. Ak používate starý počítač s umierajúcou batériou CMOS, ktorá nedokáže udržiavať správne hodiny, nebude to fungovať.
- Ak spánok, pozastavenie na pamäť RAM alebo hibernáciu nefungujú správne v systéme Linux - možno preto, že Linux nemá ovládače, aby fungovali správne s vaším hardvérom - to nemusí fungovať.
- Buďte opatrní, keď nastavíte prenosný počítač, aby sa automaticky prebudil v určitej dobe. Nechceli by ste, aby sa prebudil, bežal a prehrieval sa alebo batériu spustil v vrecku na notebook.