터미널의 caffeinate 명령어: macOS 기본 방법과 그 한계
macOS에는 처음부터 도구가 들어 있다. 비용이 없고 설치도 필요 없으며, 하나의 작업에 대해서는 흔히 가장 좋은 선택이다.
이 명령이 만들어진 목적
위의 마지막 형태가 본래의 생각이다. 깨워 두는 장치가 작업에 매달린다. 작업이 도는 동안 기기는 깨어 있고, 끝나면 같은 순간에 둘 다 끝난다. 기억해야 할 것이 남지 않으므로 어떤 앱보다 깔끔하다.
터미널에서 도는 빌드, 스크립트, 복사라면 무언가를 설치할 이유가 없다. 거기서 일하는 사람은 이미 맞는 도구를 가지고 있다.
첫째 한계: 창
caffeinate는 그 프로세스가 사는 동안 돈다. 터미널 창을 닫으면 세션은 사라진다. 그것도 알림 없이. 탭 다섯 개 중 하나에서 시작했다면 한 시간 뒤에는 다시 찾지 못한다.
게다가 어디서도 읽을 수 있는 남은 시간이 없다. -t 3600이면 한 시간이라는 것은 알지만, 그 한 시간이 언제 시작했는지는 더는 알 수 없다.
둘째 한계: 덮개
이 명령은 어서션으로 일한다. macOS에서 닫힌 덮개는 다른 규칙이고, 거기에는 어서션이 통하지 않는다. 그래서 덮은 맥북은 caffeinate가 돌고 있어도 잠든다.
덮개를 닫은 채 기기를 돌리려면 다른 스위치가 필요하다. pmset disablesleep이 바꾸는 시스템 설정이다. 그것이 바로 Toxin의 덮개 모드가 자체 작은 도우미를 통해 맡는 일이다.
어느 것이 어느 경우에 맞는가
터미널에서 돌고 끝이 있는 작업이라면 caffeinate를 그 작업에 매단다. 설치할 것도, 잊을 것도 없다.
하루 동안 여러 번 깨어 있어야 하는 기기 — 영상 통화, 발표, 브라우저 다운로드, 닫힌 덮개 — 에는 다른 형태가 맞는다. 상태가 보이고 구간이 스스로 끝나는, 메뉴 막대의 아이콘이다.
실제로 쓰게 되는 호출
caffeinate -d- 명령이 돌고 있는 동안 화면을 켜 둔다.
caffeinate -i- 시스템 절전을 막지만 화면은 어두워지게 둔다.
caffeinate -t 3600- 지정한 초만큼 깨워 두고 그 뒤에는 스스로 멈춘다.
caffeinate -i make- 뒤에 붙인 명령이 도는 동안만 깨워 둔다. 1초도 더 두지 않는다.
짧게 나란히
- caffeinate는 기본으로 들어 있고 무료이며, 작업에 묶으면 이상적이다.
- 상태도 남은 시간도 보여주지 않는다.
- 창을 닫으면 살아남지 못한다.
- 닫힌 덮개에는 도움이 되지 않는다. 거기에는 시스템 설정이 필요하다.
자주 묻는 질문
둘을 같이 써도 됩니까?
됩니다. 여러 어서션은 서로 방해하지 않습니다. 적어도 하나가 유효한 동안 기기는 깨어 있고, 마지막 하나가 사라지면 잠듭니다.
caffeinate에 sudo가 필요합니까?
필요하지 않습니다. 이 명령은 로그인한 사용자의 이름으로 어서션을 세웁니다. 시스템 설정에 손을 대고 그에 맞는 권한을 요구하는 것은 pmset disablesleep뿐입니다.
기본 방법은 좋고, 한계가 둘 뚜렷합니다. Toxin은 그 밖의 경우를 위해 만들었습니다. macOS용 메뉴 막대 앱이며 아직 Mac App Store에 없습니다.