在 Ubuntu 中,可以通过创建 udev
规则为 USB 设备设置别名。这样你可以通过自定义的别名访问设备,而不是使用随机分配的设备节点(例如 /dev/ttyUSB0
)。
1. 确认设备信息
首先,你需要找到设备的相关信息(如 idVendor
和 idProduct
)。你可以使用 lsusb
或 udevadm
命令来获取这些信息。
bash
lsusb
这个命令会列出所有 USB 设备,输出可能是这样的:
Bus 002 Device 005: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
假设你想给 PL2303 Serial Port
设备设置别名,这里的 idVendor
是 067b
,idProduct
是 2303
。
接着,使用 udevadm
查看更详细的信息:
udevadm info -a -n /dev/ttyUSB0
输出会包含诸如 idVendor
和 idProduct
这样的字段。
2. 创建 udev
规则
编辑或创建一个新的 udev
规则文件:
bash
sudo vim /etc/udev/rules.d/99-usb-serial.rules
在文件中添加类似于以下的内容:
bash
SUBSYSTEM=="tty", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", SYMLINK+="usb_serial"
其中:
ATTRS{idVendor}
和ATTRS{idProduct}
是你从lsusb
或udevadm
获取的设备信息。SYMLINK+="usb_serial"
表示为这个设备创建一个符号链接(别名)/dev/usb_serial
。
你可以将 usb_serial
替换为你想要的别名。
3. 重新加载 udev
规则
保存并关闭文件后,重新加载 udev
规则:
bash
sudo udevadm control --reload-rules
sudo udevadm trigger
4. 验证
插入设备后,你可以使用 ls -l /dev/
来查看是否创建了符号链接 /dev/usb_serial
:
bash
ls -l /dev/usb_serial
如果一切正常,应该能看到 /dev/usb_serial
指向对应的设备节点(如 /dev/ttyUSB0
)。