web-dev-qa-db-ja.com

プリンターを/ dev / usbにマウントし、CUPSを使用します

CUPSの新しいバージョンが原因で、以前は/dev/usb/lpXXXで利用可能であったプリンターへの直接パスが突然失われました。これを使用して、コマンドラインから直接印刷しました。 echo "test" > /dev/usb/lp0

検索した後、blacklist usblp/etc/modprobe.d/blacklist.confをコメントアウトして、これを修正する方法を見つけました。これは確かに機能しますが、これを実行すると、CUPSはどのプリンターとも通信できなくなります(私はそれが必要です)。それでは、どうすればプリンタへのある種の直接パスを設定し、CUPSを引き続き機能させることができますか?

注:一部の(レシート)プリンターはCUPSで認識されないため、lprはそれらでは機能しません。

12
user11780

上記の解決策がうまく機能することを確認できます。 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コマンドを使用して見つけることができます。

1
Bas

CUPSとディストリビューションのバージョンは何ですか? 1.4.x以降、CUPSはlibusbを経由する代わりにlpusbを使用してUSBデバイスノードと通信できます。

0
ephemient

プリンタのブランドとモデルを教えてください。また、あなたのディストリビューションは何ですか?また、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用ですが、まだ有効であるはずです。

注:それが問題であることが本当に確かでない限り、私はモジュールのブラックリスト化を開始しません。

0
Faheem Mitha