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.