たとえば、CUPSに「HP 1020 LaserJet」ローカルUSBプリンタを正常にインストールしました。
接続を使用します。
別のHP 1020 LaserJetプリンタを購入しても印刷できない場合は、プリンタを変更して接続を変更する必要があります。なぜ?
これをどのように避けることができますか?
同じコンピュータで同じタイプのプリンタを使用することは論理的ではないことを知っていますが、これは私の環境です。
CUPSに同じタイプ、モデル、メーカーなどのすべてのプリンタに同じ接続を使用させるにはどうすればよいですか?
ありがとうございます! ! !
編集する:
私はこれが設定や他の標準的な方法では不可能であることがわかりました。
唯一の方法は、良い解決策を見つけることです。
答え1
修正はUDEVルールにあります。
これは標準的な手段では不可能だからです。
プリンターの追加を検出し、lpadmin -p PRINTERNAME -v CONNECTION?serial= を実行する UDEV ルールを作成するだけです。
したがって、プリンタは他の接続を使用するように自動的に再構成されます。
PS:誰かが私に正しい指示を与えたら、300ポイントを与えます。今300を返すことができたらと思います:D
答え2
キオスクアプリケーションの開発中、Raspberry Piでも同じ問題が発生しました。可能な解決策を見つけるために可能な手順に従いました(この場合、私が使用しているプリンタはCUSTOM TG2460です)。
- 実行する
lpinfo -v
と、接続されているデバイスのリストが返されます。
network https
file cups-brf:/
direct vnc:/
network ipp
network beh
network ipps
network socket
network lpd
network http
direct hp
direct usb://CUSTOM%20SPA/TG2460-H?serial=TG2460-H_NUM:_0
direct hpfax
network dnssd://HP%20LaserJet%20200%20color%20M251n%20(E9A2D9)._ipp._tcp.local/?uuid=564e4333-4230-3339-3439-a0d3c1e9a2d9
network dnssd://XEROX%20WorkCentre%203335%20(XRX9C934E79F15F)._printer._tcp.local/
network socket://192.168.10.12
network socket://192.168.10.123
network ipp://VodafonePS.local:631/ipp/print
network ipp://NPIE9A2D9.local:631/ipp/print
- 目的のプリンタを含む行をフィルタリングし、
grep
デバイスURIを使用して抽出しますcut
。
lpinfo -v | grep usb://CUSTOM | cut -d ' ' -f 2
>>> usb://CUSTOM%20SPA/TG2460-H?serial=TG2460-H_NUM:_0
- 既存のプリンタにURIを追加、CUPSエントリを更新
lpadmin -p PRINTER_NAME -v usb://CUSTOM%20SPA/TG2460-H?serial=TG2460-H_NUM:_0
これらの内容はすべて次の行にまとめることができます。
lpadmin -p PRINTER_NAME -v $(lpinfo -v | grep usb://PRINTER_MODEL | cut -d ' ' -f 2)
その後、再起動するたびにコマンドを実行します。新しいプリンタが接続されると、ユーザーはキオスクを再起動する必要があります。これをUDEVルールに簡単にバインドし、交換したいプリンタに変更が発生するたびに実行できると思います。