keepresso CLI로 명령줄에서 Mac 깨어 있게 하기
Keepresso에는 작은 명령줄 도구가 딸려 있어서, 메뉴 막대에 손을 뻗지 않고도 터미널, 셸 스크립트, Makefile, CI 작업에서 제어할 수 있습니다. 명령어는 keepresso이며, 두 가지 방식으로 동작합니다. 메뉴 막대 앱과 통신하거나, 기본 내장 caffeinate처럼 그 자체로 Mac을 깨어 있게 할 수 있습니다.
명령어 설치하기
Homebrew로 Keepresso를 설치했다면 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 # start an open-ended session
keepresso start --for 90 # start a 90 minute session
keepresso start --until 18:00 # run until a wall-clock time
keepresso stop # end the current session
keepresso toggle # flip it on or off
그래서 긴 작업은 시작할 때 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 프로세스 자체가 파워 어서션을 유지하며, 프로세스가 종료되는 순간 Mac은 다시 자유롭게 잠들 수 있습니다.
keepresso -i # hold until you press Ctrl-C
keepresso -t 3600 # hold for a number of seconds
keepresso -w 5123 # hold until process 5123 exits
keepresso -d # also keep the display awake (combine with the above)
keepresso -u # declare user activity: wake the display now
가장 유용한 패턴은 깨어 있는 상태를 명령이나 셸의 수명에 묶는 것입니다.
keepresso -w $$ & # stay awake as long as this shell lives
ffmpeg -i in.mov out.mp4 && keepresso stop
이 유지 상태는 실제 macOS 파워 어서션이므로, pmset -g assertions에도, Keepresso 자체의 활동 탭에도 Mac을 깨어 있게 하는 다른 모든 앱과 나란히 나타납니다.
관련 문서
- 단축어, Raycast, 스크립트로 Keepresso 제어하기는 단축어 액션과 터미널 없는 자동화를 위한
keepresso://URL scheme을 다룹니다. - macOS용 caffeinate 대안은 Keepresso가 기본 내장
caffeinate명령과 어떻게 관련되는지 설명합니다.
Keepresso 사용하기의 다른 가이드