Почему это правило Udev запускается только один раз?

Я хочу настроить правило udev для запуска каждый раз, когда я подключаю USB-накопитель, который подключит этот USB-накопитель для подключения к виртуальной машине в VirtualBox. Правило udev работает для подключения USB-накопителя к работающей виртуальной машине, но только один раз за загрузку. Кто-нибудь, пожалуйста, помогите мне. У меня есть в /etc/udev/rules.d/10-usbmount.rules:

 KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="usb", RUN+="/usr/bin/vbox-automount-usb"

И это в /usr/bin/vbox-automount-usb:

#!/bin/bash
set `lsusb -d ${ID_VENDOR}:${ID_MODEL}| sed 's/:.*//g'`
while [ ! -z "$1" ]; do
  case $1 in
       Bus) shift
       busdevice="$1"
       ;;
       Device) shift
       busdevice=${busdevice}"/$1"
       ;;
  esac
  shift
done
if [ ! -z "$busdevice" ]; then
  address=$(VBoxManage list usbhost | grep "Address:" | grep $bus device | sed -e 's/Address://' -e 's/^[ \t]*//')
  if [ ! -z "$address" ]; then
       su - guestos -c "VBoxManage controlvm guestos_0001 usbattach $address"
  fi
fi

РЕДАКТИРОВАТЬ: я могу сделать /etc/udev/rules.d/10-usbmount.rules работать также, изменив его на:

ACTION=="add", SUBSYSTEM=="block", KERNEL=="sd[a-z]1", RUN+="/usr/bin/vbox-automount-usb"

Но он все еще только монтирует USB в VirtualBox в первый раз

РЕДАКТИРОВАТЬ: То же самое происходит при использовании

su - guestos -c "VBoxManage controlvm guestos_0001 usbattach `VBoxManage list usbhost | grep "Address:" | grep $bus device | sed -e 's/Address://' -e 's/^[ \t]*//'`"

Для /usr/bin/vbox-automount-usb

1
задан 23 April 2015 в 23:46

0 ответов

Другие вопросы по тегам:

Похожие вопросы: