gudvin-t |
|
Темы:
38
Сообщения:
244
Участник с: 09 ноября 2010
|
Здравствуйте Арчеры. суть идеи - отслеживание подключения/отключения кабеля и вывод месаги соответственно. то что описано ниже дал знакомый, и у меня не работает. но у него все рулит и педалит замечательно. необходимо сделать чтобы это работало, т.е найти причину того, почему оно не работает. вот. если не сообщил что либо важное, то прошу указать на это) надеюсь на вашу помощь в этом вопросе что у нас есть: [[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 |
vadik |
|
Темы:
55
Сообщения:
5395
Участник с: 17 августа 2009
|
А это нормально. что в скрипте нет ни одной открывающей “(” скобки, все скобки закрывающие “)”? (Просто интересно). |
gudvin-t |
|
Темы:
38
Сообщения:
244
Участник с: 09 ноября 2010
|
да, это синтаксис bashcase $var in var1) команды ;; var2) команды ;; esac |
sunstroke |
|
Темы:
3
Сообщения:
625
Участник с: 17 сентября 2009
|
Почему бы в скрипт не добавить доп. строки записи в лог (как там уже сделано после ‘add’ и т.п.)? Одну в начало скрипта, затем перед каждым ‘case’ и одну на выходе. Позволит посмотреть какие части скрипта выполняются. Ну и заодно проверить вызывается ли вообще скрипт. |
gudvin-t |
|
Темы:
38
Сообщения:
244
Участник с: 09 ноября 2010
|
сделал небольшие пометочки в скрипте, вот вывод в лог:[[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 не срабатывает |
sunstroke |
|
Темы:
3
Сообщения:
625
Участник с: 17 сентября 2009
|
Gudvin-tВероятнее всего notify-send отрабатывает (если все правильно записано, и система нигде не спотыкается), но не может вывести сообщение на экран ВАШЕГО пользователя. Попробуйте использовать команду в таком формате: XAUTHORITY=/home/<ваш юзер>/.Xauthority DISPLAY=:0.0 /usr/bin/notify-send "Сообщение" |
gudvin-t |
|
Темы:
38
Сообщения:
244
Участник с: 09 ноября 2010
|
да, notify-send работает. увы, ваш способ тоже не работет. естественно, подставил свои значения куда надо. |
sunstroke |
|
Темы:
3
Сообщения:
625
Участник с: 17 сентября 2009
|
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 существует? |
vadik |
|
Темы:
55
Сообщения:
5395
Участник с: 17 августа 2009
|
Пара вопросиков. 1. Указанное в скрипте устройство это что? 2 Вы уверены что ваше устройство не попадает под более “ранние” правила udev. Попробуйте переименовать, например, в 51-siemens.rules или меньше. В /lib/udev/rules.d/, кстати загляните, может там найдете подходящее правило. |
sunstroke |
|
Темы:
3
Сообщения:
625
Участник с: 17 сентября 2009
|
vadikЕдинственное назначение этого скрипта, и правила соответственно, выводить попапы при подключении устройства. Судя по логам (см. выше) скрипт отрабатывает как надо (udev-ом вызывается корректно - данные устройства в него передаются). И notify-send вызывается. ИМХО, единственная проблема - notify-send не может вывести попап на экран другого пользователя. |