
맥북 덮개를 닫아도 AI가 일한다: Insomnia
한 줄 요약: Insomnia는 맥북이 덮개를 닫아도 잠들지 않게 하는 macOS 메뉴바 앱으로, 시간을 정해 깨어 있는 ’세션’을 만들고 앱 프리즈·저전력 모드·충돌 복구 같은 안전장치를 함께 제공해요.
최근 SNS에서 덮개를 닫은 맥북에서도 AI 에이전트가 작업을 계속하게 해 준다는 도구 이야기가 화제였어요. 직접 확인해 보니 그 도구는 Insomnia라는 오픈소스 앱이었고, 공식 리포와 사이트, 해외 기사를 교차 검증해 보니 ‘잠자기만 막는’ 소프트웨어가 아니라 안전장치를 여러 겹 갖춘 도구더라고요.
덮개를 닫으면 왜 AI 작업이 멈출까
Claude Code나 Codex 같은 코딩 에이전트는 내 맥 위에서 돌아가는 프로세스예요. macOS가 잠들면 그 프로세스는 작업 도중에 정지되고, 복귀 후 네트워크 요청이 시간을 넘겨 작업 자체가 실패할 수도 있어요. 그래서 화면이 어두워지는 것과는 별개의 문제로, ’잠자기(sleep)’를 어떻게 처리할지가 중요해요.
문제는 잠자기가 한 종류가 아니라는 점이에요. 덮개가 열려 있는 상태에서 일정 시간 사용이 없으면 잠드는 ’자리 비움 잠자기’는 내장 명령 caffeinate로 막을 수 있어요. 하지만 덮개를 닫았을 때 트리거되는 잠자기는 이 우회로가 통하지 않는 별도의, 더 엄격한 경로라고 정리 기사가 짚어요.
Apple이 공식으로 내세우는 답은 클램셸 모드예요. 외장 디스플레이를 연결하고 전원 어댑터와 외장 키보드·마우스까지 갖춰야 덮개를 닫고도 계속 쓸 수 있다는 규칙이에요. 노트북을 들고 카페를 오가는 상황에는 요건 자체가 맞지 않아요.
그래서 널리 쓰이는 비공식 방법은 pmset이라는 전원 설정 명령어에 disablesleep 옵션을 넣는 것이에요. 이 옵션은 명령어 도움말(man)에 실려 있지 않아 Apple이 보장하지 않고, 끌 때까지 직접 돌려놓아야 하는 수동 스위치예요. 깜빡 잊으면 다음에 덮개를 닫아도 잠들지 않고, 가방 속에서 발열·배터리 방전으로 이어진다는 게 이 방식의 함정이에요.
Insomnia: 메뉴바의 눈 하나로 깨워요

