如何创建持久符号链接并修复使用原始打印的权限?

如何创建持久符号链接并修复使用原始打印的权限?

我有 Xubuntu 14.04,我想为我的 USB 打印机创建持久符号链接。另一方面,我无法写入这些设备:

$ ls -l /dev/usb/lp*
crw-rw---- 1 root lp 180, 0 jun 25 14:17 /dev/usb/lp0
crw-rw---- 1 root lp 180, 1 jun 25 14:17 /dev/usb/lp1
crw-rw---- 1 root lp 180, 2 jun 25 14:17 /dev/usb/lp2
  • 我如何才能将此权限更改为666
  • 如何使用创建持久符号链接:

    sudo gedit /lib/udev/rules.d/70-printers.rules
    

    它的内容如下:

    # Low-level USB device add trigger
    ACTION=="add", SUBSYSTEM=="usb", ATTR{bInterfaceClass}=="07", ATTR{bInterfaceSubClass}=="01", TAG+="udev-configure-printer", RUN+="udev-configure-printer add %p"
    # Low-level USB device remove trigger
    ACTION=="remove", SUBSYSTEM=="usb", ENV{ID_USB_INTERFACES}=="*:0701*:*", RUN+="udev-configure-printer remove %p"
    
    # printer1
    SUBSYSTEM=="usb", ATTRS{serial}=="3uL8tBCQUl2hMhoY12Vf", SYMLINK+="caliente"
    # printer2
    SUBSYSTEM=="usb", ATTRS{serial}=="JGHE24ikKU7plwR8x3c6", SYMLINK+="bar"
    # printer3
    SUBSYSTEM=="usb", ATTRS{serial}=="xVc0EQQd3nZzq6ziv8SS", SYMLINK+="fria"
    

    就当前状态而言,创建的符号链接为:

    ls -l /dev/bar 
    lrwxrwxrwx 1 root root 15 jun 25 14:12 /dev/bar -> bus/usb/003/002
    

    但是当我尝试在命令行中打印时,我得到了这个:

    echo "hi" >> /dev/bar
    bash: /dev/bar: Permission denied
    

    我希望有一个人可以帮助我!

答案1

  1. 在 Xubuntu 14.04 中,你需要在/etc/udev/rules.d/

    $ sudo nano 90-printers.rules
    
  2. 在此文件中添加以下代码:

    ACTION=="remove", GOTO="persistent_printer_end"
    
    SUBSYSTEMS=="usb", IMPORT{builtin}="usb_id"
    ENV{ID_TYPE}!="printer", GOTO="persistent_printer_end"
    
    ENV{ID_SERIAL}=="?*", SYMLINK+="lp/printers/$env{ID_BUS}-$env{ID_SERIAL}"
    
    LABEL="persistent_printer_end"
    

然后您可以在以下路径中看到新的和持久的符号链接:

$ ls -l /dev/lp/printers
lrwxrwxrwx 1 root root 13 jul 21 14:42 usb-Jolimark_USB_Printer_JGHE24ikKU7plwR8x3c6 -> ../../usb/lp2
lrwxrwxrwx 1 root root 13 jul 21 14:42 usb-Jolimark_USB_Printer_MQrvZsOINprsF6dIEor9 -> ../../usb/lp0
lrwxrwxrwx 1 root root 13 jul 21 14:42 usb-Jolimark_USB_Printer_xVc0EQQd3nZzq6ziv8SS -> ../../usb/lp1

它们指向以下路径:

$ ls -l /dev/usb/lp*
crw-rw---- 1 root lp 180, 0 jul 21 14:42 /dev/usb/lp0
crw-rw---- 1 root lp 180, 1 jul 21 14:42 /dev/usb/lp1
crw-rw---- 1 root lp 180, 2 jul 21 14:42 /dev/usb/lp2

相关内容