web-dev-qa-db-ja.com

Solaris 10、バナーのみを印刷

Linuxサーバーにcups(cups-pdf仮想プリンター)のリモートプリンターがあります。 BSD、Hp-ux、およびlinuxは正常に動作します。Solaris10では、この問題が発生します。ファイルのテキストではなく、バナーのみを印刷してください。私はこのようにプリンターを構成しました

svcadm disable svc:/application/print/server:default
svcadm enable svc:/application/print/server:default
lpadmin -x cupsprinter||echo
lpadmin -p cupsprinter -v /dev/null
lpadmin -p cupsprinter -m netstandard
lpadmin -p cupsprinter -o dest=remotesite -o protocol=bsd -o timeout=22
lpadmin -d cupsprinter
lpadmin -p cupsprinter -I postscript -T PS
accept cupsprinter
/usr/bin/enable cupsprinter

Linuxサーバーではエラーログに何も表示されませんこの問題の原因は何ですか?

1
elbarna

解決策が見つかりました。 Linuxでは、inetdを使用すると、UNIXクライアントからでもこの行が正しく出力されます。

printer         stream  tcp     nowait  lp      /usr/lib64/cups/daemon/cups-lpd cups-lpd -o document-format=application/octet-stream -o job-sheets=none,none

重要な部分は「-odocument-format = application/octet-stream -o job-sheets = none、none」です。

Xinetdを使用する場合は、このファイルを使用してください

service printer
    {
        socket_type = stream
        protocol = tcp
        wait = no
        user = lp
        server = /usr/lib64/cups/daemon/cups-lpd
        server_args = -o document-format=application/octet-stream -o job-sheets=none,none
    }
2
elbarna

代わりに、テストとしてより大きなテキストファイルを送信してみてください。特に、テストテキストファイルが1ページ未満の短いドキュメントである場合はそうです。プリンタデーモンは、バナーに続く最初のページを印刷する前に、フォームフィードを待機している可能性があります。数年前のSolarisでの同様の問題を思い出してください。つまり、1999年。

あなたのコメントから、大きなファイルからでも出力が得られないように聞こえます。おそらく、改ページ文字を直接送信してみてください。

Dev/null uriは、少なくともテストのために、代わりにJetDirectまたは他の場所を指定して変更する価値がある場合もあります。

lpinfo -v

socket://192.168.0.105
1
kph0x1