udevルールはThinkPad X200ドックには適用されません

udevルールはThinkPad X200ドックには適用されません

じっくり学んでいくので、ポイントを完全に見逃してもご了承ください。

私はThinkPad X200でArchを実行しており、机に座って充電して外部モニタに表示できるようにドックを操作したいと思います。私はほぼ一週間この問題を解決するためにさまざまな方法とアプローチを試しました。私が考えるのに最もうまくいくのはudevです。

ドッキング時のudev出力は次のとおりです。

UDEV  [7979.317053] add      /devices/pci0000:00/0000:00:1a.7/usb1/1-5 (usb)
ACTION=add
BUSNUM=001
DEVNAME=/dev/bus/usb/001/027
DEVNUM=027
DEVPATH=/devices/pci0000:00/0000:00:1a.7/usb1/1-5
DEVTYPE=usb_device
DRIVER=usb
ID_BUS=usb
ID_FOR_SEAT=usb-pci-0000_00_1a_7-usb-0_5
ID_MODEL=1005
ID_MODEL_ENC=1005
ID_MODEL_ID=1005
ID_PATH=pci-0000:00:1a.7-usb-0:5
ID_PATH_TAG=pci-0000_00_1a_7-usb-0_5
ID_REVISION=0001
ID_SERIAL=17ef_1005
ID_USB_INTERFACES=:090001:090002:
ID_VENDOR=17ef
ID_VENDOR_ENC=17ef
ID_VENDOR_FROM_DATABASE=Lenovo
ID_VENDOR_ID=17ef
MAJOR=189
MINOR=26
PRODUCT=17ef/1005/1
SEQNUM=2995
SUBSYSTEM=usb
TAGS=:seat:
TYPE=9/0/2
USEC_INITIALIZED=7975952454

以下は、ドッキングされていない場合のudev出力です。

UDEV  [7996.175393] remove   /devices/pci0000:00/0000:00:1a.7/usb1/1-5 (usb)
ACTION=remove
BUSNUM=001
DEVNAME=/dev/bus/usb/001/027
DEVNUM=027
DEVPATH=/devices/pci0000:00/0000:00:1a.7/usb1/1-5
DEVTYPE=usb_device
MAJOR=189
MINOR=26
PRODUCT=17ef/1005/1
SEQNUM=3003
SUBSYSTEM=usb
TYPE=9/0/2
USEC_INITIALIZED=7996171763

私が作成したudevルールは次のとおりです。

SUBSYSTEM=="usb", ACTION=="add", ATTR{PRODUCT}=="17ef/1005/1",  RUN+="/usr/local/bin/docked.sh"

/usr/local/bin/docked.sh以下は、モニター出力を処理するためにDockdを使用して作成されたスクリプトです。

#!/bin/bash

dockd --set docked

すべての助けに感謝し、問題を解決するために必要なものを見逃した場合はお詫び申し上げます。

関連情報