맥북 닫을 때 자동으로 외장 모니터 꺼지게 (클렘쉘 모드 끄기, No clamshell mode)


전에는 맥북 뚜껑을 닫으면 외장 모니터가 꺼졌는데 요즘은 클램쉘 모드 때문에 외장 모니터가 꺼지지 않는다. 맥북 뚜껑을 닫을 때 클램쉘 모드를 끄고 외장 모니터가 꺼지게 한다.

맥북은 뚜껑을 닫으면 잠잔다

맥북은 뚜껑을 닫으면 잠자기 모드로 들어간다.
맥북이 잠을 잘때 아래 동영상 처럼 불빛이 새근새근 잠자는 것처럼 보이는 적도 있었다. 아쉽게도 디자~인만 이뻐지면서 언제 부터인가 이 불빛이 사라졌다. 아래는 2008년에 내 맥북을 촬영한 것이다.


맥북이 잠을자면 연결된 외장 모니터도 꺼졌다.

윈도우 노트북은 뚜껑을 닫아 하이버네이션 모드로 들어간후 다시 열었을때 안살아나는 경우가 많았다. 그래서 그런지 윈도우 노트북 사용자는 윈도우 10을 사용하면서도 여전히 사무실에서 이동시에 노트북 뚜껑을 열고 다니는것을 볼 수 있다.  윈도우에서 맥으로 옮긴지 얼마 안된 사람들도 맥북 뚜껑을 열고 이동하는 경우도 있다.

맥북 뚜껑을 닫은채 외장 모니터 사용

요즘은 맥북에 외장 모니터를 연결해서 사용하는 것이 기본이 되어가는 것 같다.  컴퓨터로 작업할때 모니터가 클 수록 생산성이 좋다고 하니 당연한 것 같기도하다.
외장 모니터를 연결해서 사용하는 많은 사람들은 맥북을 데스크탑 처럼 사용한다. 즉, 맥북은 닫고, 모니터는  외장 모니터를 쓰고, 별도 키보드와 마우스를 사용한다.
맥북 닫을 때 자동으로 외장 모니터 꺼지게 (클렘쉘 모드 끄기, No clamshell mode)

(사진 출처)

 
그래서 애플은 맥북 뚜껑을 닫은채로 외장 모니터와 키보드, 마우스를 사용할 수 있게 해준다.
맥북 뚜껑을 닫으면 맥북은 잠자기 모드로 들어가는데, 예전과 다르게 외장 모니터는 안꺼진다.  이 상태에서 외장 마우스나 키보드를 쓰면 맥북은 뚜껑이 닫힌채로 잠에서 깨게 된다.
맥북 뚜껑을 닫으면 잠자기 모드로 들어가는데, 마우스나 키보드를 쓰면 이젠 뚜껑을 닫아도 꺠어있게 한다.
뚜껑을 닫은 상태로 켜 있는 것을 조개껍질 모드, 클램쉘 모드라고 한다.
 
사람들의 사용 상황이 변하니 기계의 동작 방법도 변한다.

맥북과 외장모니터를 같이 사용

보통 듀얼 모니터를 사용할때 좌우로 두다가, 외장 모니터가 충분이 커지자 아예 맥북을 사용하지 않아도 되는 것이다.  그래서 맥북을 사무실에서 사용할때에는 그냥 컴퓨터로 보고 맥북을 뚜껑을 닫고 쓰는 것 같다.


나는 맥북을 외장 모니터에 연결해서 쓰지만 맥북도 같이 쓴다.
외장 모니터는 17인치 부터 쓰기 시작했지만 아주 큰 것을 사용하지 않고 24인치를 쓴다. 영상이나 음악 소프트웨어를 사용하지 않기도 하고 이 이상 커지만 고개를 많이 돌려야 하기 때문이다.


맥북 뚜껑을 닫으면 외장 모니터도 꺼졌으면 좋겠다.
2007년 맥북을 처음 사용하면서 17인치 외장 모니터에 연결해서 쓰면서 지금까지 모니터 크기와 맥북이 계속 바뀌었지만 외장 모니터 사용은 바뀌지 않은 것 같다.

아래는 2007년 처음 맥북을 사용할때 맥북과 17인치 모니터 사진이다.
맥북 닫을 때 자동으로 외장 모니터 꺼지게 (클렘쉘 모드 끄기, No clamshell mode)
 
아래 사진은 2009년 올해 맥북과 24인치 모니터이다.
맥북 닫을 때 자동으로 외장 모니터 꺼지게 (클렘쉘 모드 끄기, No clamshell mode)

맥북을 잠자게 하면 외장 모니터 꺼지게

맥에서 사과버튼을 눌러 잠자기 메뉴를 누르면 맥북은 잠을 자고 외장 모니터도 꺼진다.  그런 다음 맥북 뚜껑을 닫는다.
맥북 닫을 때 자동으로 외장 모니터 꺼지게 (클렘쉘 모드 끄기, No clamshell mode)
 
맥북에 먼지가 들어갈 수 있으니 뚜껑을 닫는 것이 좋다.
그러나 이게 불편하다. 그냥 뚜껑만 닫으면 나머지는 알아서 해줘야 하는데 말이다.  현관문을 열때 잠금장치를 풀고, 손잡이를 돌리는 것 처럼 불편하다. 이건 내가 오래전에 만든 한큐에 라는 인터렉션 디자인 패턴으로 해결해야 하는데 말이다.
 

맥북 뚜껑을 닫으면 외장 모니터도 꺼지게 하기

많은 사람들이 맥북 뚜껑을 닫은채 사용하는데 나는 예전 처럼 사용하니 문제가 있다
사무실이나 집에서 맥북 뚜껑을 닫으면 맥북은 잠을 자고 외장 모니터도 꺼지면 좋겠는데 말이다.
그러나 요즘은 앞서 이야기한대로 이게 안된다.  맥북 뚜껑을 닫아도 외장 모니터를 살아 있다.

macOS 10.10(요세미티) 에서 클렘쉘 모드 끄기

터미널에서 아래 명령어를 복사해서 붙여 녛고 엔터를 치면 된다.
sudo nvram boot-args=iog=0x0
 
원래대로 사용하려면 아래를 쓴다
sudo nvram boot-args

macOS 10.12 (시에라) 이상 (모하비, 빅서에서 동작함)

보안문제로 터미널에서 nvram 명령어를 막았다.
내 경우 macOS 10.14 인 모하비이다.  보안 문제라고 하니 복구모드로 들어가서 해 봤다.  명령어는 넣으면 에러를 안나는데 그런데가 잘됐다고 피드백도 없었고, 정상 모드로 부팅해도 여전히 뚜껑을 닫아도 외장 모니터에 살아 났다.
완전한 방법은 없는 것 같다. 대신  누가 스크립트를 짜 놓은것을 발견했다.
https://github.com/pirj/noclamshell
뚜껑을 닫아 잠이 드는지 모니터링 하다가 pmset 으로 전원관리세팅을 조정한다고한다.
암튼 설치해보니 된다! 외장 모니터가 바로 꺼지는 것은 아니고 마우스는 보이는데, 조금 있다가 완전히 꺼졌다.
설치 방법은 다음과 같다.
 
1.homebrew 설치
homebrew 가 설치되어 있지 않은 맥북은 먼저 home brew 를 설치한다.  설치 방법은 간단하다. 터미널에서 다음 명령어를 복사해서 붙여 넣고 엔터치면 된다.  자세한 방법은 이 페이지를 참고한다.

/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”

 
2. noclamshell 설치
아래 명령어를 한 문장씩 터미널에 복사해서 붙여 넣고 엔터친다.

brew install pirj/homebrew-noclamshell/noclamshell
brew services start noclamshell

 

 
이제 맥북 뚜껑을 닫으면 외장 모니터가 까맣게 되고 잠시후에 외장 모니터가 꺼진다.
그러나 마우스를 움직이면 좀 있다가 다시 살아난다.  더 기다려보았는데 외장 모니터가 꺼지지는 않았다.
아쉬운대로 이렇게 사용하니 편하다.

M1 맥에서 클렘쉘 모드 끄기

