WSL2(Win11)下Realsense SDK权限异常:非sudo无法运行及ROS2适配问题
WSL2下Realsense SDK非sudo运行权限问题解决方法
1. 重新加载udev规则并更新用户组
- 即使已配置
99-realsense-libusb.rules,WSL2可能未正确加载规则,执行以下命令重载:sudo udevadm control --reload-rules && sudo udevadm trigger - 确认当前用户加入
plugdev和usb用户组(这两个组通常负责USB设备权限):groups $USER - 如果未包含上述组,执行添加命令后重新登录用户(WSL中可通过
su - $USER快速重载用户组):sudo usermod -aG plugdev $USER sudo usermod -aG usb $USER
2. 修正USB挂载后的设备权限
WSL2通过usbipd挂载的USB设备默认归root所有,需手动调整权限:
- 用
lsusb找到Realsense设备的总线号和设备号,例如输出中的Bus 001 Device 002 - 修改对应设备文件的权限:
sudo chmod 0666 /dev/bus/usb/001/002 - 若要自动设置权限,可在用户的
~/.bashrc中添加以下脚本(替换为你的设备总线/设备号):
添加后执行# 自动设置Realsense设备权限 if [ -e /dev/bus/usb/001/002 ]; then sudo chmod 0666 /dev/bus/usb/001/002 fisource ~/.bashrc生效。
3. 验证权限配置
- 查看设备权限是否为
rw-rw-rw-:ls -l /dev/bus/usb/<bus号>/<设备号> - 无需sudo运行
rs-enumerate-devices,确认设备能正常被识别。
4. ROS2环境适配
- 确保ROS2环境变量在非sudo用户下正确加载,避免因sudo无法读取用户环境变量导致的依赖缺失(这也是ROS2不建议sudo运行的核心原因)。
- 确认
realsense-ros功能包是在当前用户的ROS2工作空间中编译,且已通过source install/setup.bash加载环境。
内容的提问来源于stack exchange,提问作者Juanma
相关产品推荐
相关产品推荐

