29Jun

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 určitej dobe? Môžete to ľahko urobiť pomocou príkazu rtcwake, ktorý je štandardne súčasťou väčšiny systémov Linux.

Toto môže byť užitočné, ak chcete, aby váš počítač urobil niečo v konkrétnom čase, ale nechce, aby fungoval 24 hodín denne, 7 dní v týždni. Napríklad, môžete počítač dať spať v noci a nechať ho prebudiť predtým, než vykonáte nejaké prevzatie.

Použitie rtcwake

Príkaz rtcwake vyžaduje root oprávnenia, takže musí byť spustený s sudo na Ubuntu a iných distribuciách od Ubuntu. V distribuciách Linuxu, ktoré nepoužívajú sudo, musíte najprv prihlásiť ako root pomocou príkazu su .

Tu je základná syntax príkazu:

sudo rtcwake -m [typ suspend] -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

Prepínač -m akceptuje nasledujúce typy pozastavenia:

  • pohotovostný režim - Pohotovostný režim ponúka malé úspory energie, ale obnovenie na bežiacom systéme 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ýznamné úspory energie - všetko je uvedené do stavu nízkej spotreby, s výnimkou RAM.Obsah pamäte sa zachová.
  • disk - Suspend 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.
  • vypnuté - Počítač úplne vypnite.rtcwake je mužská stránka berie na vedomie, že obnovenie z "off" nie je oficiálne podporované špecifikáciou ACPI, ale to funguje s mnohými počítačmi rovnako.
  • nie - Počítač nepozastavujte okamžite, stačí nastaviť čas prebudenia. Napríklad, počítač môžete povedať, aby sa zobudil o 6:00.Po tom, môže dať spať ručne v 11pm alebo 1am - a to buď, to sa zobudí v 6am.

sekundy vs. špecifický čas

Voľba -s trvá niekoľko sekúnd v budúcnosti. Napríklad-60 je prebudí váš počítač do 60 sekúnd, zatiaľ čo-3600 prebudí počítač za hodinu.

Voľba -t umožňuje prebudiť počítač v určitej dobe. Tento prepínač požaduje 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 príkaz dátum príkazom rtcwake.

Spínač -l informuje rtcwake, že hardvérové ​​hodiny sú nastavené na miestny čas, zatiaľ čo prepínač -u udáva 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 nie okamžite pozastaviť( 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

Použite & &operátor spustiť špecifický príkaz po rtcwake prebudí váš systém z režimu spánku. Napríklad nasledujúci príkaz pozastaví počítač na pamäť 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. Spínač -m bez môže byť tiež užitočný v skripte cron. Napríklad, môžete spustiť príkaz rtcwake -m no -s 28800 v cron skripte o 10:00 každý deň.To nastaví počítač, aby sa zobudil za 28800 sekúnd o 6:00 hod. Váš počítač by však okamžite nespal spánok - mohol by to spať v 11:00 alebo 1am a stále by sa prebudil o 6:00 normálne.

Upozornenie

  • RTC znamená hodiny v reálnom čase.rtcwake používa hodinky hardvéru počítača, ktoré môžete nastaviť v systéme BIOS, aby ste zistili, 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ácia nepracujú správne v systéme Linux - možno preto, že Linux nemá ovládače, aby fungovali správne s vaším hardvérom - nemusí to fungovať.
  • Buďte opatrní, keď nastavíte prenosný počítač, aby sa v určitej dobe automaticky prebudil. Nechceli by ste, aby sa prebudila, bežala a prehrievala sa alebo batéria batérie v batožinovom vrecku.