Jak wyłączyć usypianie Maca lub PC na czas pracy agenta programistycznego
Nie pozwól, by Mac lub komputer z Windows przeszedł w uśpienie podczas długiego zadania agenta programistycznego. Użyj caffeinate lub ustawień uśpienia, a potem przywróć poprzednie wartości.
Aby Mac nie przeszedł w uśpienie, gdy pracuje agent programistyczny, otwórz Terminal, uruchom caffeinate -i i zostaw okno otwarte do końca zadania. W Windows 11 ustaw w Ustawieniach czas uśpienia przy zasilaniu sieciowym na Nigdy, a potem przywróć poprzednią wartość. Laptop trzymaj podłączony do zasilacza, z otwartą pokrywą.
Ten poradnik dotyczy macOS i Windows 11, ale nie pracy laptopa z zamkniętą pokrywą. Mono firmy Reunified może zapobiegać uśpieniu Maca, gdy agent pracuje, ale te kroki działają z każdym agentem.
1. Dowiedz się, co uśpienie robi z sesją agenta
Uśpienie wstrzymuje wszystkie programy, łącznie z agentem, i zrywa ich połączenia sieciowe. Sesja może potem nie wrócić do poprawnego działania.
- Uśpienie ekranu tylko go wyłącza. Programy działają dalej.
- Uśpienie przy bezczynności zatrzymuje komputer po pewnym czasie bez żadnej aktywności użytkownika. Praca agenta nie liczy się jako taka aktywność.
- Zamknięcie pokrywy laptopa zwykle go usypia, niezależnie od ustawień bezczynności.
- Wyłączenie lub ponowne uruchomienie komputera kończy sesję.
Nie licz na to, że telefon obudzi uśpiony lub wyłączony komputer.
Fikcyjny przykład: przed lunchem zostawiasz agenta, który aktualizuje zależności i uruchamia testy w projekcie „tidy-recipes”. To około 40 minut pracy na MacBooku Air podłączonym do zasilania.
2. Zapobiegnij uśpieniu Maca na czas jednego zadania za pomocą caffeinate
caffeinate jest wbudowany w macOS. Z opcją -i zapobiega uśpieniu przy bezczynności, dopóki działa. Gdy się zatrzyma, znów obowiązują Twoje zwykłe ustawienia.
| Polecenie | Efekt |
|---|---|
caffeinate -i |
Brak uśpienia, dopóki nie zatrzymasz go skrótem Control-C |
caffeinate -i <command> |
Uruchamia polecenie i nie dopuszcza do uśpienia, dopóki ono działa |
caffeinate -i -t 3600 |
Brak uśpienia przez 3600 sekund (godzinę) |
caffeinate -i -w <pid> |
Brak uśpienia, dopóki ten proces nie zakończy działania |
caffeinate -d |
Utrzymuje włączony ekran |
Agent w projekcie tidy-recipes działa w aplikacji desktopowej, więc nie uruchomisz go przez caffeinate. Zamiast tego uruchamiasz caffeinate -i -t 3600, czyli godzinę na 40 minut pracy, i zostawiasz to okno Terminala otwarte. Identyfikator dla -w znajdziesz w kolumnie PID w Monitorze aktywności, a man caffeinate opisuje wszystkie opcje.
3. Zmień ustawienia uśpienia Maca na dłuższe sesje
Jeśli agenci pracują godzinami albo codziennie, zmień zamiast tego ustawienie systemowe. Przewodnik Apple po ustawieniach usypiania i budzenia pokazuje, gdzie je znaleźć:
- Laptop: Ustawienia systemowe > Bateria > Opcje, włącz „Nie usypiaj automatycznie na zasilaniu z sieci, gdy wyświetlacz jest wyłączony”.
- Komputer stacjonarny: Ustawienia systemowe > Energia, włącz „Nie usypiaj automatycznie, gdy wyświetlacz jest wyłączony”.
Apple zaznacza, że zapobieganie uśpieniu może zwiększyć zużycie energii. „Budź przy dostępie przez sieć” pozwala Macowi tylko na chwilę się obudzić, żeby obsłużyć udostępniane usługi. Nie utrzyma działania agenta.
W Mono na Macu sekcja Ustawienia > Code zawiera opcję „Bez uśpienia, gdy agent pracuje”, domyślnie włączoną. Wstrzymuje ona uśpienie przy bezczynności, dopóki agent nie skończy swojej tury. Zamknięcie pokrywy nadal usypia Maca. Opcja „Praca przy zablokowanym ekranie”, również domyślnie włączona, pozwala otwartym sesjom działać dalej, gdy ekran jest zablokowany. W Windows Mono nie ma ustawienia uśpienia.
4. Zapobiegnij uśpieniu komputera z Windows
W Windows 11 otwórz Start > Ustawienia > System > Zasilanie i bateria > Limity czasu ekranu, uśpienia i hibernacji (Screen, sleep, & hibernate timeouts), jak pokazuje przewodnik Microsoftu po ustawieniach zasilania. Na komputerze stacjonarnym ta strona może nazywać się Zasilanie.
Przy opcji określającej, po jakim czasie urządzenie przechodzi w uśpienie (Make my device sleep after), zapisz wartość dla zasilania z sieci, a potem ustaw Nigdy albo czas znacznie dłuższy niż zadanie.
Następnego dnia uruchamiasz podobne 40-minutowe zadanie na „den-pc”, komputerze stacjonarnym z Windows, który przechodzi w uśpienie po 30 minutach. To krócej niż zadanie, więc zapisujesz 30 minut i wybierasz Nigdy.
Aby później przywrócić ten czas z terminala, użyj polecenia powercfg, które przyjmuje wartość w minutach: powercfg /change standby-timeout-ac 30.
5. Przygotuj długie zadanie, które zostawisz bez nadzoru
Wypełnij tę tabelę przed wyjściem.
| Do sprawdzenia | MacBook Air | den-pc (Windows) |
|---|---|---|
| Zasilanie i pokrywa | Zasilacz podłączony, pokrywa otwarta | Komputer stacjonarny, podłączony do zasilania |
| Co zapobiega uśpieniu | caffeinate -i -t 3600 |
Uśpienie ustawione na Nigdy |
| Wartość do przywrócenia | Brak | 30 minut |
| Aktualizacje zainstalowane, nic nie czeka na restart | Tak | Tak |
| Agent działa, powiadomienia przetestowane, telefon naładowany | Tak | Tak |
Obserwuj pierwszy krok agenta, żeby nie utknął na prośbie o zalogowanie albo na brakującym narzędziu. Skonfiguruj powiadomienia z agenta programistycznego, które dadzą znać, gdy skończy pracę lub będzie potrzebował zgody, i skorzystaj z poradnika zdalnego programowania, żeby śledzić jego pracę z telefonu.
6. Przywróć ustawienia po zakończeniu zadania
- Zatrzymaj
caffeinateskrótem Control-C albo poczekaj, aż minie ustawiony czas. - Wyłącz na Macu każdą opcję uśpienia, którą wcześniej włączyłeś.
- W Windows przywróć zapisany czas uśpienia (30 minut na den-pc).
Następnie sprawdź, czy nic już nie blokuje uśpienia komputera. Na Macu uruchom w Terminalu pmset -g assertions i zajrzyj do sekcji „Listed by owning process”. Nie powinno tam być caffeinate, choć wpisy dotyczące dźwięku lub systemu są normalne. W Windows uruchom powercfg /requests w terminalu otwartym jako administrator. To polecenie wyświetla aplikacje i sterowniki, które utrzymują włączony ekran albo nie pozwalają komputerowi przejść w uśpienie.
Na koniec przejrzyj zmiany agenta, zanim utworzysz jakikolwiek commit. Mono nie jest jeszcze dostępny, ale możesz dołączyć do listy oczekujących.
