Я хочу виконати сценарій, коли я підключаю пристрій у своїй машині Linux. Наприклад, запустіть xinput
мишу або резервну скрипт на певному диску.
Я про це бачив багато статей, останнім часом тут і тут . Але я просто не можу змусити його працювати.
Ось кілька простих прикладів, які намагаються отримати хоч якусь відповідь.
/etc/udev/rules.d/test.rules
#KERNEL=="sd*", ATTRS{vendor}=="*", ATTRS{model}=="*", ATTRS{serial}=="*", RUN+="/usr/local/bin/test.sh"
#KERNEL=="sd*", ACTION=="add", "SUBSYSTEM=="usb", ATTRS{model}=="My Book 1140 ", ATTRS{serial}=="0841752394756103457194857249", RUN+="/usr/local/bin/test.sh"
#ACTION=="add", "SUBSYSTEM=="usb", RUN+="/usr/local/bin/test.sh"
#KERNEL=="sd*", ACTION=={add}, RUN+="/usr/local/bin/test.sh"
KERNEL=="sd*", RUN+="/usr/local/bin/test.sh"
KERNEL=="*", RUN+="/usr/local/bin/test.sh"
/usr/local/bin/test.sh
#!/usr/bin/env bash
echo touched >> /var/log/test.log
if [ "${ACTION}" = "add" ] && [ -f "${DEVICE}" ]
then
echo ${DEVICE} >> /var/log/test.log
fi
Папка правил переглядається inotify
і повинна бути активна негайно. Я постійно відключаю підключення клавіатури, миші, планшета, картки пам'яті та USB-накопичувача, але нічого. Жоден файл журналу не торкався.
Тепер, який би був найпростіший спосіб принаймні щось знати? Простіше працювати з чогось, що працює, ніж з того, що ні.
3.5.0-23-generic
.
udevadm trigger
чи підключили пристрій, щоб застосувати нове правило?