¿Cómo puedo detectar cuando un monitor externo está conectado en Linux?
Necesito ejecutar varios scripts para configurar mi espacio de trabajo.
¿Hay alguna forma inteligente de iniciar un script cuando el estado del monitor ha cambiado?
Estoy usando el controlador de pantalla Nvidia.
xrandr
cada dos segundos y ejecute las secuencias de comandos si nota una diferencia.Respuestas:
Hay un conjunto de herramientas llamadas read-edid que pueden analizar datos de identificación de pantalla extendida (EDID). Si estas herramientas realmente detectan su monitor externo, es posible que pueda verificar periódicamente la detección y usar la salida para iniciar scripts, etc.
Sin embargo, no mencionó si necesita hacer esto independientemente de si X se estaba ejecutando.
fuente
Estaba buscando la misma respuesta: /
Estoy usando disper ( http://willem.engen.nl/projects/disper ) y gconftool para habilitar / deshabilitar mi segundo monitor junto con un segundo panel gnome en él.
disper -l enumera todos los monitores conectados, por lo que puede sondearlo como último recurso.
fuente
Debería usar
udev
eventos ... una posible regla podría verse así:(Fuente https://bbs.archlinux.org/viewtopic.php?pid=1329375#p1329375 )
fuente
Dado que, a partir de 270.18, los controladores binarios de nVidia todavía no parecen implementar XRandR moderno, es posible que deba seguir la sugerencia del nuevo 123456 para sondear una herramienta como
xrandr
para cambios en el tamaño de la pantalla.En mi sistema, todavía tengo que encontrar una manera de hacer que nVidia anuncie correctamente
xrandr
que tengo dos monitores de 1280x1024, en lugar de uno solo de 2560x1024 ... que, como pueden adivinar, hace que los juegos de pantalla completa se centren en ambos monitores cuando lo prohíbo ellos de cambiar la resolución. (Atasca mis notas adhesivas de escritorio)fuente