Отслеживание подключения/отключения устройств

Здравствуйте Арчеры.
суть идеи - отслеживание подключения/отключения кабеля и вывод месаги соответственно.
то что описано ниже дал знакомый, и у меня не работает. но у него все рулит и педалит замечательно.
необходимо сделать чтобы это работало, т.е найти причину того, почему оно не работает. вот.
если не сообщил что либо важное, то прошу указать на это)
надеюсь на вашу помощь в этом вопросе

что у нас есть:
[[email protected] ~]$ cat /etc/udev/rules.d/81-siemens.rules
ACTION=="add", KERNEL=="ttyUSB[0-9]*", NAME="%k", RUN+="/home/gudvin/.bin/siemensd add"
ACTION=="remove", KERNEL=="ttyUSB[0-9]*", NAME="%k", RUN+="/home/gudvin/.bin/siemensd remove"

и еще вот скрипт siemensd
А это нормально. что в скрипте нет ни одной открывающей “(” скобки, все скобки закрывающие “)”? (Просто интересно).
да, это синтаксис bash
case $var in
  var1)
    команды ;;
  var2)
    команды ;;
esac
Почему бы в скрипт не добавить доп. строки записи в лог (как там уже сделано после ‘add’ и т.п.)?
Одну в начало скрипта, затем перед каждым ‘case’ и одну на выходе. Позволит посмотреть какие части скрипта выполняются. Ну и заодно проверить вызывается ли вообще скрипт.
сделал небольшие пометочки в скрипте, вот вывод в лог:
[[email protected] ~]$ cat /tmp/log
[info] start script
[info] start script
[info] checked USB-Serial_Controller
[info] added device: /dev/ttyUSB0, which is DCA-110 Cable 
[info] Подключено устройство DCA-110

и лог ошибок:
[[email protected] ~]$ cat /tmp/log0
[err] trigged unknown device  () [requested add, but ignored]

из чего делаем вывод, что все работает, но notify-send не срабатывает
Gudvin-t
из чего делаем вывод, что все работает, но notify-send не срабатывает
Вероятнее всего notify-send отрабатывает (если все правильно записано, и система нигде не спотыкается), но не может вывести сообщение на экран ВАШЕГО пользователя.
Попробуйте использовать команду в таком формате:
XAUTHORITY=/home/<ваш юзер>/.Xauthority DISPLAY=:0.0 /usr/bin/notify-send "Сообщение"
PS. А notify-send вообще работает?
да, notify-send работает.
увы, ваш способ тоже не работет. естественно, подставил свои значения куда надо.
Gudvin-t
естественно, подставил свои значения куда надо
Часть sudo -u $USER ест-но убрали?
...
echo "[info] Подключено устройство DCA-110" >> $LOG
### Добавим для проверки
echo "[info] Событие для пользователя $USER" >> $LOG
###
XAUTHORITY=/home/$USER/.Xauthority DISPLAY=:0.0 /usr/bin/notify-send "Подключено устройство" "Прошивочный кабель DCA-110" -i phone ;;
...

PS. /home/$USER/.Xauthority существует?
Пара вопросиков.
1. Указанное в скрипте устройство это что?
2 Вы уверены что ваше устройство не попадает под более “ранние” правила udev. Попробуйте переименовать, например, в 51-siemens.rules или меньше.

В /lib/udev/rules.d/, кстати загляните, может там найдете подходящее правило.
vadik
Вы уверены что ваше устройство не попадает под более “ранние” правила udev
Единственное назначение этого скрипта, и правила соответственно, выводить попапы при подключении устройства.
Судя по логам (см. выше) скрипт отрабатывает как надо (udev-ом вызывается корректно - данные устройства в него передаются). И notify-send вызывается.
ИМХО, единственная проблема - notify-send не может вывести попап на экран другого пользователя.
 
Зарегистрироваться или войдите чтобы оставить сообщение.