udev 规则
udev Rules进阶Linux 按设备属性自动设权限、起固定名字的规则,免得插拔后编号乱变
udev 是 Linux 的设备管理器。内核给设备起的 /dev/ttyUSB0、/dev/video0 这类名字按发现顺序编号,插拔或重启后可能对调,接了多条机械臂、多个相机时很容易连错;普通用户也常因权限不够打不开设备。udev 规则就是放在 /etc/udev/rules.d/ 下、以 .rules 结尾的文本文件:每行先用 ATTRS{idVendor}、ATTRS{serial} 等条件匹配设备,再用 MODE、GROUP 设权限,用 SYMLINK 加一个固定名字,还能用 ATTR 改设备参数(如串口延迟)。udev 不会改掉设备原名,只是多建一个指向它的链接。同型号设备要靠序列号区分,可用 udevadm info 查到;改完执行 udevadm control --reload 和 udevadm trigger 生效。RealSense 安装步骤里的 setup_udev_rules.sh,装的就是给相机开权限的 udev 规则。
例子ALOHA 的安装说明让用户用 udevadm info 查出右主臂的序列号,再在 /etc/udev/rules.d/ 下的规则文件里写一行:用 ATTRS{serial} 匹配该序列号,用 SYMLINK+="ttyDXL_master_right" 起名,并把 latency_timer 设为 1;重新加载后,这条臂插哪个 USB 口都是 /dev/ttyDXL_master_right。
- 也叫
- udev、udev 规则文件
- 相关
- Ubuntu、串口(UART / USB 转串口)、驱动、RealSense 深度相机(D435i / D405)、ALOHA 双臂平台、Dynamixel 舵机
- 来源
- udev(7) - Linux manual page
tonyzhaozh/aloha README: Hardware installation (fixed udev symlinks for arms and cameras)
librealsense: Linux installation guide (setup_udev_rules.sh)