MacOS SierraではCUPS経由で印刷できません。

MacOS SierraではCUPS経由で印刷できません。

私たちは、約10台のHPプリンタで構成されたUbuntu 14.04で動作するCUPSサーバーを持っています。私たちは、サーバーに完全に印刷するために、Windows、Linux、およびMacクライアントを混在して使用します。

最近、一部のMacがSierraにアップグレードされるまで完全に機能しました。ユーザーがサーバーを介して印刷しようとすると、カップと同様にクライアントも正常に実行されます。ジョブはサーバーを介して処理され、ジョブログにはジョブが正常に印刷されていることが示されます。ただし、プリンタは何も出力しません。 MacクライアントはAirPrintを使用してプリンタに直接印刷できます。

私たちは以前のバージョンのcupを持っていたので、最新のcupを使用して新しい16.04サーバーを構築しましたが、同じ結果が得られました。部品が正しく機能するように、ポート9100のプリントサーバーからプリンタに直接印刷できます。

問題がカップではなくMacOS 12.12にあると仮定しても安全ですか?誰でも問題を解決するアイデアはありますか?

ベストアンサー1

MacOS コンピュータは独自の cup サーバーを使用します。最新のHPレーザープリンタの場合、カップはPostScript出力を生成しますが、ターゲットプリンタにはいくつかの特別な設定があります。 Linux システムのカップサーバーは PostScript 入力を解析し、独自の設定を使用して出力を再生成します。 Linuxでは、ほとんどのHPレーザープリンタの出力を生成するために、フィルタスクリプト/usr/lib/cups/filter/hppsが呼び出されます。問題は、Linuxのcupでは無視されるように見えるMacOSのPostScript出力です。空のファイルでhppsフィルタスクリプトを呼び出し、空のページを生成します。プリンタはこれを無視します。私たちはこの問題を解決するために2つの方法を見つけました。

1) MacOS 出力を gzip で圧縮し、Linux サーバーに送信します。カップサーバーは出力を解凍し、それをhppsフィルターにパイプします。フィルタは、独自のヘッダーとフッターとともにソースファイルをプリンタに送信します。特別な設定(バナーなど)がない場合、フィルタの出力はMacOS出力と同じです。この追加を達成するには

    ?compression=gzip

MacOSカップサーバーのカップURIで。呼ぶhttps://localhost:631お使いのブラウザ(ターミナルでインターフェイスを有効にするには、「cupsctl WebInterface = yes」を使用してください)。プリンタの変更を選択して認証し、IPPまたはIPPS印刷プロトコルを選択します。ターゲットURIには古いURIが含まれています。上記の行を次のように追加します。

    ipps://<ubuntu-cups-server>/printers/<printername>?compression=gzip

説明とモデル設定を保存して保存します。

2) HP プリンターと同じターゲット URI を使用して、Linux サーバーに RAW プリンターをインストールします。ただし、プリンタの製造元とモデルとしてRawを選択してください。たとえば、プリンタ名が「hp1」の場合、「hp1_raw」を2番目のプリンタとして追加します。 MacOS では、RAW プリンタ URI をターゲットとして使用します。

    ipps://<ubuntu-cups-server>/printers/hp1_raw

まだ小さなリスクがあります。誰かがLinuxのrawキューにPostScript以外のファイルを送信すると、プリンタはそのファイルをテキストとして印刷します。小さなPDFファイルを印刷すると、脂っこい用紙がたくさんできます。

おすすめ記事