Ich habe ein Lenovo Thinkpad mit NVIDIA Optimus und eine Mini-Dockingstation Serie 3 .
Ich möchte, dass es im angedockten Zustand nach Möglichkeit automatisch zu einem externen Monitor wechselt. Wenn ich es abdocke, sollte es automatisch zum thinkpad lcd wechseln.
Dies sollte auch in der Startphase funktionieren, da ich dort ein Passwort für die verschlüsselte Festplatte (dm-crypt) eingeben muss.
Ich habe Folgendes versucht, aber es funktioniert nicht:
Ich habe eine Datei /etc/acpi/thinkpad-undock.sh
(+ chmod a+x thinkpad-undock.sh
) erstellt, die die folgenden Zeilen enthält:
#!/bin/sh
xrandr --output LVDS-1 --auto --output DP-5.8 --off
Und auch /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
Und wieder chmod a+x thinkpad-dock.sh
.
Das manuelle Ausführen beider Skripte funktioniert.
Dann habe ich zwei Dateien für die Behandlung der Ereignisse erstellt:
thinkpad-dock-lenovo
event=ibm/hotkey LEN0068:00 00000080 00004010
action=/etc/acpi/thinkpad-dock.sh
und auch thinkpad-undock-lenovo
event=ibm/hotkey LEN0068:00 00000080 00004011
action=/etc/acpi/thinkpad-undock.sh
Dann habe ich den acpi-Daemon mit neu geladen /etc/init.d/acpid reload
. Wenn ich den Laptop jedoch andocke oder abdocke, geschieht nichts.
Ich habe die oben angegebene Ereignisnummer erhalten, indem ich acpi_listen
den Laptop ausgeführt und dann angedockt und abgedockt habe.
Gibt es also Ideen, wie es funktioniert?
Vielleicht wird das Problem durch eine Desktop-Umgebung gelöst, zum Beispiel kde, aber ich verwende xmonad und trotzdem sollte es, wie oben angegeben, auch auf der Startphase unabhängig von der Desktop-Umgebung funktionieren.
Ich verwende Ubuntu 16.04 mit der Kernel-Version 4.4.0-22.
Ich habe auch versucht, eine udev-Regel wie folgt hinzuzufügen, aber es hat nicht funktioniert:
ENV{EVENT}=="undock", KERNEL=="dock.0", SUBSYSTEM=="platform", RUN+="disper -s"
ENV{EVENT}=="dock", KERNEL=="dock.0", SUBSYSTEM=="platform", RUN+="disper -s"
Mir ist gerade aufgefallen, dass die Datei dock
immer den Wert 0 hat, unabhängig davon, ob der Laptop angedockt oder nicht angedockt ist.