LockDown Browser rileva un secondo monitor su Mac? (Si - ecco come)

Si - LockDown Browser rileva ogni schermo registrato a macOS via Core Graphics. Inclusi schermi integrati, monitor HDMI/DisplayPort/USB-C, iPad in Sidecar, TV AirPlay e perfino alcuni schermi virtuali dei dock. Sotto: la logica esatta, cosa conta e cosa sfugge.

Il meccanismo di rilevamento

LDB esegue due chiamate all'avvio:

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

E identico a quanto mostra Informazioni di sistema → Grafica/Schermi. Non c'e una API nascosta; il rilevamento e diretto.

Cosa conta come "schermo attivo"

Sorgente schermoContato?Note
Schermo integrato MacBook (coperchio aperto)Sempre contato come #1
HDMI esternoStandard
DisplayPort esternoStandard
USB-C verso schermo direttoStandard
Thunderbolt 4 esternoStandard
Dock USB-C con uscita HDMI/DisplayPortOgni porta di uscita conta in modo indipendente
Sidecar iPadRegistrato come CGDisplay virtuale
AirPlay verso Apple TV / Vizio / Roku TVMirroring o estensione - entrambi contati
iPhone Mirroring (Sequoia 15+)Contato sul lato Mac
iPad mostrato via Continuity come sorgente di input✓ quando Sidecar e attivoE Sidecar a farlo contare

Cose che NON contano

ConfigurazionePerche non conta
Modalita coperchio chiuso con solo schermo esternoLo schermo integrato dorme; conteggio CGDisplay = 1
iPad accanto al portatile, NON in SidecarDispositivo separato, non registrato nel sistema schermi di macOS
Schermo esterno fisicamente collegato ma DISABILITATO da Impostazioni di SistemaInattivo in macOS, quindi non contato
Universal Control (cursore sull'iPad)Universal Control != Sidecar; l'iPad non e un CGDisplay
Telefono accanto al portatile, anche con Continuity CameraVideocamera != schermo
Smart TV nella stessa stanza, non collegata via AirPlay/HDMINessuna connessione al sistema schermi del Mac

Casi limite

Dock USB-C che aggiunge uno schermo "virtuale" quando non c'e nulla collegato

Alcuni dock USB-C (CalDigit, OWC) hanno una particolarita: il dock annuncia una porta video anche quando non e collegato alcun monitor. macOS occasionalmente la registra come schermo attivo senza schermo fisico. Sintomo: LDB blocca con errore multi-schermo ma non vedi nulla collegato.

Soluzione: scollega il dock per intero (brevemente, per la durata dell'esame). Lo schermo fantasma scompare dalla lista CGDisplay.

Schermo wireless (Miracast, terze parti)

I protocolli wireless di terze parti si registrano come CGDisplay esattamente come AirPlay. Disabilita.

Portatili a doppio schermo (rari)

Alcuni portatili Asus / Acer Windows hanno uno schermo secondario sopra la tastiera. I Mac non hanno questo hardware. Non rilevante.

Come verificare il tuo conteggio CGDisplay

Apri Terminale ed esegui:

system_profiler SPDisplaysDataType | grep -i "Resolution"

Ogni riga e uno schermo rilevato. Contale. Se >1, LDB blocchera.

Oppure usa AppleScript:

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

Cosa succede se provi ad aggirare e avviare

Non puoi aggirare - la verifica avviene all'avvio, prima del caricamento di qualsiasi esame. Il blocco e coerente e riproducibile. Scollega o disabilita il secondo schermo, riavvia LDB.

Frequently asked questions

Se copro il mio monitor esterno con un pezzo di cartone, LDB lo rileva comunque?

Si - coprire fisicamente lo schermo non cambia lo stato schermi di macOS. Lo schermo e "attivo" per via della connessione, non perche i pixel sono visibili. Scollega o disabilita.

Posso passare a schermo singolo cambiando la disposizione di macOS?

No - Impostazioni di Sistema → Schermi → Disposizione cambia solo il layout, non il numero di schermi attivi. Disabilita uno schermo tramite l'icona ingranaggio per schermo, oppure scollegalo.

Ho il coperchio del MacBook chiuso e uso solo uno schermo esterno. Perche LDB blocca lo stesso?

Non dovrebbe bloccare in quella configurazione se la modalita coperchio chiuso e attiva correttamente. Se LDB blocca: coperchio aperto → chiudilo completamente → attendi 10 secondi → l'esterno diventa l'unico schermo → avvia LDB. Se continua a bloccare, lo schermo integrato potrebbe non dormire (cavo di alimentazione scollegato, coperchio non chiuso del tutto).