Files
nanoclaw/MACOS-ALWAYS-ON.md
woozu-shin c83b766c32
Some checks failed
Sync upstream & merge-forward skill branches / sync-and-merge (push) Has been cancelled
Merge-forward skill branches / merge-forward (push) Has been cancelled
add hint
2026-03-24 01:57:14 +09:00

2.3 KiB

macOS Always-On Setup

맥 미니 등에서 NanoClaw를 24/7 운영할 때 필요한 설정.

문제

macOS는 잠금/유휴 시 슬립 모드에 진입하여 NanoClaw, Docker 등 백그라운드 프로세스가 멈춤.

서비스 상태 확인

# NanoClaw 실행 여부 (PID가 숫자면 실행 중, -면 중지)
launchctl list | grep nanoclaw

# 로그 실시간 확인
tail -f logs/nanoclaw.log

슬립 방지

방법 1 — caffeinate (임시)

caffeinate -s &

디스플레이는 꺼지지만 시스템은 깨어 있음. 터미널/세션 종료 시 해제.

영구적으로 유지하려면 launchd에 등록:

cat > ~/Library/LaunchAgents/com.caffeinate.plist << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.caffeinate</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/bin/caffeinate</string>
        <string>-s</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
</dict>
</plist>
EOF
launchctl load ~/Library/LaunchAgents/com.caffeinate.plist

방법 2 — pmset (영구, 권장)

# 시스템 슬립 비활성화
sudo pmset -a sleep 0
sudo pmset -a disksleep 0

# 디스플레이만 끄기 (10분 후)
sudo pmset -a displaysleep 10

# 네트워크 접근으로 깨우기 (Wake on LAN)
sudo pmset -a womp 1

설정 확인:

pmset -g

방법 3 — 시스템 설정 GUI

시스템 설정 > 에너지 절약 (또는 배터리) > "디스플레이가 꺼져 있을 때 자동으로 잠자기 방지" 활성화.

자동 로그인 (헤드리스 운영)

맥 미니를 재부팅해도 자동으로 로그인되도록:

시스템 설정 > 사용자 및 그룹 > 자동 로그인 > 계정 선택

Docker Desktop 자동 시작

시스템 설정 > 일반 > 로그인 항목 > Docker 추가

또는:

osascript -e 'tell application "System Events" to make login item at end with properties {path:"/Applications/Docker.app", hidden:true}'

전체 부팅 순서

  1. macOS 자동 로그인
  2. Docker Desktop 자동 시작 (로그인 항목)
  3. caffeinate 슬립 방지 (launchd)
  4. NanoClaw 서비스 시작 (launchd: com.nanoclaw.plist)