Тримайте Mac активним з командного рядка за допомогою keepresso CLI
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 повідомляє, чи запущена сесія, а її код завершення легко перевірити в скрипті:
0Mac тримається активним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 зі Shortcuts, Raycast або скрипта охоплює дії Shortcuts і URL scheme
keepresso://для автоматизації без термінала. - Альтернатива caffeinate для macOS пояснює, як Keepresso співвідноситься зі вбудованою командою
caffeinate.
Отримайте Keepresso
Безкоштовно і з відкритим вихідним кодом, для macOS 14 і новіше. Встановіть його і не давайте Mac засинати на ваших умовах.
Ще в Використання Keepresso