맥북 뚜껑 덮어도 작업 안 멈추게 하는 법 (안전장치 포함)

정세현·2026년 8월 14일

회사 자리에 전원 연결해두고 무거운 작업(예: Claude Code, 빌드, 장시간 스크립트 등)을 돌려놓은 채 뚜껑을 덮어도 잠들지 않게 하는 설정입니다. 대신 퇴근할 때 끄는 걸 깜빡해도 저녁에 자동으로 안전하게 원상복구되는 장치까지 같이 넣었습니다.

왜 필요한가

  • macOS는 뚜껑을 덮으면 하드웨어적으로 강제 절전에 들어갑니다. caffeinate 같은 명령어는 이 강제 절전을 못 막습니다.
  • sudo pmset -a disablesleep 1 명령어를 쓰면 뚜껑을 덮어도 절전에 들어가지 않게 할 수 있습니다.
  • 다만 이 상태로 계속 두면 (특히 가방처럼 밀폐된 공간에 넣을 경우) 열이 빠져나가지 못해 발열/배터리 소모 문제가 생길 수 있습니다.
  • 그래서 사무실 책상 위에서, 전원 연결한 상태로만 쓰는 걸 전제로 하고, 깜빡하고 켜놓은 채 퇴근해도 자동으로 꺼지도록 안전장치(스케줄 작업)를 걸어둡니다.

사전 준비

  • macOS, 터미널(Terminal.app) 사용
  • 관리자 비밀번호 (sudo 명령어에 필요)

1단계. 안전장치 스크립트 만들기

터미널에서 아래 명령어를 통째로 복사해서 실행합니다. (다운로드 없이 터미널에서 바로 파일이 생성됩니다.)

sudo mkdir -p /usr/local/bin
sudo tee /usr/local/bin/pmset-safety-off.sh > /dev/null << 'EOF'
#!/bin/bash
# 매일 정해진 시간에 pmset disablesleep을 자동으로 꺼서
# 깜빡하고 켜놓은 채 퇴근하는 걸 방지하는 안전장치 스크립트.
/usr/bin/pmset -a disablesleep 0
echo "$(date '+%Y-%m-%d %H:%M:%S') disablesleep -> 0 (정상 절전 복구됨)"
EOF
sudo chmod +x /usr/local/bin/pmset-safety-off.sh

2단계. 매일 자동 실행되게 등록하기 (LaunchDaemon)

기본값은 매일 저녁 8시(20:00) 에 자동으로 절전 방지를 꺼주는 설정입니다.

sudo tee /Library/LaunchDaemons/com.nhn.pmset-safety-off.plist > /dev/null << '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.nhn.pmset-safety-off</string>
    <key>ProgramArguments</key>
    <array>
        <string>/bin/bash</string>
        <string>/usr/local/bin/pmset-safety-off.sh</string>
    </array>
    <key>StartCalendarInterval</key>
    <dict>
        <key>Hour</key>
        <integer>20</integer>
        <key>Minute</key>
        <integer>0</integer>
    </dict>
    <key>RunAtLoad</key>
    <false/>
    <key>StandardOutPath</key>
    <string>/var/log/pmset-safety-off.log</string>
    <key>StandardErrorPath</key>
    <string>/var/log/pmset-safety-off.log</string>
</dict>
</plist>
EOF
sudo chown root:wheel /Library/LaunchDaemons/com.nhn.pmset-safety-off.plist
sudo chmod 644 /Library/LaunchDaemons/com.nhn.pmset-safety-off.plist

3단계. 등록 및 테스트

sudo launchctl load -w /Library/LaunchDaemons/com.nhn.pmset-safety-off.plist
sudo launchctl start com.nhn.pmset-safety-off

확인 명령어 (macOS는 이 값을 disablesleep이 아니라 SleepDisabled라는 이름으로 보여줍니다):

pmset -g | grep -i sleepdisabled

SleepDisabled 0이 뜨면 정상입니다.

등록이 잘 됐는지 확인:

sudo launchctl list | grep pmset-safety-off

com.nhn.pmset-safety-off가 목록에 뜨면 정상 등록된 것입니다.

로그로 실행 이력 확인:

cat /var/log/pmset-safety-off.log

전체 흐름 테스트 (선택)

sudo pmset -a disablesleep 1
pmset -g | grep -i sleepdisabled   # SleepDisabled 1 확인
sudo launchctl start com.nhn.pmset-safety-off
pmset -g | grep -i sleepdisabled   # SleepDisabled 0 으로 바뀌었는지 확인

4단계. 매일 켜기 편하게 alias 등록하기

절전 방지를 켜는 건 자동화하지 않았습니다 (깜빡해도 위험하지 않은 쪽이라 수동이 안전합니다). 대신 짧은 명령어로 켤 수 있게 alias를 등록합니다.

echo "alias sleepoff='sudo pmset -a disablesleep 1'" >> ~/.zshrc
source ~/.zshrc

등록 확인:

sleepoff

비밀번호 입력 후 에러 없이 넘어가면 정상입니다.


매일 사용법

시점할 일
출근해서터미널에 sleepoff 입력 → 비밀번호 입력. 그날은 뚜껑 덮어도 절전 안 됨
작업 중신경 쓸 것 없음
퇴근할 때아무것도 안 해도 됨. 그냥 뚜껑 덮고 나가면 됨
저녁 8시자동으로 SleepDisabled 0으로 복구됨 (깜빡하고 켜놓은 채 퇴근해도 안전)

주의사항

  • 반드시 전원 어댑터 연결 상태 + 사무실 책상 위(통풍되는 곳) 에서만 사용하세요. 가방처럼 밀폐된 공간에 넣고 뚜껑 닫힌 채 이동하면 열이 못 빠져나가 위험합니다.
  • 자동 복구 시간을 8시가 아닌 다른 시간으로 바꾸고 싶다면, 2단계 명령어에서 <integer>20</integer>(시), <integer>0</integer>(분) 숫자를 원하는 시간으로 바꿔서 다시 실행한 뒤 아래로 재적용하세요.
sudo launchctl unload /Library/LaunchDaemons/com.nhn.pmset-safety-off.plist
sudo launchctl load -w /Library/LaunchDaemons/com.nhn.pmset-safety-off.plist

참고 (원리 요약)

  • caffeinate: 유휴 절전만 막고, 뚜껑 닫힘으로 인한 강제 절전은 못 막음
  • sudo pmset -a disablesleep 1: 뚜껑 닫힘 절전까지 막음 (이 가이드에서 사용하는 방법)
  • LaunchDaemon: root 권한으로 매일 정해진 시각에 자동 실행되는 macOS 스케줄러. /Library/LaunchDaemons에 등록하면 재부팅 후에도 유지됨
profile
I'm the best

0개의 댓글