Detecteert LockDown Browser een tweede monitor op Mac? (Ja, zo)
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"
| Beeldschermbron | Geteld? | Opmerkingen |
|---|---|---|
| Ingebouwd MacBook-beeldscherm (klep open) | ✓ | Telt altijd als #1 |
| HDMI extern | ✓ | Standaard |
| DisplayPort extern | ✓ | Standaard |
| USB-C-naar-beeldscherm direct | ✓ | Standaard |
| Thunderbolt 4 extern | ✓ | Standaard |
| USB-C-dock met HDMI/DisplayPort-uitgang | ✓ | Elke uitgangspoort telt apart |
| Sidecar-iPad | ✓ | Geregistreerd als virtuele CGDisplay |
| AirPlay naar Apple TV / Vizio / Roku TV | ✓ | Spiegelen of uitbreiden - beide worden geteld |
| iPhone-synchronisatie (Sequoia 15+) | ✓ | Geteld aan de Mac-zijde |
| Door Continuity weergegeven iPad als invoerbron | ✓ wanneer Sidecar actief is | Sidecar is wat het laat tellen |
Zaken die NIET tellen
| Opstelling | Waarom het niet telt |
|---|---|
| Gesloten-klep-modus met alleen extern beeldscherm | Ingebouwd beeldscherm slaapt; CGDisplay-aantal = 1 |
| iPad naast de laptop, NIET in Sidecar | Apart apparaat, niet geregistreerd bij het beeldschermsysteem van macOS |
| Extern beeldscherm fysiek aangesloten maar UITGESCHAKELD via Systeeminstellingen | Inactief in macOS, dus niet meegeteld |
| Universele bediening (cursor op iPad) | Universele bediening != Sidecar; iPad is geen CGDisplay |
| Telefoon naast de laptop, zelfs met Continuity Camera | Camera != beeldscherm |
| Smart-tv in dezelfde kamer, niet via AirPlay/HDMI verbonden | Geen 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).