как узнать, создали ли ядро или udev узел устройства?

Эти данные определяются в приложениях .desktop файлы. Можно найти их в /usr/share/applications. Больше информации доступно в Настольной Спецификации Меню по freedesktop.org

6
17.04.2019, 01:35
1 ответ

Если вы хотите проверить порядок действий, то используйте:

udevadm monitor --property

, сделав это, вы получите список действий. При добавлении камеры одной из первых записей, скорее всего, будет что-то вроде:

KERNEL[110935.814197] add      /devices/.../video4linux/video1 (video4linux)
ACTION=add
DEVNAME=/dev/video1  <<<<---- devname

Как указывает @goldilocks:

К сожалению, если вы используете systemd, то эта версия udev имеет сложную "схему постоянных имен", которая жестко закодирована в udevd, так что вы правы, просто разбирая правила . d может оставить много загадок.

Также из man udev для systemd:

Следующие ключи могут получить значения, назначенные:

NAME Имя, которое будет использоваться для сетевого интерфейса. См. systemd.link(5) для более высокоуровневого механизма установки имени интерфейса. Имя узла устройства не может быть изменено udev, могут быть созданы только дополнительные сим-ссылки.


Именование и отладка

Ваш лучший вариант, вероятно, будет использовать что-то вроде:

udevadm test $(udevadm info -q path -n video1)

Это даст вам "пробный запуск" вашего правила(ов) и сообщит о любых ошибках. После добавления/изменения правила не забудьте перезагрузить:

udevadm control --reload-rules

Когда дело доходит до именования устройств, вы, вероятно, получите что-то вроде:

NAME="smile2thecamera" ignored, kernel device nodes can not be renamed; 
      please fix it in /etc/udev/rules.d/83-webcam.rules:6

Вместо этого вы можете использовать SYMLINK (если этого достаточно), как в:

:

KERNEL=="video[0-9]", .... SYMLINK+="video-logitech"

Должна ли я дать вам что-то подобное в тесте:

creating link '/dev/video-logitech' to '/dev/video1'
creating symlink '/dev/video-logitech' to 'video1'

DEVLINKS=.... /dev/video-logitech
5
27.01.2020, 20:28

Теги

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