Insomnia는 메뉴바에 눈 모양 아이콘 하나만 올려 놓는 앱이에요. Dock 아이콘도 메인 창도 없어요. 작성자가 소개문구로 ’Caffeinate for the agentic era’를 붙였는데, 내장 명령 caffeinate를 AI 시대에 맞춰 넓힌 도구라는 뜻이에요. 리포는 MIT 라이선스로 공개됐고, 2026년 9월 14일에 시작해 10월 10일 첫 안정판 0.1.0이 나온 뒤 GitHub 스타 1,200개를 넘겼어요.
사용법은 단순해요. 눈을 클릭해 일, 시간, 분을 입력하고 Enter를 누르면 카운트다운 세션이 시작되고, 그동안 맥이 잠들지 않아요. 도중에 시간을 더하려면 카운트다운을 클릭하고, 조기 종료는 ×표를 0.6초 눌러야 하는데 실수 클릭을 막기 위한 장치예요. 오른쪽 클릭으로 상태·설정·종료 메뉴가 열려요.
설치 방법도 특이해요. 공식 사이트가 ’아래 문장을 코딩 에이전트에게 붙여 넣으라’고 안내해요. 설치 절차 문서의 주소를 코딩 에이전트에 붙여 넣으면 에이전트가 스스로 절차를 밟고, 비밀번호가 필요한 단계에서는 사용자에게 터미널 명령을 건네줘요. 요구 사양은 Apple Silicon 맥에 macOS 26 이상으로, Intel 맥은 지원하지 않아요.
설치가 바꾸는 것은 세 가지예요. 앱 본체, 1분마다 돌아가는 launchd(macOS의 백그라운드 작업 관리 프로그램) 복구 에이전트, 그리고 /etc/sudoers.d/insomnia라는 sudoers 규칙이에요. sudoers는 ‘누구에게 어떤 관리자 명령을 비밀번호 없이 허락할지’ 적어 둔 설정 파일인데, 여기엔 잠자기를 켜고 끄는 pmset disablesleep과 저전력 모드 명령 네 가지만 들어가 있어요. 다만 내 사용자 계정으로는 다른 프로그램도 이 권한을 쓸 수 있으니, 설치 전에 문서를 한번 읽어 보라는 권고가 붙어 있어요.
덮개를 닫으면 벌어지는 일
세션 중에 덮개를 닫으면 타이머는 계속 흐르면서, 겉으로 보이는 방해 요소들이 순서대로 정리돼요. 화면과 키보드 밝기는 현재 값이 저장된 뒤 꺼지고, 지정된 앱은 SIGSTOP(프로세스에 보내는 일시정지 신호)으로 멈춰요. 기본 목록은 Slack, WhatsApp, Discord예요.
‘그 외 앱 전부 프리즈’ 규칙도 있는데, 이 기본값은 릴리스 버전에 따라 달라요. 0.1.0 릴리스는 켜짐이 기본이고, 그다음 개발 버전은 꺼짐이 기본이에요. 이 규칙을 켠 상태에서도 Zoom, Teams, OBS 같은 회의·녹음·받아쓰기 앱은 예외로 건너뛰고, Docker Desktop은 컨테이너가 돌지 않을 때만 멈추는 선택 규칙으로 분리돼 있어요. 화면이 꺼진 상태에서 주변 앱까지 멈추니, 겉에서 보면 ‘알아서 일시 중지된 것처럼’ 보이는 구조예요.
덮개를 닫으면 오디오는 음소거되고(기본값은 버전에 따라 달라요) 저전력 모드가 켜져요. 덮개를 다시 열면 밝기·프리즈·소리가 저장된 대로 되돌려져요. 참고로 Apple Silicon 맥북은 덮개가 닫히면 내장 마이크가 하드웨어 수준에서 연결이 끊기므로, 닫은 상태의 회의 녹음에는 에어팟·외장 마이크가 필요해요.
배터리와 발열, 미리 정해 둔 가드레일
덮개가 닫혀 어두운 맥이 오래 돌면 남는 위험은 온도와 배터리예요. Insomnia는 배터리가 40% 아래로 떨어지면 저전력 모드를, 10% 아래로 떨어지면 세션을 끝내요. 발열에도 같은 규칙이 붙어요. 심각(serious) 단계의 고열에서는 저전력 모드를 켜고, 위험(critical) 단계에서 세션을 종료해요. 이 수치는 설정에서 바꿀 수 있고, 규칙은 앱이 열려 있는 동안에만 작동해요.
충돌해도 되돌릴 수 있는 복구 저널
이 도구의 설계에서 가장 신경 쓴 부분은 복구 저널이에요. 전원 설정 같은 시스템 상태를 바꾸기 전에, 무엇을 바꿨는지 먼저 디스크의 저널에 적어 둬요. 세션이 정상 종료되면 저널을 읽고 되돌리고, 앱이 크래시했거나 종료돼 있으면 그 백그라운드 에이전트가 종료 시각이 지난 세션을 대신 되돌려요. pmset을 수동으로 켜 두고 잊어버려서 생기는 흔한 사고를, 저널과 백그라운드 에이전트가 함께 막아 주는 구조예요.
복구에도 사람 손이 필요한 부분이 명시돼 있어요. 음소거 해제는 앱을 다시 열어야 하고, 복구 에이전트는 배터리와 온도를 감시하지 않으며, Insomnia는 자신이 프리즈했다고 증명할 수 없는 프로세스는 되돌리지 않고 그대로 둬요. 그래서 상태 메뉴에 복구 경고가 뜨면 맥을 방치하기 전에 먼저 정리하라는 안내가 README에 있어요.
연결이 끊겨도, 브라우저가 느려지지도 않게
덮개 아래에서 오래 돌 때 막히는 지점은 잠자기만이 아니에요. Insomnia는 세 가지 옵션으로 이를 보완해요. Wi-Fi가 끊기면 아이폰 핫스팟으로 넘어가는 기능(설정이 필요하고, 핫스팟 이름·비밀번호는 로그인 키체인에 저장돼요)이 대표적이에요. macOS 때문에 위치 서비스 권한을 요구하는데, 이는 Wi-Fi 이름을 읽을 때 macOS가 요구하는 권한이라서 예요. 도구는 위치 자체를 읽지 않는다고 리포가 설명해요.
두 번째는 tmux(터미널 다중창 도구) 연동이에요. 90초 이상 네트워크가 없으면, 사용자가 표시해 둔 tmux 창에만 continue를 타이핑해 에이전트가 다음 작업을 이어가게 해요. 세 번째는 브라우저 감속 대응이에요. Chrome·Chromium·Arc 같은 브라우저는 창이 화면에서 안 보이면 처리 속도를 줄이는데, 덮개를 닫으면 모든 창이 ‘안 보이는’ 상태가 돼요. 이때 우클릭 메뉴에서 스로틀(감속) 해제 후 재시작을 골라 원래 속도를 되찾게 하는 옵션이 있어요.
비슷한 일을 하는 도구들과의 비교
같은 문제를 두고 나온 도구가 여럿이에요. 대표적인 것들을 공식 소개·리포 목록 기준으로 표로 묶었어요.
| 도구 | 형태 | 덮개 닫힘 | 안전장치 |
|---|---|---|---|
| Insomnia | 메뉴바 앱 (MIT) | 세션 중 프리즈·저전력으로 유지 | 배터리·발열 가드, 복구 저널·에이전트 |
| Lidless | 메뉴바 앱 (MIT) | 유지 | 가벼운 용도 특화형 |
| Sleepless | 메뉴바 앱 (MIT) | disablesleep 방식 | 자동 종료 타이머, 배터리 하한 |
| StayAwake | 메뉴바 앱 (MIT) | IOPMAssertion + pmset | 타이머 자동 해제, 크래시 복구 |
| Amphetamine | App Store 무료 | 외장 디스플레이가 사실상 전제 | 트리거·UI 기능은 정제돼 있음 |
| caffeinate·pmset | 내장 터미널 명령 | disablesleep만 가능 | 없음(수동 복원) |
대조해 보면 Insomnia의 차별점이 드러나요. 잠자기만 막는 것이 아니라 ‘얼마나 깨어 있을지’, ‘덮개 아래에서 무엇을 정리할지’, ‘위험하면 언제 그만둘지’, ‘엇나간 상태를 누가 되돌릴지까지’ 한 도구가 묶어 뒀다는 점이에요.
설치 전에 알아둘 한계
작성자는 이 프로젝트를 실험적이라고 규정해요. 복구가 실패할 수 있고, 타이머가 돌고 있다는 사실이 안전을 보증하지 않는다는 경고가 README 최상단에 있어요. Nerdschalk 기사가 0.1.0 릴리스 노트를 인용하길, 이 패키지의 설치·첫 실행·게이트키퍼·제거 절차는 패키징 시점에 실기기로 검증하지 않았다고 밝혀요.
보안 측면도 짚어야 해요. 앱은 ad-hoc 서명만 돼 있고 Apple의 공증(notarization, Apple이 배포본을 검증해 서명해 주는 절차)은 받지 않았으며, 샌드박스도 적용돼 있지 않아요. 그래서 macOS가 실행을 막으면 시스템 설정의 ’그래도 열기(Open Anyway)’로 통과해야 하고, 다운로드본은 SHA256 체크섬으로 대조해야 해요. sudoers 규칙은 내 계정에 열어 놓은 틈이니 설치 전에 내용을 읽는 게 좋아요.
발열은 여전히 물리의 영역이에요. 덮개를 닫더라도 환기가 잘 되는 평평한 곳에 두는 것은 Apple의 온도·통풍 지침과 같은 방향이고, 가방 속은 어느 도구를 써도 위험해요. Insomnia 쪽 권고도 순서를 제시해요. 처음에는 지켜볼 수 있는 짧은 세션을 돌려 보고, 이후에는 기록을 확인하라는 안내가 리포에 있어요. 로그는 로그인 계정 폴더 아래에 이런 경로로 쌓여요.
~/Library/Logs/Insomnia/insomnia.log
어떻게 활용할까
Insomnia는 ’맥북을 안 잠들게 한다’는 오래된 문제를 AI 세션 단위로 다시 설계한 도구예요. 시간을 정해 깨우고, 덮개 아래 잡일을 정리하고, 위험하면 멈추고, 엇나간 것을 되돌리는 흐름이 명령어 몇 줄짜리 수동 방식보다 안전장치가 훨씬 촘촘해요.
반대로 기억할 한계도 있어요. 실험적이라는 점, Apple 공증이 없다는 점, 관리자 권한 한 줄을 내 컴퓨터에 새로 여는 도구라는 점이에요. 그래서 실용적인 활용 순서는 이렇게 정리돼요. 외장 디스플레이가 있는 작업대에서는 클램셸 모드가 여전히 정석이고, 이동 중이나 밤샘 세션처럼 정석이 안 맞는 순간에 짧은 감시 세션부터 시작해 로그를 확인한 뒤 장시간 세션으로 늘어 가는 게 안전한 길이에요.
출처
- krishhgg/Insomnia — GitHub 리포와 README (설치·복구·덮개 닫힘 문서 링크 포함)
- Insomnia 공식 사이트 (기능 소개와 설치 안내)
- Insomnia 0.1.0 Is Out — Nerdschalk 기사 (0.1.0 기본값·요구 사양·FAQ 정리)
- Keep your Mac awake while Claude Code or Codex runs — BotBus 기사 (자리비움 vs 덮개 닫힘 잠자기, caffeinate·pmset 정리)
- Amphetamine Not Working With the Lid Closed? — clamshell.dev 가이드 (Amphetamine의 덮개 닫힘 전제)
- Amphetamine 공식 사이트 (App Store 배포 기준 정보)
- Lidless 리포 · Sleepless 리포 · StayAwake 리포
- 원문 릴스 — Instagram(계기 자료)