화면을 덮어도 잠자기 모드에 들지 않게 하는 명령어
# 자동 잠자기 비활성화
> sudo pmset -a sleep 0
# 잠자기 모드 진입 방지
> sudo pmset -a disablesleep 1
[옵션 설명]
- `-a` (all) : 모든 전원 상태(배터리 전원, AC 전원 등등)에 대해 설정을 적용. 데스크톱 타입의 Mac과 노트북 Mac 모두 적용 가능
- `-c` (charger) : 충전기(AC 전원)에 연결되어 있는 상태일 때에 대해서만 설정을 적용.
언제 사용하면 좋을까
저는 여분의 맥북을 홈 서버로 사용 중입니다. 카페에서 실수로 떨어트려 디스플레이가 박살 났지만, 나머지는 다 멀쩡한 제 M2 Pro 맥북.. 을 집에 상시 전원과 유선 랜을 연결해서 사용 중입니다. 이 맥북에 MySQL이나 MongoDB 등 설치해서 개발용으로 사용 중이고, 제 사이드 프로젝트도 배포해 놓았습니다. 비싼 맥북이 박살 난 건 정말 안타깝지만, AWS 임대료 아낀 셈 치고 끝까지 뽕을 뽑을 생각입니다.
그런데 맥북은 화면을 덮으면 자동으로 잠자기 모드에 진입합니다. 그리고 잠자기 모드일때는 외부에서 네트워크로 맥북에 접속할 수 없습니다. 그렇다고 항상 맥북 화면을 열어놓고 유지하기에는 공간도 많이 차지하고, 키보드 틈새로 먼지도 많이 들어갈 것 같아서 썩 내키지 않았습니다. (애플 실리콘 시리즈라 그런지, 덮어놓고 사용할 때 발열이나 소음 문제는 아예 배제해도 될 수준입니다.)
그래서 '시스템 설정' 앱에서 잠자기에 관련된 설정들을 다 해제해 봤지만, 여전히 화면을 덮기만 하면 잠자기 모드에 진입해 버렸습니다. 다른 PC에서 그 맥북에 SSH로 연결해 놓은 상태에서, 화면을 닫으면 10초 이내로 연결이 끊겨버렸거든요. 물론 DB나 웹서버 등등 그 맥북에 실행시켜 놓은 프로그램들도 마찬가지로 다 연결이 끊겨버렸구요.
조금 더 서치를 해본 결과,
macOS에는 전원 관련 옵션을 관리할 수 있는 `pmset` 이라는 터미널 명령어가 있다는 것을 알게 되었습니다.
Power Management Settings를 줄인 말이라고 하네요.
터미널을 실행해서 `pmset -g` 명령어를 입력하면, 현재 설정되어 있는 전원 옵션들을 조회할 수 있습니다.
다음은 제 맥북에서 설정을 바꾸기 전에 조회했을 때의 상태입니다.
[before]
잠자기에 관련된 옵션은 `sleep` 입니다. 그리고 옵션값은 '분'을 의미합니다.
위처럼 '1'로 설정되어 있으면, 1분 뒤에 자동으로 잠자기 모드에 진입한다는 의미입니다.
만약 이 옵션을 비활성화하고 싶다면 '0'으로 변경해주어야 한다고 매뉴얼에 나와있습니다.
그래서 `sudo pmset -a sleep 0` 명령을 실행해서 값을 바꿔주고, 다시 테스트를 해보았습니다.
그런데 여전히 화면을 덮으면 잠자기 모드에 진입했습니다.
조금 더 찾아보니, `disablesleep` 이라는 히든 옵션이 있는 것을 알게 되었습니다. (매뉴얼에 안 나옴;)
이 옵션값을 '1' 로 설정하면 어떤 경우에도 잠자기 모드에 진입하지 않게 강제로 변경할 수 있습니다.
`sudo pmset -a disablesleep 1` 명령을 실행하고 난 다음의 최종 상태는 다음과 같습니다.
[after]
테스트 결과, 이제 화면을 덮어놔도 잠자기 모드에 진입하지 않고, 네트워크 접속도 잘 되는 것을 확인했습니다.
저처럼 맥북을 특별한 용도로 데스크톱처럼 사용하려는 분들에게 도움이 되었으면 좋겠습니다.
'iOS(macOS)' 카테고리의 다른 글
[Xcode/SPM] Package 최초 생성 시 "Invalid manifest" 에러 (1) | 2024.03.23 |
---|---|
[iOS/macOS] FCM을 사용한 Remote Push Notification 구현 방법과 문제 해결 기록 (1) | 2024.02.09 |
[Xcode/SPM] Swift 새 파일 생성시 파일명 설정 (Swift Package Manager) (2) | 2023.11.25 |
[App Store/심사] 심사 요청이 "심사 대기중"에서 안넘어간다? (0) | 2023.11.13 |
[Xcode] SVG 활용과 “clip: empty path.” 에러 해결하기 (0) | 2023.06.21 |