Keepresso
Keepresso
Використання Keepresso

Тримайте Mac активним з командного рядка за допомогою keepresso CLI

Оновлено Jul 6, 2026 2 min

Keepresso постачає невеликий інструмент командного рядка, тож ви можете керувати ним із термінала, скрипта оболонки, Makefile чи завдання CI, не звертаючись до рядка меню. Команда це keepresso, і вона працює двома способами: вона може спілкуватися з застосунком у рядку меню, або сама тримати Mac активним, як вбудований caffeinate.

Встановіть команду

Якщо ви встановили Keepresso через Homebrew, команда keepresso вже на вашому PATH, нічого робити не треба:

brew install --cask gyorgysh/keepresso/keepresso

Якщо ви натомість встановили застосунок з DMG, інструмент лежить всередині пакета застосунку, і ваш PATH ще не знає про нього. Прив'яжіть його один раз:

sudo ln -s /Applications/Keepresso.app/Contents/Helpers/keepresso /usr/local/bin/keepresso

Перевірте, що все підключено:

keepresso version

Керуйте застосунком

Ці команди надсилаються до застосунку Keepresso, запускаючи його, якщо він ще не працює. Це скриптований двійник меню.

keepresso start                 # запустити сесію без обмеження часу
keepresso start --for 90        # запустити 90-хвилинну сесію
keepresso start --until 18:00   # працювати до визначеного часу
keepresso stop                  # завершити поточну сесію
keepresso toggle                # увімкнути чи вимкнути

Тож довга задача може розбудити Mac на початку й дозволити йому заснути по завершенні:

keepresso start
make release
keepresso stop

Читайте статус

keepresso status повідомляє, чи запущена сесія, а її код завершення легко перевірити в скрипті:

  • 0 Mac тримається активним
  • 1 не тримається
  • 2 застосунок не запущено
keepresso status && echo "awake" || echo "asleep"

Додайте --json для машинозчитуваної відповіді:

keepresso status --json

Той самий стан сесії також відображається у файл, тож інструмент у рядку меню, рядок статусу чи віджет можуть прочитати його, нічого не запускаючи:

~/Library/Application Support/Keepresso/status.json

Він містить поточний стан і мітки часу ISO 8601.

Окреме утримання, без застосунку

Іноді ви взагалі не хочете залучати застосунок, ви просто хочете, щоб цей один процес оболонки тримав Mac активним, точнісінько як caffeinate. У цьому режимі сам процес keepresso утримує power assertion, і Mac вільний знову заснути тієї миті, коли процес завершується.

keepresso -i            # тримати, поки ви не натиснете Ctrl-C
keepresso -t 3600       # тримати задану кількість секунд
keepresso -w 5123       # тримати, поки не завершиться процес 5123
keepresso -d            # також тримати дисплей активним (поєднувати з вищим)
keepresso -u            # оголосити активність користувача: розбудити дисплей зараз

Найкорисніший патерн, це прив'язати активність до життя команди чи оболонки:

keepresso -w $$ &       # залишатися активним, поки живе ця оболонка
ffmpeg -i in.mov out.mp4 && keepresso stop

Оскільки ці утримання це справжні power assertion macOS, вони показуються в pmset -g assertions і на власній панелі активності Keepresso, поряд з кожним іншим застосунком, що тримає Mac активним.

Пов'язане

Отримайте Keepresso

Безкоштовно і з відкритим вихідним кодом, для macOS 14 і новіше. Встановіть його і не давайте Mac засинати на ваших умовах.

Ще в Використання Keepresso

Тримайте Mac активним заданий час
Запустіть сесію підтримання активності за таймером, щоб ваш Mac залишався активним для завантаження чи рендерингу, а потім заснув сам.
Не давайте MacBook засинати з закритою кришкою
Не давайте MacBook засинати, коли ви закриваєте кришку, від батареї, без зовнішнього дисплея й без кабелю живлення. Безкоштовно і з відкритим вихідним кодом.
Залишайтеся активним лише коли це важливо, з розумними тригерами
Встановіть умови, щоб Keepresso тримав ваш Mac активним лише поки працює застосунок, триває дзвінок, ви від мережі, і не тільки. Ніколи активний, коли не потрібно.
Не давайте Mac засинати, але дозвольте екрану вимикатися
Тримайте Mac активним для завантаження чи збірки, поки дисплей засинає, щоб економити заряд і берегти екран.