Tengo un thinkpad lenovo con nvidia optimus y una mini estación de acoplamiento serie 3 .
Quiero que mientras esté acoplado, debería cambiar automáticamente a un monitor externo, si es posible, y si lo desacople, debería cambiar al thinkpad lcd automáticamente.
Esto también debería funcionar en la etapa de arranque porque allí tengo que escribir una contraseña para el disco cifrado (dm-crypt).
Intenté lo siguiente pero no funciona:
Creé un archivo /etc/acpi/thinkpad-undock.sh
(+ chmod a+x thinkpad-undock.sh
) que contiene las siguientes líneas:
#!/bin/sh
xrandr --output LVDS-1 --auto --output DP-5.8 --off
Y también /etc/acpi/thinkpad-dock.sh
#!/bin/sh
prime-select nvidia # ensures that nvidia card is selected
xrandr --output LVDS-1 --off --output DP-5.8 --auto
Y de nuevo chmod a+x thinkpad-dock.sh
.
Ejecutar ambos scripts funciona manualmente.
Luego creé dos archivos para manejar los eventos:
thinkpad-dock-lenovo
event=ibm/hotkey LEN0068:00 00000080 00004010
action=/etc/acpi/thinkpad-dock.sh
y también thinkpad-undock-lenovo
event=ibm/hotkey LEN0068:00 00000080 00004011
action=/etc/acpi/thinkpad-undock.sh
Luego recargué el acpi daemon con /etc/init.d/acpid reload
. Sin embargo, si acople o desacople la computadora portátil, no hará nada.
Obtuve el número de evento anterior al ejecutar acpi_listen
y luego acoplar y desacoplar la computadora portátil.
Entonces, ¿hay alguna idea de cómo hacer que funcione?
Tal vez el problema sea resuelto por algún entorno de escritorio, por ejemplo kde, pero estoy usando xmonad y, sin embargo, como se indicó anteriormente, debería funcionar incluso en la etapa de arranque independientemente del entorno de escritorio.
Estoy ejecutando ubuntu 16.04 con la versión de kernel 4.4.0-22.
Intenté también agregar una regla de udev como sigue pero no funcionó:
ENV{EVENT}=="undock", KERNEL=="dock.0", SUBSYSTEM=="platform", RUN+="disper -s"
ENV{EVENT}=="dock", KERNEL=="dock.0", SUBSYSTEM=="platform", RUN+="disper -s"
Acabo de notar que el archivo dock
siempre tiene el valor 0, independientemente de si la computadora portátil está acoplada o no.
He tenido suerte con la configuración de ambos
DISPLAY
y con laXAUTHORITY
adición de un pequeño sueño, p. Ej.fuente
Tengo una configuración similar, sin embargo, nunca perseguí la solución de reaccionar al muelle. Es interesante
En cambio, lo que hago es usar el administrador de pantalla de Gnome para configurar la pantalla LCD en 'apagado' y la pantalla externa sea la principal. De esta manera, cada vez que coloco la computadora portátil en la base, cambia a la pantalla externa. Cuando lo levanto, vuelve a la pantalla LCD.
Tener esto en la consola (arrancar desde una instalación de dm-crypt) también funciona pero tiene sus matices. Si la tapa está cerrada, configuro el portátil en la base y lo enciendo, se inicia automáticamente en la pantalla externa (todo, incluidas las pantallas del BIOS, el lote). Si la tapa está abierta, solo se cambiará después de iniciar sesión en GDM.
fuente