Заплануйте Mac спати лише один раз


18

Чи можна запланувати Mac на сон лише один раз? Я знаю, що можу встановити графік для цього, але хочу контролювати його.

Тож час від часу я лягаю спати, але залишаю передачу файлів, і я хочу, щоб Мак спав приблизно годину. То як би я пішов робити це, не встановлюючи довгостроковий графік?


2
Якщо ви завантажуєте в Термінал, ви можете комбінувати обидві команди, подібні до: sudo sh -c 'wget http://download.com/file.zip; pmset sleepnow'Команда сну виконується лише тоді, коли wget вийде.
Овербрид

Відповіді:


28

Команда pmsetтерміналу повинна робити те, що ви хочете. Далі переведено комп'ютер у режим сну о 23:45:00 2 грудня 2014 р. Команду потрібно запустити з облікового запису адміністратора:

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

Формат дати MM / DD / YY не можна змінити; тому, якщо ви звикли до іншого формату, будьте обережні.

Якщо ви робите це регулярно, ви можете написати функцію та зберегти її у своєму ~/.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"
}

2
Я отримав помилку під час виклику функції sleep-in:local:2: not an identifier: 23:35:31. Виявляється (принаймні на моєму встановленні (zsh)), що вам потрібно обгорнути цей вираз зворотного вибору в подвійні лапки. Так роби:local datetime="`date -v+${minutes}M +"%m/%d/%y %H:%M:%S"`"
Метт Додж

Функція супутника для скасування сну (замініть "\ n" фактичними новими рядками): 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 }\ n
KFunk

7

За замовчуванням це не можливо зробити з параметрами, які ви маєте в налаштуваннях системи.

введіть тут опис зображення

Але це можна зробити з командного рядка за допомогою простої команди:

sleep 10; osascript -e 'tell application "System Events" to sleep'
  • sleep 10призупинити виконання наступної команди на 10 секунд. Якщо вам потрібні хвилини або години, ви повинні змінити 10 з кількістю потрібних секунд.
  • osascript -e 'tell application "System Events" to sleep' перевести комп'ютер в режим сну.

1
За допомогою GNU coreutils sleepприймає такі аргументи, як 10s, наприклад 5m, 3hсекунди, хвилини та години відповідно.
AT

1

Усі вищезазначені відповіді спрацьовують, але якщо ви хочете робити це регулярно, я рекомендую програмне забезпечення Power Manager , яке дозволяє встановлювати користувацькі час сну, як на один раз, так і на повторювані події дуже легко (набагато простіше, ніж використання команд терміналів, в моя думка). Програмне забезпечення порівняно дороге (50 доларів), але є безкоштовна 30-денна пробна версія з усіма функціями. Ви також можете керувати Power Manager зі свого iPhone, що приємно, якщо ви знаходитесь далеко від комп'ютера, але хочете встановити його на режим сну або вимкнення.


1

Для управління живленням вашого Mac від вашого iPhone в локальній мережі я використовував Off Remote, який також може запланувати протягом наступних 24 годин системну дію (Вимкнення, Блокування, Перезапуск, Вихід , Сон) і становить лише 3 долари в iOS зберігати, але вимагає встановлення додаткового додатка-помічника на вашому Mac, щоб отримувати інструкції від додатка iPhone.

Ще одна відповідь тут запропонувала використовувати програмне забезпечення Power Manager, яке коштує 50 доларів, але я запропонував би програмне забезпечення Maestro на клавіатурі 36 доларів, яке трохи менш інтуїтивно зрозуміло, ніж Power Manager, але має більшу гнучкість за межами управління живленням. У пошуках можливості планувати мій Mac на сон, я згадав, що у мене є ця утиліта, і я міг швидко перетягнути макрокомпоненти в KM, щоб створити сценарій, який призупинився протягом встановленого періоду часу, а потім помістити свій Mac у сон:

клавіатура maestro скрипт, щоб перевести Mac у режим сну через 2 години

… Також існує дія в клавіатурі Maestro, яка також планує макроси (щоб перевести Mac у режим сну, вимкнення, перезапуск тощо), які слід запускати у визначений час:

активація клавіатури maestro для макросу залежно від часу та дня тижня

Клавіатура Maestro дешевша і набагато надійніша для розробки макросів, які можуть покращити використання вашого Mac, але крива навчання трохи більше, ніж програма Power Manager.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.