Detecteert LockDown Browser een tweede monitor op Mac? (Ja, zo)

Ja - LockDown Browser detecteert elk bij macOS geregistreerd beeldscherm via Core Graphics. Dit omvat ingebouwde schermen, externe monitoren aangesloten via HDMI/DisplayPort/USB-C, Sidecar-iPads, AirPlay-tv's en zelfs sommige virtuele beeldschermen van docks. Hieronder: de exacte detectielogica, wat telt en wat erdoorheen glipt.

Het detectiemechanisme

LDB doet twee aanroepen bij het opstarten:

uint32_t count;
CGDisplayActiveDisplayCount(&count);
// count is the number of currently-active displays
// LDB blocks if count >= 2 (default Dashboard config)

Dit is identiek aan wat Systeeminformatie → Grafisch/Beeldschermen toont. Er is geen verborgen API; de detectie is rechttoe rechtaan.

Zaken die tellen als "actieve beeldschermen"

BeeldschermbronGeteld?Opmerkingen
Ingebouwd MacBook-beeldscherm (klep open)Telt altijd als #1
HDMI externStandaard
DisplayPort externStandaard
USB-C-naar-beeldscherm directStandaard
Thunderbolt 4 externStandaard
USB-C-dock met HDMI/DisplayPort-uitgangElke uitgangspoort telt apart
Sidecar-iPadGeregistreerd als virtuele CGDisplay
AirPlay naar Apple TV / Vizio / Roku TVSpiegelen of uitbreiden - beide worden geteld
iPhone-synchronisatie (Sequoia 15+)Geteld aan de Mac-zijde
Door Continuity weergegeven iPad als invoerbron✓ wanneer Sidecar actief isSidecar is wat het laat tellen

Zaken die NIET tellen

OpstellingWaarom het niet telt
Gesloten-klep-modus met alleen extern beeldschermIngebouwd beeldscherm slaapt; CGDisplay-aantal = 1
iPad naast de laptop, NIET in SidecarApart apparaat, niet geregistreerd bij het beeldschermsysteem van macOS
Extern beeldscherm fysiek aangesloten maar UITGESCHAKELD via SysteeminstellingenInactief in macOS, dus niet meegeteld
Universele bediening (cursor op iPad)Universele bediening != Sidecar; iPad is geen CGDisplay
Telefoon naast de laptop, zelfs met Continuity CameraCamera != beeldscherm
Smart-tv in dezelfde kamer, niet via AirPlay/HDMI verbondenGeen verbinding met het beeldschermsysteem van de Mac

Uitzonderingsgevallen

USB-C-dock dat een "virtueel" beeldscherm toevoegt terwijl er niets is aangesloten

Sommige USB-C-docks (CalDigit, OWC) hebben een eigenaardigheid waarbij het dock een beeldschermpoort meldt, ook als er geen monitor is aangesloten. macOS registreert dit af en toe als een actief beeldscherm zonder fysiek scherm. Symptoom: LDB blokkeert met de fout meerdere beeldschermen terwijl je niets aangesloten ziet.

Oplossing: koppel het dock volledig los (kort, voor het examen). Het spookbeeldscherm verdwijnt uit de CGDisplay-lijst.

Draadloos beeldscherm (Miracast, derde partij)

Draadloze beeldschermprotocollen van derden registreren zich als CGDisplays op dezelfde manier als AirPlay. Schakel uit.

Laptops met twee beeldschermen (zeldzaam)

Sommige Asus- / Acer-Windows-laptops hebben een tweede scherm boven het toetsenbord. Macs hebben deze hardware niet. Niet van toepassing.

Hoe je je CGDisplay-aantal verifieert

Open Terminal en voer uit:

system_profiler SPDisplaysDataType | grep -i "Resolution"

Elke regel is een gedetecteerd beeldscherm. Tel ze. Bij >1 zal LDB blokkeren.

Of gebruik AppleScript:

osascript -e 'tell application "System Events" to get count of displays of (get display preferences)'

Wat er gebeurt als je het probeert te omzeilen en opstart

Je kunt het niet omzeilen - de controle gebeurt bij het opstarten, voordat er een examen wordt geladen. De blokkade is consistent en reproduceerbaar. Koppel het tweede beeldscherm los of schakel het uit en start LDB opnieuw.

Frequently asked questions

Als ik mijn externe monitor afdek met een stuk karton, detecteert LDB hem dan nog?

Ja - het scherm fysiek afdekken verandert de beeldschermstatus van macOS niet. Het beeldscherm is "actief" door de aansluiting, niet doordat er pixels zichtbaar zijn. Koppel los of schakel uit.

Kan ik overschakelen naar enkel beeldscherm door de macOS-indeling te wijzigen?

Nee - Systeeminstellingen → Beeldschermen → Rangschikking past alleen de lay-out aan, niet het aantal actieve beeldschermen. Schakel een beeldscherm uit via het tandwielpictogram per beeldscherm of trek de stekker eruit.

Mijn MacBook-klep is dicht en ik gebruik alleen een extern beeldscherm. Waarom blokkeert LDB nog steeds?

Zou in die configuratie niet moeten blokkeren als de gesloten-klep-modus correct actief is. Als LDB blokkeert: klep open → klep volledig dicht → wacht 10 seconden → externe wordt het enige beeldscherm → start LDB op. Blokkeert het nog steeds, dan slaapt het ingebouwde beeldscherm mogelijk niet (oplaadkabel niet aangesloten, klep niet volledig dicht).