CUPSの新しいバージョンが原因で、以前は/dev/usb/lpXXX
で利用可能であったプリンターへの直接パスが突然失われました。これを使用して、コマンドラインから直接印刷しました。 echo "test" > /dev/usb/lp0
。
検索した後、blacklist usblp
の/etc/modprobe.d/blacklist.conf
をコメントアウトして、これを修正する方法を見つけました。これは確かに機能しますが、これを実行すると、CUPSはどのプリンターとも通信できなくなります(私はそれが必要です)。それでは、どうすればプリンタへのある種の直接パスを設定し、CUPSを引き続き機能させることができますか?
注:一部の(レシート)プリンターはCUPSで認識されないため、lpr
はそれらでは機能しません。
上記の解決策がうまく機能することを確認できます。 CUPSを備えたOpenWRTを使用して、ルーター(TL-WR1043ND)経由で印刷します。 HP Laserjet P1005を使用しています。これには、電源を入れるたびにファームウェアをアップロードする必要があります。ファームウェアを/usr/lib
および次のコマンドを使用:
DEVICE_URI="usb://HP/HP%20LaserJet%20P1005?serial=BB0417Y" /usr/lib/cups/backend/usb 1 1 1 1 '' /usr/lib/sihpP1005.dl
どこ usb://HP/HP%20LaserJet%20P1005?serial=BB0417Y
をあなたのものに置き換える必要があります。/usr/lib/cups/backend/usbコマンドを使用して見つけることができます。
CUPSとディストリビューションのバージョンは何ですか? 1.4.x以降、CUPSはlibusb
を経由する代わりにlpusb
を使用してUSBデバイスノードと通信できます。
プリンタのブランドとモデルを教えてください。また、あなたのディストリビューションは何ですか?また、CUPSのバージョンは何ですか?最初の段落で説明されている問題が何であるかはわかりません。 USB経由でCUPSを使用して印刷を設定できます。それは(通常)大したことではありません。最初に設定した方法について詳しく教えてください。 CUPSにはlpr
ユーティリティがあり、Debianでは少なくともcups-bsd
パッケージに含まれており、通常の方法でCUPSをバックエンドとして使用して、コマンドラインから印刷することができます。すなわちlpr filename
。
通常、USBがセットアップされると、/etc/cups/printers.conf
は次のようになります。現在のプリンターはUSBを使用しています。
# Printer configuration file for CUPS v1.4.4
# Written by cupsd
# DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING
<DefaultPrinter SamsungLaser>
Info SamsungLaser
MakeModel Samsung ML-2850 Series PS
DeviceURI usb://Samsung/ML-2850%20Series
[...]
これは通常、コマンドラインコマンドlpadmin
を使用して設定されます。コマンドは次のようになります。
/usr/sbin/lpadmin -p printer -E -v device -P ppd_file
これをrootまたはlpadmin
グループのユーザーとして実行します。このデバイスはusb://something
です。お使いのプリンターに対応するUSBデバイスを見つけるには、
lpinfo -l -v
もちろん、それが接続され、スイッチがオンになっていることを確認する必要があります。誰かが/usr/lib/cups/backend/usb
の実行を提案しましたが、これも私にとってはうまくいきました。しかし、lpinfo
はより標準的です。そもそもどうして/dev/usb/lpXXX
を使うようになったのですか?
私のコンピューターでは、次の出力が得られます。
/usr/lib/cups/backend/usb
DEBUG: list_devices_libusb
DEBUG: usb_find_busses=2
DEBUG: usb_find_devices=5
direct usb://Samsung/ML-2850%20Series "Samsung ML-2850 Series" "Samsung ML-2850 Series" "MFG:Samsung;CMD:PCL5E,PCL6,POSTSCRIPT;MDL:ML-2850 Series;CLS:PRINTER;STATUS:BUSY;" ""
詳細については、 CUPSソフトウェア管理者用マニュアル を確認してください。 Appleは、最新のCUPSバージョンのドキュメントで奇妙なことをしたので、これはCUPS 1.1用ですが、まだ有効であるはずです。
注:それが問題であることが本当に確かでない限り、私はモジュールのブラックリスト化を開始しません。