web-dev-qa-db-ja.com

永続的なシンボリックリンクを作成し、生の印刷物を使用する権限を修正する方法

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
elgastelum
  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
2
elgastelum