devops

macOS 잠자기 방지 완벽 가이드: Amphetamine vs caffeinate 비교 및 클램쉘 모드 활용

디클냥 2026. 3. 10. 16:44

macOS를 사용하다 보면 대용량 파일 다운로드, 긴 빌드 작업, 또는 백그라운드 스크립트 실행 등을 위해 화면이 꺼지거나 시스템이 잠자기에 들지 않도록 설정해야 할 때가 있습니다. 이를 위해 사용하는 대표적인 두 가지 방식이 CLI 기반의 caffeinate 명령어GUI 기반의 Amphetamine입니다.

이 글에서는 두 도구의 기능과 옵션을 면밀히 비교하고, 작업 환경에 따른 제어 방법, 그리고 맥북 유저들의 고민거리인 클램쉘 모드(Clamshell Mode)에서의 동작 차이까지 종합적으로 정리해 보겠습니다.


1. 내장 명령어 caffeinate

caffeinate는 macOS에 기본 탑재된 커맨드라인 유틸리티로, 별도의 앱 설치 없이 터미널에서 즉시 사용할 수 있습니다. 스크립트나 자동화 파이프라인(DevOps)에 통합하기 매우 좋습니다.

주요 옵션 및 동작 제어

옵션 설명 활용 예시
-d 디스플레이 잠자기 방지 (Prevent display sleep) 프레젠테이션, 대시보드 모니터링 띄워두기
-i 시스템 유휴 잠자기 방지 (Prevent system idle sleep) 백그라운드 컴파일, 대용량 파일 다운로드 (화면은 꺼져도 시스템은 켜둠)
-m 디스크 유휴 잠자기 방지 (Prevent disk idle sleep) 외장 하드디스크 I/O 작업 중 디스크 절전 방지
-s 전원 연결 시 시스템 잠자기 방지 (System sleep, AC power only) 전원이 연결된 상태에서만 안전하게 각성 유지
-u 사용자 활성 상태로 선언 (Declare user active) 화면이 꺼져있을 때 즉시 켜고 절전 모드로 가는 것을 방지
-t [초] 특정 시간 동안 유지 (Timeout) caffeinate -t 3600 (1시간 동안 잠자기 방지)
-w [PID] 특정 프로세스가 종료될 때까지 대기 caffeinate -w 1234 (PID 1234가 끝날 때까지 방지)

💡 실전 활용 팁:

  • 명령어와 함께 실행: caffeinate -i npm run build (빌드가 끝날 때까지만 시스템 유휴 잠금 방지)
  • 일반적인 백그라운드 봇 돌리기: caffeinate -i -s (화면은 꺼지되, 전원 연결 시 시스템은 상시 구동)

2. 서드파티 앱 Amphetamine

Amphetamine은 macOS 생태계에서 가장 강력하고 널리 쓰이는 무료 잠자기 방지 앱입니다. 상태 표시줄(메뉴바)에 상주하며, 간단한 토글 액션과 함께 복잡한 '트리거(Trigger)' 기반의 자동화 기능을 제공합니다.

주요 기능 및 동작 제어

  • 세션(Session) 기반 제어: 무기한, 특정 시간(분/시간), 특정 앱이 실행 중일 때, 파일 다운로드가 완료될 때까지 등 상황에 맞게 각성 상태를 제어할 수 있습니다.
  • 고급 트리거(Triggers):
    • 특정 Wi-Fi 네트워크에 연결되었을 때 (예: 회사 네트워크)
    • 특정 블루투스 기기가 연결되었을 때
    • AC 전원이 연결되었을 때
    • 배터리가 N% 이하로 떨어지면 잠자기 허용 (배터리 보호)
  • 드라이브 활성 유지 (Drive Keep Alive): 무휴동 상태에서 외장 스토리지가 절전 모드에 들어가는 것을 막기 위해 주기적으로 빈 파일을 썼다 지우는 기능을 지원합니다.
  • 비활성 화면 보호 무효화: 마우스 커서를 주기적으로 조금씩 움직이게 하여 사내 보안 정책 등으로 인해 강제로 화면이 잠기는 것을 방지할 수 있습니다.

3. Amphetamine vs caffeinate 비교 요약

구분 caffeinate Amphetamine
종류 CLI 도구 (macOS 내장) GUI 앱 (Mac App Store 무료)
적합한 사용자 개발자, 시스템 관리자, 터미널 헤비 유저 일반 데스크톱 사용자, 세밀한 UI 제어 필요 유저
자동화 방식 Shell 명령, 프로세스(PID) 연동 Wi-Fi, 배터리 잔량, 특정 앱 실행 등의 물리/OS 환경
인터페이스 터미널 입력, 백그라운드 프로세스 메뉴바(상태 표시줄) 토글, 간편한 우클릭 메뉴
설치 및 종속성 ❌ (기본 탑재, 추가 설치 없음) ✅ (App Store 설치 필요)

4. 클램쉘 모드(Clamshell Mode)와 각성 제어

맥북 덮개를 닫은 상태로 모니터에 연결해 데스크톱처럼 사용하는 것을 클램쉘 모드라고 합니다.

기본 시스템 제약

macOS는 기본적으로 "전원 연결 + 외부 디스플레이 연결 + 외부 입력장치(키보드/마우스) 작동" 조건이 모두 충족될 때만 덮개를 닫았을 때 절전 모드로 진입하지 않습니다.

caffeinate를 통한 클램쉘 제어 한계

터미널에서 caffeinate -i 를 실행한 상태라도, 위 3가지 조건 없이 단순히 맥북 덮개를 닫으면 하드웨어적인 Sleep 명령이 우선 적용되어 절전 모드로 들어갑니다. 즉, 순정 상태의 Mac에서는 caffeinate 단독으로 모니터 없이 덮개를 닫은 채 서버처럼 구동할 수 없습니다.

Amphetamine의 "Closed-Display Mode" 마법

Amphetamine은 설정을 통해 애플의 하드웨어 슬립 제약을 우회할 수 있습니다.

  1. 옵션 해제: 설정에서 "Allow system sleep when display is closed" (디스플레이를 닫았을 때 시스템 잠자기 허용) 체크를 해제하면 덮개를 닫아도 강제로 절전 모드로 가지 않게 막을 수 있습니다.
  2. 독립적인 백그라운드 구동: 모니터나 전원조차 연결하지 않고도 덮개를 닫은 채 렌더링을 계속하거나, 로컬 서버를 유지할 수 있습니다.

⚠️ 주의사항 (발열 이슈): 덮개를 닫은 채 무거운 로드를 발생시키는 백그라운드 작업을 실행하고 통풍이 안 되는 가방 등에 넣으면 심각한 발열로 인해 기기에 영구적인 데미지가 발생할 수 있습니다. 이 기능은 반드시 쿨링이 보장된 환경에서만 제한적으로 사용해야 합니다.


마무리

  • 스크립트 빌드, 패키지 설치 등 "특정 작업이 끝날 때까지만 터미널에서 일시적 방어"를 하고 싶다면 caffeinate가 가장 빠르고 확실한 도구입니다.
  • 일상적인 업무(프레젠테이션, 화상 회의, 외장 드라이브 마운트 유지)나 강력한 클램쉘 모드 제어가 필요할 때는 상태 표시줄에서 간단하게 트리거를 켤 수 있는 Amphetamine을 추천합니다.

macOS 환경을 서버나 자동화 도구로 적극 활용하는 엔지니어라면, 상황에 맞게 두 가지 툴을 적절히 병행하여 사용하는 것이 최고의 생산성을 가져다줄 것입니다.