100 lines
2.3 KiB
Markdown
100 lines
2.3 KiB
Markdown
# macOS Always-On Setup
|
|
|
|
맥 미니 등에서 NanoClaw를 24/7 운영할 때 필요한 설정.
|
|
|
|
## 문제
|
|
|
|
macOS는 잠금/유휴 시 슬립 모드에 진입하여 NanoClaw, Docker 등 백그라운드 프로세스가 멈춤.
|
|
|
|
## 서비스 상태 확인
|
|
|
|
```bash
|
|
# NanoClaw 실행 여부 (PID가 숫자면 실행 중, -면 중지)
|
|
launchctl list | grep nanoclaw
|
|
|
|
# 로그 실시간 확인
|
|
tail -f logs/nanoclaw.log
|
|
```
|
|
|
|
## 슬립 방지
|
|
|
|
### 방법 1 — caffeinate (임시)
|
|
|
|
```bash
|
|
caffeinate -s &
|
|
```
|
|
|
|
디스플레이는 꺼지지만 시스템은 깨어 있음. 터미널/세션 종료 시 해제.
|
|
|
|
영구적으로 유지하려면 launchd에 등록:
|
|
|
|
```bash
|
|
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 (영구, 권장)
|
|
|
|
```bash
|
|
# 시스템 슬립 비활성화
|
|
sudo pmset -a sleep 0
|
|
sudo pmset -a disksleep 0
|
|
|
|
# 디스플레이만 끄기 (10분 후)
|
|
sudo pmset -a displaysleep 10
|
|
|
|
# 네트워크 접근으로 깨우기 (Wake on LAN)
|
|
sudo pmset -a womp 1
|
|
```
|
|
|
|
설정 확인:
|
|
|
|
```bash
|
|
pmset -g
|
|
```
|
|
|
|
### 방법 3 — 시스템 설정 GUI
|
|
|
|
시스템 설정 > 에너지 절약 (또는 배터리) > "디스플레이가 꺼져 있을 때 자동으로 잠자기 방지" 활성화.
|
|
|
|
## 자동 로그인 (헤드리스 운영)
|
|
|
|
맥 미니를 재부팅해도 자동으로 로그인되도록:
|
|
|
|
시스템 설정 > 사용자 및 그룹 > 자동 로그인 > 계정 선택
|
|
|
|
## Docker Desktop 자동 시작
|
|
|
|
시스템 설정 > 일반 > 로그인 항목 > Docker 추가
|
|
|
|
또는:
|
|
|
|
```bash
|
|
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)
|