¿LockDown Browser puede detectar un segundo monitor en Mac? (Sí - así es cómo)

Sí - LockDown Browser detecta cada pantalla registrada en macOS vía Core Graphics. Esto incluye pantallas integradas, monitores externos conectados por HDMI/DisplayPort/USB-C, iPads Sidecar, TVs AirPlay e incluso algunas pantallas virtuales de dock. Abajo: la lógica de detección exacta, qué cuenta y qué se cuela.

El mecanismo de detección

LDB hace dos llamadas al lanzar:

uint32_t count;
CGDisplayActiveDisplayCount(&count);
// count es el número de pantallas actualmente activas
// LDB bloquea si count >= 2 (config Dashboard predeterminada)

Esto es idéntico a lo que muestra Información del Sistema → Gráficos/Pantallas. No hay API oculta; la detección es directa.

Cosas que cuentan como "pantallas activas"

Fuente de pantalla¿Contada?Notas
Pantalla integrada de MacBook (tapa abierta)Siempre contada como #1
HDMI externoEstándar
DisplayPort externoEstándar
USB-C-a-pantalla directoEstándar
Thunderbolt 4 externoEstándar
Dock USB-C con salida HDMI/DisplayPortCada puerto de salida cuenta independientemente
Sidecar iPadRegistrado como CGDisplay virtual
AirPlay a Apple TV / Vizio / Roku TVEspejo o extensión - ambos contados
Espejo de iPhone (Sequoia 15+)Contado en el lado Mac
iPad mostrado vía Continuity como fuente de entrada✓ cuando Sidecar activoSidecar es lo que lo hace contar

Cosas que NO cuentan

ConfiguraciónPor qué no cuenta
Modo de tapa cerrada con solo pantalla externaLa pantalla integrada duerme; conteo CGDisplay = 1
iPad junto al laptop, NO en SidecarDispositivo separado, no registrado en el sistema de pantallas de macOS
Pantalla externa físicamente conectada pero DESHABILITADA vía Configuración del SistemaInactiva en macOS, así que no contada
Universal Control (cursor en iPad)Universal Control != Sidecar; iPad no es un CGDisplay
Teléfono junto al laptop, incluso con Continuity CameraCámara != pantalla
Smart TV en el mismo cuarto, no conectada vía AirPlay/HDMISin conexión al sistema de pantallas del Mac

Casos límite

Dock USB-C que añade una pantalla "virtual" cuando nada está enchufado

Algunos docks USB-C (CalDigit, OWC) tienen una peculiaridad donde el dock anuncia un puerto de pantalla incluso cuando ningún monitor está conectado. macOS ocasionalmente registra esto como una pantalla activa sin pantalla física. Síntoma: LDB bloquea con error de multi-pantalla pero no ves nada conectado.

Solución: desenchufa el dock por completo (brevemente, para el examen). La pantalla fantasma desaparece de la lista CGDisplay.

Pantalla inalámbrica (Miracast, terceros)

Los protocolos inalámbricos de pantalla de terceros se registran como CGDisplays igual que AirPlay. Deshabilita.

Laptops de pantalla doble (raros)

Algunos laptops Asus / Acer con Windows tienen una pantalla secundaria sobre el teclado. Los Macs no tienen este hardware. No relevante.

Cómo verificar tu conteo CGDisplay

Abre Terminal y ejecuta:

system_profiler SPDisplaysDataType | grep -i "Resolution"

Cada línea es una pantalla detectada. Cuéntalas. Si >1, LDB bloqueará.

O usa AppleScript:

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

Qué pasa si intentas eludir y lanzar

No puedes eludir - la verificación pasa al lanzar, antes de que se cargue ningún examen. El bloqueo es consistente y reproducible. Desconecta o deshabilita la segunda pantalla, reinicia LDB.

Preguntas frecuentes

Si cubro mi monitor externo con un trozo de cartón, ¿LDB aún lo detecta?

Sí - cubrir físicamente la pantalla no cambia el estado de pantalla de macOS. La pantalla está "activa" por la conexión, no porque los píxeles sean visibles. Desenchufa o deshabilita.

¿Puedo cambiar a única pantalla cambiando la disposición de macOS?

No - Configuración del Sistema → Pantallas → Disposición solo cambia layout, no el conteo de pantallas activas. Deshabilita una pantalla vía el ícono de engranaje por pantalla, o desenchufa.

La tapa de mi MacBook está cerrada y solo uso una externa. ¿Por qué LDB aún bloquea?

No debería bloquear en esa configuración si el modo de tapa cerrada está activo correctamente. Si LDB bloquea: tapa abierta → cierra la tapa completamente → espera 10 segundos → externa se vuelve la única pantalla → lanza LDB. Si sigue bloqueando, la integrada puede no estar durmiendo (cable de carga desconectado, tapa no cerrada por completo).