Jak sprawić, by komputer Linux przebudził się z trybu uśpienia automatycznie
Chcesz przełączyć komputer z systemem Linux w tryb uśpienia lub hibernacji i automatycznie go obudzić o określonej godzinie? Możesz to łatwo zrobić za pomocą polecenia rtcwake, domyślnie dołączonego do większości systemów Linux.
Może to być przydatne, jeśli chcesz, aby komputer wykonał coś w określonym czasie, ale nie chcesz, aby działał 24 godziny na dobę. Na przykład, możesz przespać komputer w nocy i obudzić go przed wykonaniem niektórych pobrań.
Używanie rtcwake
The rtcwake polecenie wymaga uprawnień root'a, więc musi być uruchomione z sudo na Ubuntu i innych dystrybucjach pochodnych Ubuntu. W dystrybucjach systemu Linux, które nie używają sudo, musisz zalogować się jako root przy pomocy su najpierw polecenie.
Oto podstawowa składnia polecenia:
sudo rtcwake -m [typ zawieszenia] -s [liczba sekund]
Na przykład poniższe polecenie zawiesza system na dysk (hibernuje go) i budzi go 60 sekund później:
sudo rtcwake -m dysk -s 60
Rodzaje zawieszenia
The -m switch akceptuje następujące typy zawieszenia:
- czekaj - Tryb gotowości oferuje niewielkie oszczędności energii, ale przywracanie do działającego systemu jest bardzo szybkie. Jest to tryb domyślny, jeśli pominięto przełącznik -m.
- mem - Wstrzymaj do pamięci RAM. Daje to znaczną oszczędność energii - wszystko jest w stanie małej mocy, z wyjątkiem pamięci RAM. Zawartość twojej pamięci zostanie zachowana.
- dysk - Wstrzymaj na dysk. Zawartość Twojej pamięci jest zapisywana na dysk, a twój komputer jest wyłączony. Komputer włączy się, a jego stan zostanie przywrócony po zakończeniu działania zegara.
- poza - Wyłącz komputer całkowicie. rtcwake zauważa, że przywracanie z "off" nie jest oficjalnie wspierane przez specyfikację ACPI, ale i tak działa to na wielu komputerach.
- Nie - Nie zawieszaj komputera natychmiast, po prostu ustaw czas wybudzania. Na przykład możesz powiedzieć swojemu komputerowi, żeby się obudził o 6 rano. Po tym można go uśpić ręcznie o godzinie 23:00 lub 1:00 - tak czy inaczej, obudzi się o 6 rano.
Sekundy a konkretny czas
The -s opcja zajmuje kilka sekund w przyszłości. Na przykład -s 60 powoduje przebudzenie komputera w 60 sekund, podczas gdy -s 3600 budzi komputer w ciągu godziny.
The -t opcja pozwala obudzić komputer w określonym czasie. Ten przełącznik potrzebuje pewnej liczby sekund od epoki Uniksa (00:00:00 UTC 1 stycznia 1970 r.). Aby łatwo podać prawidłową liczbę sekund, połącz data Polecenie z poleceniem rtcwake.
The -l switch mówi rtcwake, że zegar sprzętowy jest ustawiony na czas lokalny, podczas gdy -u switch informuje rtcwake, że zegar sprzętowy (w BIOSie twojego komputera) jest ustawiony na czas UTC. Dystrybucje systemu Linux często ustawiają zegar sprzętowy na czas UTC i tłumaczą go na czas lokalny.
Na przykład, aby komputer przebudził się jutro o 6:30, ale nie od razu się zawiesił (zakładając, że zegar sprzętowy jest ustawiony na czas lokalny), uruchom następujące polecenie:
sudo rtcwake -m nie -l -t $ (data +% s -d "jutro 06:30")
Więcej podpowiedzi
Użyj operatora &&, aby uruchomić określone polecenie po tym, jak rtcwake wybudzi twój system ze stanu uśpienia. Na przykład następujące polecenie zawiesza twój komputer do pamięci RAM, uruchamia go dwie minuty później, a następnie uruchamia przeglądarkę Firefox:
rtcwake -m mem -s 120 && firefox
Zintegruj komendę rtcwake ze skryptem cron, aby automatycznie obudzić komputer w określonym czasie. The -m nie przełącznik może być również użyteczny w skrypcie cron. Na przykład możesz uruchomić rtcwake -m nie -s 28800 polecenie w skrypcie cron o 22.00 każdego dnia. To ustawi twój komputer na budzenie w 28800 sekundach o 6:00 rano. Jednak twój komputer nie od razu zasypia - możesz go uśpić o 23:00 lub 1 w nocy i nadal będzie budził się o 6 rano..
Ostrzeżenia
- RTC oznacza zegar czasu rzeczywistego. rtcwake korzysta z zegara sprzętowego komputera, który można ustawić w systemie BIOS, aby określić, kiedy komputer się obudzi. Jeśli używasz starego komputera z umierającą baterią CMOS, która nie pozwala na prawidłowe działanie zegara, nie zadziała.
- W przypadku uśpienia, zawieszenia w pamięci RAM lub hibernacji nie działają poprawnie w systemie Linux - być może dlatego, że Linux nie ma sterowników, które sprawią, że będą prawidłowo działać z twoim sprzętem - to może nie działać.
- Zachowaj ostrożność podczas ustawiania laptopa, aby automatycznie budził się o określonej godzinie. Nie chciałbyś, żeby się budził, biegał, przegrzewał się lub spływał z baterii w torbie na laptopa.