Zaplanuj, aby komputer Mac spał tylko raz

18

Czy można zaplanować, że komputer Mac będzie spał tylko raz? Wiem, że mogę ustalić harmonogram, ale chcę mieć nad tym kontrolę.

Od czasu do czasu idę spać, ale zostawiam plik do przesłania i chcę, żeby Mac spał za godzinę. Jak więc miałbym to zrobić bez ustalania długoterminowego harmonogramu?

Gary
źródło
2
Jeśli pobierasz w Terminalu, możesz połączyć oba polecenia podobnie do: sudo sh -c 'wget http://download.com/file.zip; pmset sleepnow'Polecenie uśpienia zostanie wykonane tylko po wyjściu wget.
Overbryd

Odpowiedzi:

28

Polecenie pmsetterminalu powinno robić, co chcesz. Następujące polecenie uśpi komputer o 2:45:00 2 grudnia 2014 r. Polecenie należy jednak uruchomić z konta administratora:

sudo pmset schedule sleep "12/02/14 23:45:00"

Nie można zmienić formatu daty MM / DD / RR; więc jeśli jesteś przyzwyczajony do innego formatu, zachowaj ostrożność.

Jeśli robisz to regularnie, możesz napisać funkcję i zapisać ją w ~/.profile:

# Schedule sleep in X minutes, use like: sleep-in 60
function sleep-in() {
  local minutes=$1
  local datetime=`date -v+${minutes}M +"%m/%d/%y %H:%M:%S"`
  sudo pmset schedule sleep "$datetime"
}
Kent
źródło
2
Wystąpił błąd podczas wywoływania funkcji sleep-in:local:2: not an identifier: 23:35:31. Okazuje się (przynajmniej w mojej instalacji (zsh)), że musisz zawinąć wyrażenie wstecznej daty w podwójne cudzysłowy. Więc zrób:local datetime="`date -v+${minutes}M +"%m/%d/%y %H:%M:%S"`"
Matt Dodge
Funkcja function sleep-cancel-all() {\n NUM_OF_SLEEPS=$(pmset -g sched | wc -l)\n if [[ $NUM_OF_SLEEPS -gt 0 ]]; then\n # The first line of output is a header, ignore it.\n NUM_OF_SLEEPS=$(expr $NUM_OF_SLEEPS - 1)\n seq $NUM_OF_SLEEPS | xargs -Iz sudo pmset schedule cancel 0\n fi\n }
pomocnicza
7

Domyślnie nie da się tego zrobić za pomocą opcji dostępnych w preferencjach systemowych.

wprowadź opis zdjęcia tutaj

Ale możesz to zrobić z wiersza poleceń za pomocą prostego polecenia:

sleep 10; osascript -e 'tell application "System Events" to sleep'
  • sleep 10wstrzymaj wykonanie następującego polecenia na 10 sekund. Jeśli chcesz minut lub godzin, musisz zmienić 10 na dowolną liczbę sekund.
  • osascript -e 'tell application "System Events" to sleep' Uśpij komputer.
Jherran
źródło
1
W przypadku GNU coreutils sleepakceptuje argumenty takie jak 10s, odpowiednio 5m, 3hdla sekund, minut i godzin.
AT
1

Wszystkie powyższe odpowiedzi działają, ale jeśli chcesz to robić regularnie, polecam oprogramowanie Power Manager , które pozwala bardzo łatwo ustawić niestandardowe czasy uśpienia, zarówno dla jednego zdarzenia, jak i powtarzających się zdarzeń (znacznie łatwiej niż przy użyciu poleceń terminalu, w moja opinia). Oprogramowanie jest stosunkowo drogie (50 USD), ale istnieje bezpłatna 30-dniowa wersja próbna ze wszystkimi funkcjami. Możesz także kontrolować Power Managera z iPhone'a, co jest miłe, jeśli nie masz komputera, ale chcesz go ustawić w tryb uśpienia lub wyłączyć.


źródło
1

Do sterowania zasilaniem twojego Maca z iPhone'a w sieci lokalnej użyłem Off Remote, który może również zaplanować w ciągu najbliższych 24 godzin działanie systemu (Wyłącz, Zablokuj, Uruchom ponownie, Wyloguj, Uśpij) i kosztuje tylko 3 USD w iOS sklep, ale wymaga instalacji dodatkowej aplikacji pomocniczej na komputerze Mac, aby otrzymywać instrukcje z aplikacji na iPhone'a.

Inna odpowiedź tutaj sugeruje użycie oprogramowania Power Manager , które kosztuje 50 USD, ale sugerowałbym oprogramowanie Keyboard Maestro o wartości 36 USD , które jest nieco mniej intuicyjne niż Power Manager, ale ma większą elastyczność poza zarządzaniem energią. Szukając możliwości zaplanowania uśpienia komputera Mac, przypomniałem sobie, że mam to narzędzie i byłem w stanie szybko przeciągnąć i upuścić komponenty makr w KM, aby utworzyć skrypt, który wstrzymał się na określony czas, a następnie przełączył mój komputer Mac na sen:

Skrypt maestro klawiatury, aby uśpić Maca po 2 godzinach

… W Keyboard Maestro istnieje również akcja polegająca na zaplanowaniu makr (uśpienia, wyłączenia, ponownego uruchomienia itd.) Uruchamianych w wyznaczonym czasie:

wyzwalacz maestro klawiatury dla makra na podstawie godziny i dni tygodnia

Klawiatura Maestro jest tańsza i znacznie bardziej niezawodna do tworzenia makr, które mogą poprawić wykorzystanie komputera Mac, ale jest nieco więcej krzywej uczenia się niż aplikacja Power Manager.

Alan Cook
źródło