Desactivar la reconfiguración del monitor al cerrar la tapa

8

A menudo necesito mover mi computadora portátil de un lugar de trabajo a otro. Cuando hago esto, hay dos eventos a los que Ubuntu responde cambiando la configuración del monitor:

  • Retirar / conectar el cable VGA
  • Cerrar / abrir la tapa del portátil

Si bien quitar el cable VGA me da lo que necesito (pantalla única, resolución nativa más alta en la pantalla externa si está conectado; de lo contrario, la resolución más alta en la computadora portátil), la respuesta de tapa cerrada / abierta de la computadora portátil no es tan buena.

Cada vez que cierro o abro la tapa, Ubuntu reconfigura la configuración del monitor. Cuando cierro la tapa ahora ... la pantalla se pone negra por unos segundos y cambia a clon, con la pantalla de mi computadora portátil desactivada. La reapertura da como resultado ... brevemente una pantalla negra, luego el monitor externo se usa como extensión de escritorio.

Actualización: las cosas cambiaron un poco recientemente, el comportamiento es más predecible ahora. Al cerrar la tapa, se cambia a una sola pantalla y se abre a doble pantalla (no clonar). Mi pregunta aún es precisa: ver abajo.

Ubuntu piensa demasiado. Mi primera y principal pregunta: ¿hay alguna forma de permitir que Ubuntu ignore los eventos de cierre de tapa?

Idealmente (o cuando no hay forma de resolver la pregunta anterior) me gustaría cambiar la forma en que se ocupa de la reconfiguración de la pantalla. ¿Por qué Ubuntu alterna la configuración de pantalla entre pantalla externa, clon y única? ¿No puedo configurarlo para usar siempre el monitor externo, cuando está presente, en modo de pantalla única?

Tenga en cuenta que se han hecho preguntas similares antes (sobre todo esta ), pero estas se han cerrado tal vez de manera incorrecta.

Cualquier idea es muy bienvenida, no me importa jugar un poco para ver si algo funciona.

Tomás
fuente
Para aquellos que todavía están interesados, aparecen preguntas de otras personas con problemas similares: askubuntu.com/questions/161649/…
Tomás
Noté que esta pregunta todavía recibe un par de visitas por semana. Me cambié a Arch Linux hace un tiempo y noté que los eventos de cierre de tapa se ignoran por completo de manera predeterminada, ni siquiera se ve un parpadeo de la pantalla. Es posible que un kernel de Linux más nuevo solucione los problemas descritos en esta pregunta (ambos entornos de escritorio que uso ignoran por completo la tapa si se lo pido). Si es así, es muy probable que las versiones más recientes de Ubuntu incluyan / incluyan esta solución.
Tomás

Respuestas:

7

¿Hay alguna forma de dejar que Ubuntu ignore los eventos de cierre de tapa?

Los eventos de la tapa son activados por el lidbtnarchivo en /etc/acpi/events/, que contiene dos líneas activas:

evento = botón [/] tapa
action = / etc / acpi / lid.sh - comenta esto con un # al principio

Puede ignorar los eventos de apertura / cierre de la tapa comentando la segunda línea con a #y luego reiniciando.

Me gustaría cambiar cómo se trata la reconfiguración de la pantalla.

Puede mirar e intentar modificar el archivo /etc/acpi/lid.shy las funciones / comandos a los que hace referencia.

PERO (GRAN CUEVA): si el BIOS de su computadora portátil usa la tapa cerrada / abierta para activar / desactivar los puertos de salida de video internos / externos, esto está más allá de los poderes del controlador de eventos ACPI del sistema operativo.

ish
fuente
Parece interesante, pero comentar la segunda línea no resuelve mi problema. Sumergirse en el lid.sharchivo sugiere que maneja la desconexión de la pantalla (comandos como xscreensaver-command -unthrottle, xscreensaver-command -deactivate, /usr/share/acpi-support/screenblanky xset dpms force on). No se menciona nada sobre el cambio o la detección de pantallas (esperaba xrandro algo para esto). ¿Algún consejo más?
Tomás
Temporalmente muévase lidbtnde /etc/acpi/eventsa otro lugar, digamos ~/. ¿Eso ayuda?
ish
No cambia nada, por lo que puedo decir, esto tiene exactamente el mismo efecto que dejar el archivo allí. He intentado reiniciar para asegurarse de que se aplica el cambio, por supuesto.
Tomás
@Tomas: vea la edición al final de la respuesta.
ish
1
En mi Ubuntu 14.04 no tengo lid.shni un ni lidbtnen mi sistema (busqué con locate) ¿Puedo crear uno de estos para agregar alguna funcionalidad (quiero desactivar mi pantalla táctil al cerrar la tapa del portátil )?
rubo77
0

Este comportamiento es una característica de Gnome y está controlado por una configuración dconf. Puede cambiarlo a través dconf-editoro directamente usando la línea de comando:

gsettings set org.gnome.settings-daemon.plugins.xrandr default-monitors-setup <value>

La descripción dice lo siguiente:

Resumen: si se deben apagar monitores específicos después del arranque

'clone' mostrará lo mismo en todos los monitores, 'dock' apagará el monitor interno, 'do-nothing' usará el comportamiento predeterminado de Xorg (extiende el escritorio en versiones recientes). El valor predeterminado, 'seguir-tapa', elegirá entre 'no hacer nada' y 'dock' dependiendo de si la tapa está (respectivamente) abierta o cerrada.

Por lo tanto, si desea usar solo el monitor externo cuando está conectado, use dockcomo <value>.

Si desea que ambos monitores funcionen siempre, no importa si la tapa está cerrada o no, úsela do-nothing. (A menudo cerraba la tapa temporalmente solo para que no brillara en mi cuarto oscuro, no quería que todas las ventanas migraran a un monitor externo).

Y finalmente, si desea usar la pantalla de la computadora portátil pero solo cuando está abierta, úsela follow-lid. (Caso de uso: la cantidad de espacio libre en su escritorio varía y, a veces, debe colocar la computadora portátil detrás del monitor en lugar de al lado).

EvgEnZh
fuente
0

¿No puedo configurarlo para usar siempre el monitor externo, cuando está presente, en modo de pantalla única?

Puedo responder esta parte. Ejecuto ubuntu 17.10 en wayland. En el gnome-control-center -> device -> display, puede elegir single displaycon solo lo $external_monitorhabilitado, luego haga clic en "aplicar". Eso genera un $HOME/.confg/monitors.xmlarchivo. El archivo corrige el mecanismo de visualización cuando el mismo $external_monitorestá conectado, y se activa en el monitor interno una vez que se desconecta. ¿Qué es mejor, se puede poner el mismo monitors.xmlen el /var/lib/gdm3/.config/, en ese caso, lo mismo vale para la DMG también.

funicornio
fuente