web-dev-qa-db-ja.com

リモートCUPSサーバーを介して印刷しますが、プリンターのサブセットのみを表示します

Ubuntuラップトップ(karmic)からいくつかのネットワークプリンターに印刷したいのですが。私たちの組織では、数百台のプリンターを備えたCUPSサーバーを使用しています。私にできることは次のとおりです。

CUPS_SERVER=printers.company.com acroread document.pdf

次に、Adobe Readerは、選択可能なすべてのプリンターを表示します。ただし、大きなリストを表示するには数分かかるため、非常に面倒です。 (ここのデスクトップPCもこれに苦しんでいます。)

もう1つのオプションは、次のようなアドレスを持つ新しいプリンタを追加することです。

ipp://printers.company.com/printer/bldg1_hp8150

(Ubuntuプリンター構成=ローカルCUPSサーバーへ)。しかし、それは私にドライバーを求めます。一部のプリンターがリストに表示されないため、ドライバーを指定したくない/常に指定できるとは限りません。リモートCUPSサーバーにドライバー部分を処理させ(CUPS_SERVERを設定したときのように)、前処理/「ドライバー関連」をこれ以上行わないようにします。

理想的なのは、リモートプリンターリストをローカルのcupsサーバーに追加し、フィルターを適用して、プリンターをbldg1_ *で表示できるようにすることです。この機能はKDE3。?で利用可能でしたが、Ubuntu/Gnomeで類似したものが見つかりません。助言がありますか?

5
jdm

さて、私が考えることができる2つのことがあります。

http:// localhost:631/admin / に移動し、"他のシステムと共有されているプリンタを表示する"ボックスをオンにします。次に、ネットワークに接続すると、すべてのプリンターが自動的に表示されます。

いいね。

もう1つのオプションは、手動でプリンターをカップに追加することです。コマンドラインから追加できるので、思ったほど苦痛ではなく、ワンライナーとして追加することもできます。

1台のプリンターを追加して使用できるようにするには、次のコマンドを実行します。

lpadmin -p itcolor -v ipp://printserver/printers/itcolor

cupsenable itcolor

cupsaccept itcolor

たとえば、サーバー上のすべてのプリンターを追加したいとしますprintserver.company.comジョブを受け入れており、名前はmarketingで始まります。

for each in $(lpstat -h printserver.company.com:631 -a | grep "accepting" | grep -E "^marketing" | cut -d " " -f 1)
do lpadmin -p $each -v ipp://printserver.company.com/printers/$each
cupsenable $each
cupsaccept $each
done
6
Kyle