LockDown Browser가 Mac에서 두 번째 모니터를 감지할 수 있습니까? (예 - 방법은 이렇습니다)
감지 메커니즘
LDB는 실행 시 두 번 호출합니다.
uint32_t count;
CGDisplayActiveDisplayCount(&count);
// count is the number of currently-active displays
// LDB blocks if count >= 2 (default Dashboard config)
이것은 시스템 정보 → 그래픽/디스플레이가 표시하는 것과 동일합니다. 숨겨진 API는 없습니다. 감지는 단순합니다.
"활성 디스플레이"로 카운트되는 것
| 디스플레이 소스 | 카운트됨? | 비고 |
|---|---|---|
| MacBook 내장 디스플레이 (덮개 열림) | O | 항상 #1로 카운트됨 |
| HDMI 외부 | O | 표준 |
| DisplayPort 외부 | O | 표준 |
| USB-C-디스플레이 직접 | O | 표준 |
| Thunderbolt 4 외부 | O | 표준 |
| HDMI/DisplayPort 출력이 있는 USB-C 독 | O | 각 출력 포트가 독립적으로 카운트됨 |
| Sidecar iPad | O | 가상 CGDisplay로 등록됨 |
| Apple TV / Vizio / Roku TV로 AirPlay | O | 미러링 또는 확장 - 둘 다 카운트됨 |
| iPhone 미러링 (Sequoia 15+) | O | Mac 측에서 카운트됨 |
| 입력 소스로 Continuity 표시 iPad | O Sidecar 활성 시 | Sidecar가 카운트되게 만드는 것 |
카운트되지 않는 것
| 구성 | 카운트되지 않는 이유 |
|---|---|
| 외부 디스플레이만 있는 덮개 닫음 모드 | 내장 디스플레이가 절전됨. CGDisplay 카운트 = 1 |
| 노트북 옆의 iPad, Sidecar 아님 | 별도 장치, macOS 디스플레이 시스템에 등록되지 않음 |
| 외부 디스플레이가 물리적으로 연결되었지만 시스템 설정을 통해 비활성화됨 | macOS에서 비활성, 카운트되지 않음 |
| Universal Control (iPad의 커서) | Universal Control != Sidecar. iPad는 CGDisplay가 아님 |
| 노트북 옆의 전화, Continuity Camera 있어도 | 카메라 != 디스플레이 |
| 같은 방의 스마트 TV, AirPlay/HDMI로 연결되지 않음 | Mac 디스플레이 시스템에 연결 없음 |
경계 사례
아무것도 연결되지 않았을 때 "가상" 디스플레이를 추가하는 USB-C 독
일부 USB-C 독 (CalDigit, OWC)은 모니터가 연결되어 있지 않아도 독이 디스플레이 포트를 광고하는 문제가 있습니다. macOS는 가끔 이것을 물리적 화면 없이 활성 디스플레이로 등록합니다. 증상. LDB가 다중 디스플레이 오류로 차단하지만 연결된 것이 보이지 않습니다.
해결 방법. 독을 완전히 분리하십시오 (시험 동안 잠깐). 유령 디스플레이가 CGDisplay 목록에서 사라집니다.
무선 디스플레이 (Miracast, 타사)
타사 무선 디스플레이 프로토콜은 AirPlay와 동일하게 CGDisplay로 등록됩니다. 비활성화하십시오.
듀얼 디스플레이 노트북 (드물음)
일부 Asus / Acer Windows 노트북은 키보드 위에 보조 화면이 있습니다. Mac에는 이 하드웨어가 없습니다. 관련 없음.
CGDisplay 카운트를 확인하는 방법
Terminal을 열고 실행하십시오.
system_profiler SPDisplaysDataType | grep -i "Resolution"
각 행이 감지된 디스플레이 하나입니다. 세십시오. >1이면 LDB가 차단합니다.
또는 AppleScript 사용.
osascript -e 'tell application "System Events" to get count of displays of (get display preferences)'
우회하여 실행하려고 하면 어떻게 됩니까
우회할 수 없습니다 - 점검은 시험이 로드되기 전 실행 시 일어납니다. 차단은 일관되고 재현 가능합니다. 두 번째 디스플레이를 분리하거나 비활성화하고 LDB를 다시 시작하십시오.
Frequently asked questions
외부 모니터를 골판지 조각으로 덮으면 LDB가 여전히 감지합니까?
예 - 화면을 물리적으로 덮어도 macOS 디스플레이 상태는 변하지 않습니다. 디스플레이는 픽셀이 보여서가 아니라 연결 때문에 "활성"입니다. 분리하거나 비활성화하십시오.
macOS 배열을 변경하여 단일 디스플레이로 전환할 수 있습니까?
아니오 - 시스템 설정 → 디스플레이 → 배열은 레이아웃만 변경하며 활성 디스플레이 카운트는 변경하지 않습니다. 디스플레이별 기어 아이콘을 통해 디스플레이를 비활성화하거나 분리하십시오.
MacBook 덮개가 닫혀 있고 외부만 사용하고 있습니다. 왜 LDB가 여전히 차단합니까?
덮개 닫음 모드가 제대로 활성 상태라면 그 구성에서 차단되지 않아야 합니다. LDB가 차단된다면. 덮개 열기 → 덮개를 완전히 닫기 → 10초 기다리기 → 외부가 유일한 디스플레이가 됨 → LDB 실행. 여전히 차단되면 내장이 절전되지 않을 수 있습니다 (충전 케이블이 분리됨, 덮개가 완전히 닫히지 않음).