맥 모니터 배치가 자꾸 풀릴 때, displayplacer로 저장하고 단축키로 복원하기

절전 해제나 모니터 재연결 때마다 흐트러지는 맥 디스플레이 배치. displayplacer로 지금 배치를 명령어로 저장해두고, 단축어·Automator·터미널 alias로 단축키 한 번에 되돌리는 방법을 정리했다.

맥 모니터 배치가 자꾸 풀릴 때, displayplacer로 저장하고 단축키로 복원하기

절전을 풀거나 케이블을 다시 꽂으면 창이 와르르 흩어지는 그 문제. 매번 시스템 설정에 들어가 손으로 맞추는 대신, 지금 배치를 명령어 하나로 저장해두고 클릭 한 번·단축키 한 번에 되돌리는 방법을 정리했습니다.

먼저 결론문제 — 절전 해제·모니터 재연결 때마다 배치와 해상도가 리셋된다.해결displayplacer로 현재 배치를 명령어로 뽑아 단축어·Automator·alias 중 하나에 등록 → 단축키·클릭·메뉴막대로 즉시 복원.준비물 — Homebrew, 터미널, macOS 단축어(또는 Automator).

모니터를 두 대 이상 쓰다 보면 한 번쯤 겪게 됩니다. 어제까지 멀쩡하던 배치가 아침에 절전만 풀었을 뿐인데 좌우가 바뀌어 있거나, 주 화면이 엉뚱한 쪽으로 넘어가 있죠. 저도 위아래로 모니터를 겹쳐 쓰는데, 케이블을 뺐다 꽂을 때마다 정렬이 풀려서 한참을 손으로 맞추곤 했습니다. 그때마다 시스템 설정을 여는 대신, 지금부터 소개할 방식으로 한 번 저장해두면 이후엔 복구가 몇 초로 끝납니다.

displayplacer가 뭔가

displayplacer는 macOS의 멀티 디스플레이 배치(위치·해상도·주사율·회전)를 명령어로 다루는 터미널 기반 오픈소스 도구입니다. 리눅스의 XRandR를 맥으로 옮겨온 것에 가깝고, 현재 배치를 그대로 재현 가능한 명령어로 뽑아준다는 점이 핵심입니다. 무료(MIT 라이선스)이고 Homebrew로 설치합니다.

참고 · 공식 저장소는 github.com/jakehilborn/displayplacer 입니다. 공식 문서 기준으로 origin (0,0)으로 지정한 화면이 주 화면이 됩니다.

1. 현재 배치를 명령어로 저장하기

  1. 배치를 원하는 대로 맞추기 — 시스템 설정 > 디스플레이에서 모니터 위치·해상도·주 화면을 지금 쓰고 싶은 상태로 정리합니다.

현재 정렬값 추출 — 아래 명령을 실행하면, 출력 맨 아래에 현재 배치를 그대로 재현하는 실행 명령어가 나옵니다. 그 displayplacer "id:… origin:(…)" 줄을 복사합니다.

displayplacer list

displayplacer 설치 — 터미널을 열고 Homebrew로 설치합니다.

brew install displayplacer

제 실제 환경(2모니터)을 예로 들면, 추출된 명령어는 이렇게 생겼습니다. 주 모니터(3008×1692)를 (0,0)에 두고, 그 위쪽에 3440×1440 120Hz 모니터를 (-305,-1440)에 배치한 상태입니다.

displayplacer "id:A8994FF9-D5A0-4983-AAFC-150D910E823F res:3008x1692 hz:60 color_depth:8 enabled:true scaling:on origin:(0,0) degree:0" "id:C4EFF1EF-CB02-4407-9E22-D2C391BF85D4 res:3440x1440 hz:120 color_depth:8 enabled:true scaling:off origin:(-305,-1440) degree:0"
이 값은 제 화면 기준입니다. 화면 ID·해상도·좌표가 컴퓨터마다 다르니, 반드시 본인 displayplacer list 결과로 나온 명령어로 바꿔서 쓰세요.

2. 복원 방법 세 가지

추출한 명령어를 어디에 등록하느냐만 다릅니다. 단축키로 즉시 쓰고 싶으면 A, Dock·Spotlight에서 아이콘으로 쓰고 싶으면 B, 터미널을 자주 쓰면 C를 고르면 됩니다.

