Да, таких инструментов много. Один, который я использовал лично, это webmin
. Он может делать все, что угодно, через простой и интуитивно понятный веб-интерфейс, включая администрирование пользователей :
Чтобы установить Webmin, вам сначала нужно добавить репозиторий.
deb http://download.webmin.com/download/repository sarge contrib
deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib
Затем вам нужно добавить ключ репозитория:
cd /root
wget http://www.webmin.com/jcameron-key.asc
apt-key add jcameron-key.asc
Обновите вашу систему, чтобы Ubuntu проверила наличие нового репозитория:
sudo apt-get update
Вы можете установить его в Ubuntu с помощью
sudo apt-get install webmin
. Затем укажите в браузере https: // localhost: 10000
, чтобы получить к нему доступ (если это не сработает, попробуйте http: // locahost: 10000
). Я никогда не использовал его в системе Ubuntu или любой другой без учетной записи root, поэтому я не уверен, но вам, возможно, придется включить root , чтобы использовать его.
Вот как я в конце концов изолировал проблему. Udev сверяет спецификацию правила с иерархией атрибутов устройства, начиная от хост-контроллера USB и заканчивая самим устройством. Эти разные узлы имеют набор атрибутов, которые можно указать в правиле udev.
Чтобы увидеть выполнение правил, используйте следующую команду:
udevadm control --log-priority=debug
journalctl -f
Если вы не видите свое правило в журналах даже после перезагрузки udev и переустановки устройства, убедитесь, что формат имени файла соответствует ожиданиям udev :99 -name.rules
Чтобы просмотреть события udev, используйте следующую команду:
udevadm monitor --environment
Чтобы просмотреть атрибуты определенного устройства, используйте следующую команду:
udevadm info -q all -a /path/to/device/as/seen/in/aformentioned/logs
Вы увидите ряд блоков атрибутов, таких как следующие
looking at device '/devices/...':
KERNEL=="event3"
SUBSYSTEM=="input"
DRIVER==""
looking at parent device '/devices/...':
KERNELS=="input23"
SUBSYSTEMS=="input"
DRIVERS==""
ATTRS{name}=="Speed Dragon USB Advanced Audio Device"
ATTRS{phys}=="usb-0000:00:14.0-5/input3"
ATTRS{properties}=="0"
ATTRS{uniq}==""
looking at parent device '/devices/...':
KERNELS=="1-5"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{authorized}=="1"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{bConfigurationValue}=="1"
ATTRS{bDeviceClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bMaxPacketSize0}=="16"
ATTRS{bMaxPower}=="100mA"
ATTRS{bNumConfigurations}=="1"
ATTRS{bNumInterfaces}==" 4"
ATTRS{bcdDevice}=="0100"
ATTRS{bmAttributes}=="80"
ATTRS{busnum}=="1"
ATTRS{configuration}==""
ATTRS{devnum}=="11"
ATTRS{devpath}=="5"
ATTRS{idProduct}=="8808"
ATTRS{idVendor}=="0d8c"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="Speed Dragon"
ATTRS{maxchild}=="0"
ATTRS{product}=="USB Advanced Audio Device"
ATTRS{quirks}=="0x0"
ATTRS{removable}=="removable"
ATTRS{speed}=="12"
ATTRS{urbnum}=="7861"
ATTRS{version}==" 2.00"
Сопоставив свое устройство с последним блоком, я в конце концов понял, что в моем правиле udev должно быть указано SUBSYSTEMS=="usb"
вместо SUBSYSTEM=="usb"
. Это печальное открытие:(
После указания правильного правила:
Обратите внимание, что недопустимые или некорректные атрибуты просто игнорируются .
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0d8c", ATTRS{idProduct}=="8808", MODE="0666"
И Удев перезагрузился через:
sudo udevadm control --reload-rules
И устройство было отключено/подключено, прописаны правильные разрешения.