m1 맥북에어로 바꾸고나서 맥북 뚜겅을 닫았는데 외장 모니터가 꺼지지 않았다. noclamshell 이 제대로 동작하지 않았다.  이 포스트의 댓글에도 문의가 있었다. 그런데  noclamshell github 이슈에 해결책이 있다.   테스트 해보니 된다! 그런데 개발자가 수정한 코드를 이슈에만 올려놓아서 직접 코드를 수정해야 한다.
이미 noclamshell 을 설치했다면 아래와 같이 직접 코드를 변경하면 된다.

  1. 파인더에서 /opt/homebrew/bin/ 로 이동한다.
    파인더 메뉴에서 이동 > 폴더로 이동을 클릭하고 경로를 붙여 놓고 [이동] 버튼을 클릭하면 폴더가 바로 열린다.
  2. noclamshell 파일을 텍스트 에디터로 연다.
  3. 원래 코드를 다음 코드로 변경한다.
#!/usr/bin/env bash
LID_CLOSED=$(ioreg -r -k AppleClamshellState | grep AppleClamshellState | grep Yes)
if [ "$LID_CLOSED" ]; then
    CLAMSHELL=$(pmset -g powerstate | grep DCPDPDeviceProxy | wc -l)
    if (( CLAMSHELL < 4 )); then
  		pmset sleepnow
    fi
  EXTERNAL_DISPLAY_CONNECTED=$(pmset -g powerstate | grep AppleDisplay | grep USEABLE)
  if [ "$EXTERNAL_DISPLAY_CONNECTED" ]; then
    AWAKE=$(pmset -g powerstate | grep IODisplayWrangler | grep USEABLE)
    if [ "$AWAKE" ]; then
      pmset sleepnow
    fi
  fi
fi

 
외장 모니터가 연결된 상태에서 맥북 뚜겅을 닫으면 외장 모니터가 꺼진다.  모니터에 따라 동작하지 않을 수도 있을 텐데 내 경우 두 대의 모니터에는 동작했다.
 
기존 코드에 추가된 것은 if [ “$LID_CLOSED” ]; then 아래이다.

CLAMSHELL=$(pmset -g powerstate | grep DCPDPDeviceProxy | wc -l)
    if (( CLAMSHELL < 4 )); then
  		pmset sleepnow
    fi

다시 클렘쉘 모드 사용하기

noclamshell 로 클렘쉘모드를 끈 후에 다시 클렘쉘 모드를 사용하려면 다음과 같이 터미널에서 실행하면 된다.

brew services stop noclamshell
brew uninstall pirj/homebrew-noclamshell/noclamshell

마치며

드디어 맥북을 외장 모니터에 연결된 채로 사용하면서 사용 안할 때에는 맥북 뚜겅을 닫으면 외장 모니터가 꺼지고 맥북은 잠을 잔다.   내가 맥북을 처음 사용하던 2007년 부터 이랬다.

그런데 사람들이 맥북 뚜껑을 닫고 외장 모니터로만 사용하면서 맥북뚜껑을 닫아도 잠을 자지 않게 하는 어플을 사용했고 애플은 아예 뚜껑을 닫아도 잠을자지 않게 바꿔버렸다.

맥북 뚜껑을 닫아도 잠을 자지 못하게 하는 어플은 망하고, 나 처럼 원래대로 잠을 자게 하기 위해 누군가는 쉘스크립트를 짰다. 내가 몇달동안 인터넷에서 검색해보면 M1 칩을 쓴 맥북까지 포함해서 외장 모니터가 연결된 상태에서 맥북을 잠을 자게 하는 유일한 방법은 위에서 소개한 noclamshell 밖에 없다.  참 아이러니 하다.







제휴 링크로 구매 시 제휴마케팅 활동의 일환으로 일정액의 수수료를 지급받아 콘텐츠를 제작하는데 큰 도움이 됩니다.



도움이 되셨다면, 댓글이나 소중한 커피 한 잔 부탁드려도 될까요?

커피 사주기
























당신이 좋아할 만한 글







건강투캘린더

애플 건강기록을 캘린더 일정으로 가져와 캘린더에서 시간순으로 건강기록 보기









20 Comments

Add a Comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다