Moin,
ich bastel nun schon immer mal wieder seit einer Woche an meinem Setup und komm nicht weiter.
Ich habe mein Thinkpad T61 im Zuge einer Aufrüstung mit einer SSD komplett neu eingerichtet. Bei der Gelegenheit habe ich mich mal mit udev näher auseinandergesetzt, da ich gerne eine Vielzahl von Scripts, welche ich bisher bei bedarf 'per Hand' anschubse, automatisieren wollte.
Um es kurz zu machen:
--> Wenn mein Laptop in die Dockingstation kommt
soll
WALN OFF,
VGA ON -- LVDS OFF,
WakeOnLAN auf meinen Homeserver,
NFS mounten,
PulseAudio über Server routen,
... wenn der Laptop die Dockingsation verlässt quasi alles wieder rückgängig.
Das Script dafür steht und funktioniert soweit. Ich hatte es erst einfach so in der udev-regel drinn... gab immer ein timeout, da das script schlicht zu lange braucht (schnittstellen prüfen, wakeonlan und mount brauchen halt ne runde) und systemd es somit abschießt. Finde als Service ist das in der 'logik' von systemd auch konsistenter. Oder täusch ich mich da?
Das Problem ist, dass das ganze aber nur ein einziges Mal wirklich passiert. D.h. wenn ich nach dem Booten das Thinkpad ausdocken lasse schaltet alles um. Beim späteren wieder einstecken passiert nischt mehr...
/etc/udev/rules.d/10-thinkpad-dock.rules:
TAG+="systemd", SUBSYSTEM=="platform", KERNEL=="dock.3", ACTION=="change", ENV{SYSTEMD_READY}="1", ENV{SYSTEMD_USER_WANTS}="dock.service"
/etc/systemd/user/dock.service
[Unit]
Description=User docking actions
After=graphical.target sys-devices-platform-dock.3.device
[Service]
Type=simple
Restart=always
Environment=DISPLAY=:0.0
Environment=XAUTHORITY=/home/emilia/.Xauthority
ExecStart=-/usr/local/sbin/tp-dock
[Install]
WantedBy=graphical.target sys-devices-platform-dock.3.device
Bin für jede Hilfe/Anregung grad dankbar...
P.S.: Und die Drohung um möglichst viele leute zu mobilisieren: Ansonsten pack ich mir nen *buntu/Mint drauf :-)