A. 단축어(Shortcuts) + 단축키 / 메뉴막대 — 추천

  1. 단축어 앱에서 우측 상단 +로 새 단축어를 만듭니다.
  2. 검색창에서 셸 스크립트 실행(Run Shell Script) 을 찾아 편집창으로 드래그합니다.
  3. 우측 사이드바 단축어 세부사항(i)에서 메뉴막대에 고정을 켜거나 키보드 단축키(예: Option+Shift+D)를 지정합니다.

아래 내용을 붙여넣습니다. 첫 줄 export PATH…는 Homebrew 실행 경로를 잡아주는 부분이라 반드시 함께 넣습니다.

export PATH="/opt/homebrew/bin:/usr/local/bin:$PATH"
displayplacer "id:A8994FF9-D5A0-4983-AAFC-150D910E823F res:3008x1692 hz:60 color_depth:8 enabled:true scaling:on origin:(0,0) degree:0" "id:C4EFF1EF-CB02-4407-9E22-D2C391BF85D4 res:3440x1440 hz:120 color_depth:8 enabled:true scaling:off origin:(-305,-1440) degree:0"

이제 배치가 틀어지면 메뉴막대 아이콘을 클릭하거나 단축키를 누르는 것으로 즉시 정렬됩니다.

B. Automator 앱(.app) — Spotlight · Dock 실행용

  1. Automator를 열고 새 도큐멘트(Cmd+N)에서 응용 프로그램(Application) 을 선택합니다.
  2. 셸 스크립트 실행을 오른쪽 영역으로 드래그하고, A와 동일한 코드(위 PATH 두 줄)를 붙여넣습니다.
  3. 우측 상단 실행(Run) 으로 정렬이 잘 되는지 테스트한 뒤, Cmd+S로 이름을 FixDisplay 등으로 지정해 응용 프로그램 폴더에 저장합니다.
  4. 이후 Spotlight(Cmd+Space)나 Dock에서 클릭 한 번으로 복원됩니다.

단축키까지 붙이고 싶다면 유형을 빠른 동작(Quick Action) 으로 만들고(현재 수신하는 작업흐름: 입력 없음, 위치: 모든 응용 프로그램), 저장한 뒤 시스템 설정 > 키보드 > 키보드 단축키 > 서비스 > 일반에서 원하는 키를 할당하면 됩니다.

C. 터미널 alias — 터미널을 자주 쓴다면

  1. 터미널에서 nano ~/.zshrc를 실행합니다.
  2. Ctrl+OEnter로 저장하고 Ctrl+X로 나온 뒤 source ~/.zshrc로 적용합니다.
  3. 이후 터미널에 fixdisplay만 입력하면 바로 정렬됩니다.

파일 맨 아래에 다음 줄을 추가합니다.

alias fixdisplay='displayplacer "id:A8994FF9-D5A0-4983-AAFC-150D910E823F res:3008x1692 hz:60 color_depth:8 enabled:true scaling:on origin:(0,0) degree:0" "id:C4EFF1EF-CB02-4407-9E22-D2C391BF85D4 res:3440x1440 hz:120 color_depth:8 enabled:true scaling:off origin:(-305,-1440) degree:0"'
한 번만 제대로 저장해두면, 배치가 풀려도 복구는 클릭 한 번이면 충분합니다.

자주 묻는 것

Q. displayplacer는 유료인가요?
아니요. 오픈소스(MIT)이고 brew install displayplacer 한 줄로 무료 설치됩니다.

Q. 단축키 한 번으로 되돌리려면요?
추출한 명령어를 단축어의 '셸 스크립트 실행'에 넣고, 세부사항(i)에서 키보드 단축키(예: Option+Shift+D)나 메뉴막대 고정을 지정하면 됩니다.

Q. 예시 명령어의 해상도·origin 값을 그대로 써도 되나요?
안 됩니다. 그 값은 제 화면의 ID·해상도·좌표입니다. 본인 컴퓨터에서 displayplacer list를 돌려 나온 명령어로 교체해야 합니다.


비슷하게 매번 손으로 맞추던 맥 설정이 있다면, 이렇게 '한 번 저장 → 단축키 복원'으로 바꿔두면 편합니다.