내 맥북프로 2019의 부팅이 매끄럽지 않다. 부팅 중에 잠시 멈췄다가는 다시 부팅하기를 한두번 진행 되고 난 후에야 암호를 입력할 수 있다. 이 뿐만이 아니다. 잠자기 모드에 들어간 후에 맥북의 뚜껑을 열면 나도 모르는 사이에 부팅이 진행되어 버렸는지 암호를 넣으라는 창이 표시된다. 조금 시간이 지난 문서인 듯 하지만, 맥북의 전원관리를 설정하는 pmset 명령에 대한 인수와 예제에 대한 Wikipedia의 내용을 이곳에 한글로 번역해 보았다.
Power Management Settings (전원관리) 인수들
pmset에는 다음과 같은 인수를 사용할 수 있으며, 인수들은 연속해서 나열될 수 있습니다. 문법이 틀리거나 인식되지 않는 인수들은 전체 명령을 사용할 수 없게 만들며, 에러 메세지와 간략한 도움말 화면을 표시합니다. 또한, 전원관리 설정은 권한을 가지고 있는 사용자에 의해서만 변경될 수 있습니다.
- displaysleep – 디스플레이 슬립 타이머 (분단위). 0은 슬립 디스플레이를 비활성화 합니다.
- disksleep – 디스크 spin-down 타이머 (분단위). 0은 디스크 슬립을 비활성화 합니다.
- sleep – 시스템 슬립 타이머 (분단위). 0은 슬립을 비활성화 합니다.
- womp – 이 값이 1이면 “magic” 이더넷 패킷을 켜고, 0이면 비활성화 합니다. 이 설정은 장치가 전원에 연결되어 있고 “pmset -g”를 샐행할 때만 표시됩니다. 이 경우가 아니라면 “pmset -g”를 실행해도 womp 설정은 표시되지 않습니다.
- hibernatemode
- 0 : 잠자는 동안 RMA에 전원이 공급됩니다.
- 1 : RAM의 내용이 디스크에 쓰여진 후에 전원이 차단됩니다.
- 3 : RMA에 전원이 공급되고 디스크에도 내용을 씁니다.
- 5 : 1과 동일하지만, 보안 가상 메모리를 사용합니다.
- 7 : 3과 동일하지만, 보안 가상 메모리를 사용합니다.
- 25 : RAM의 내용이 디스크로 쓰여진 후에 전원이 차단됩니다. (Mac OS X 10.7의 hibernation)
- hibernatefile – hibernation 이미지 파일 위치를 변경합니다. 이미지는 root 볼륨에 위치합니다.
- ring – 모뎀 링을 깨웁니다. 1은 활성화 0은 비활성화.
- autorestart – 전원이 차단된 후에 자동 재시작. 1은 활성화 0은 비활성화.
- dps – 부하에 따라서 프로세서의 속도를 동적으로 변경합니다. 1은 활성화 0은 비활성화.
- reduce – 영원히 프로세서의 속도를 떨어뜨립니다. 1은 활성화 0은 비활성화.
- powerbutton – 전원 버튼이 눌렸을때 전원을 차단하는 대신에 잠자도록 만듭니다. 1은 활성화 0은 비활성화.
- powernap – 컴퓨터가 잠자기 모드에 있을 때도 최신 상태를 유지할 수 있도록 합니다. 1은 활성화 0은 비활성화.
- lidwake (노트북만 해당) – 노트북 뚜껑이 열리면 노트북을 깨웁니다. 1은 활성화 0은 비활성화.
- acwake (노트북만 해당) – 전원소스가 변경되면 노트북을 깨웁니다. 예를들어, AC 전원이 제거되고 배터리 전원으로 변경될 때. 1은 활성화 0은 비활성화.
- lessbright (노트북만 해당) – 지정된 전원으로 변경될 때, 디스플레이 밝기를 약간 떨어 뜨립니다. 1은 활성화 0은 비활성화.
- halfdim – display sleep이 최대 밝기와 Off 사이의 중간 밝기를 사용합니다. 1은 활성화 0은 비활성화.
- sms (지원되는 노트북만 해당) – 갑작스런 가속도 변화시 디스크 헤더를 파킹 시키기 위해서 Sudden Motion Sensor를 사용합니다. 1은 활성화 0은 비활성화.
- haltlevel (UPS only) – UPS 충전(%), UPS가 지정한 레벨에 도달하면 컴퓨터를 차단합니다.
- haltafter (UPS only) – UPS 충전(분), 지정된 시간동안 USB를 사용하면 컴퓨터를 차단합니다.
- haltremain (UPS only) – UPS 충전(분), UPS에 지정된 시간이 남아있을 때 컴퓨터를 차단합니다.
- ttyskeepawake – 임의의 tty(예를들어 원격 로그인 세션)가 활성화 되어 있을 때 시스템 슬립을 방지합니다. tty는 유휴시간이 시스템 슬립 타이머를 초과할 때만 비활성화 됩니다. 1은 활성화 0은 비활성화.
- autopoweroff (AC 전원) – 지원되는 경우, 유럽 에너지 관련 제품 지침에 대한 로트 6에 따라 기본값 별로 활성화됩니다. autopoweroffdelay(분) 동안 슬립 모드를 수행한 후, 시스템은 최대 절전 이미지를 작성하고 저전력 칩셋 절전 모드로 전환됩니다. 이 상태에서 깨어나는 것이 일반 슬립 모드에서 깨어나는 것보다 더 오래 걸립니다. 외부 장치가 연결되어 있거나, 시스템이 배터리에 의해 구동되고 있거나, 시스템이 네트워크에 바인딩되어 있고 네트워크 액세스에 의한 웨이크업이 활성화 되어 있다면, autopoweroff는 동작하지 않습니다.
- autopoweroffdelay (AC 전원) – autopoweroff 모드로 진입하기 전의 지연시간 (값 = 정수, 초)
- standbydelaylow – 최대절전모드 이미지를 디스크에 쓰고 스탠바이를 위해 메모리의 전원을 차단하기 전의 지연시간. 배터리 잔량이 낮을 때 사용 (값 = 정수, 초)
- standbydelayhigh – 최대절전모드 이미지를 디스크에 쓰고, 스탠바이를 위해 메모리의 전원을 차단하기 전의 지연시간. 배터리 잔량이 높을 때 사용 (값 = 정수, 초)
- networkoversleep – 이 설정은 시스템 슬립모드에서 macOS 네트워킹이 공유 네트워크 서비스를 제공하는 방법에 영향을 미칩니다. 이 설정은 모든 플랫폼에서 사용되지는 않으며, 값을 변경하는 것은 지원되지 않습니다.
- destroyfvkeyonstandby – 스탠바이 모드로 전활할 때 File Vault Key를 파기합니다. 기본적으로 File Vauld Key는 시스템이 스탠바이 모드 전환되도 유지됩니다. 만약, Key가 파기되면, 스탠바이 모드를 빠져 나올 때 암호를 입력하라는 메시지가 표시됩니다 (값이 1이면 파기, 0이면 유지). 시스템의 전원을 완전히 차단하는 것이 필수이므로 hibernatemode를 25 (suspend to disk) 로 설정해야 합니다.
pmset 설정의 예
설정은 컴퓨터가 충전기에 연결되어 있는 경우, 배터리가 방전되는 경우(노트북의 경우) 또는 UPS가 방전되는 경우(사용 가능한 경우)에 대해 독립적으로 조정할 수 있습니다. 플래그가 지정되어 있지 않다면 기본 옵션으로 설정은 4가지 시나리오 모두에 대해 동시에 적용될 수 있습니다. 전력 관리 옵션은 -c(충전기), -b(배터리), -u(UPS) 또는 -a(모든) 플래그를 추가하여 다양한 프로파일에 대해 지정할 수 있습니다. 다음 예제에서는 기기를 10분 후에 슬립모드로 만들고, 디스플레이를 5분 후에 슬립모드로 만들지만, 배터리로 전원을 공급하는 경우에만 동작합니다.
pmset -b sleep 10 displaysleep 5
다음 명령은 충전기에 의해 기계의 전원이 공급되는 상황에 대해 약간 다른 전력 관리 설정을 할당합니다. 여기서 기계는 30분 후에 슬립모드로 동작하고 디스플레이는 슬립모드로 빠지지 않지만 충전기에 의해 설정된 경우에만 해당됩니다. 두 명령을 모두 실행해도 서로 간섭되지 않습니다.
pmset -c sleep 30 displaysleep 0
인수를 연속으로 입력하여 하나의 명령으로 여러 전원 관리 매개 변수를 설정하거나 수정할 수 있습니다. 다음 명령은 시스템을 슬립모드로 빠지지 않게 하고(sleep 0), 갑작스런 움직임 센서를 활성화하고(sms 1), 디스플레이를 20분 후 슬립모드로 동작시키고(sleep 20), 프로세서 속도 감소를 비활성화하고(reduce 0), 중간 디스플레이 밝기를 활성화하고(halfdim 1), 뚜껑을 열었을 때 시스템이 깨어나게 하고(lidwake 1), tty 세션(예:SSH)이 활성화 되어 있을 때 시스템이 슬립모드로 빠지는 것을 방지하고(ttykeepawake 1), AC 어댑터가 연결 되었을 때 시스템이 깨어나지 못하게 하고(awake 0), 전원이 제거되고 복원된 후에 자동 재시작을 비활성화하고(autorestart 0), 시스템 부하에 따른 프로세서 속도의 동적 변경을 활성화하고(dps 1), 모뎀 링에 의한 깨어남을 활성화하고(ring 1), “magic” 이더넷 패킷의 수신에 의한 깨어남을 활성화하고(womp 1), 하드 디스크 슬립을 비활성화 합니다(disksleep 0)
pmset sleep 0 sms 1 displaysleep 20 reduce 0 halfdim 1 lidwake 1 ttyskeepawake 1 acwake 0 autorestart 0 dps 1 ring 1 womp 1 disksleep 0
위의 예제에는 사용 플래그가 포함되어 있지 않았기 때문에 지정된 설정은 모든 사용 시나리오에 적용됩니다. 사용 플래그를 지정하는 후속 명령은 해당 사용 시나리오에 대한 설정에만 영향을 미칩니다. 예를 들어 pmset -b sleep 10은 10분 후에 기계를 절전 상태로 만들지만 배터리가 연결되어 있을 때만 해당됩니다. 다른 모든 설정은 배터리가 연결되어 있을 때 적용되고 위의 예제의 모든 설정은 충전기 또는 UPS가 연결되어 있을 때 적용됩니다.
최소한 Darwin 9.4와 OS X 10.5.4 “Leopard”를 기준으로 pmset을 통해 수행된 모든 변경 사항은 /Library/Preferences/SystemConfiguration/com.apple.PowerManagement.plist의 영구 기본 설정 파일(persistent preferences file)에 저장됩니다. 이 파일은 defaults 명령을 사용하여 수동으로 수정할 수 있지만 전원관리 시스템에서는 이러한 변경 사항을 즉시 사용하지 않습니다. com.apple.PowerManagement.plist를 수동으로 편집하면 덮어쓸 위험도 있습니다. pmset touch 명령은 디스크에서 기존 설정을 다시 읽고 시스템에 적용합니다.
autopoweroff가 활성화되어 있다면 hibernatemode 모드가 0이더라도 컴퓨터가 hibernate 모드로 전환됩니다. man 페이지(Mavericks, 2012년 11월 9일)에서 분 단위로 문서화 했음에도 불구하고 autopoweroffdeay 값은 초 단위로 표시될 수 있습니다.
포스팅을 마치며
pmset에 대한 Wikipedia 설명이 다소 오래된 것 같지만 pmset에 대한 최신의 설명을 찾기가 너무 어렵다. 맥북의 터미널 창에서 “man pmset”이라고 실행하면 설명이 표시되니 추가로 확인해 보도록 하자. 하지만 위 Wikipedia의 설명내용과 특별히 다르지 않은 듯 하다.
만약 맥북의 부팅에 이상하여 이 포스팅을 찾으신 분이라면, Microsoft Windows에 익숙해진 한/영 변환의 습관을 유지하기 위해서 Karabiner를 설치한 것이 유력한 원인 중의 하나라고 하니, 이전에 포스팅한 “Karabiner 설치없이 오른쪽 CMD키로 한/영 변환하기”를 참고하여 Karabiner 대신에 활용해 보는 것도 하나의 방법이라고 생각된다.