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 비교 요약

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