确定正确的 /dev/usb/lp*

确定正确的 /dev/usb/lp*

有没有办法确定哪台打印机使用哪台/dev/usb/lp*?我正在构建一个系统,该系统应在重新连接时自动分配打印机。我不想使用udev规则强制分配。我可以在总线上找到所需的设备,但找不到它的/dev/usb/lp*

答案1

可能不是最干净的方法,但它有效。用您的打印机替换“Brother Industries, Ltd”(在 lsusb 中查找)

    #!/bin/bash
    ID=$(lsusb |grep "Brother Industries, Ltd"|cut -d " " -f 6)
    vid=$(echo $ID|cut -d ":" -f 1)
    pid=$(echo $ID|cut -d ":" -f 2)
    msg="vid 0x$vid pid 0x$pid"
    echo "/dev/usb/$(dmesg |grep -i "$msg" |tail -n 1 |cut -d " " -f 2|cut -c 4-6)"

相关内容