私たちのレガシーアプリケーションは、Solaris 5.10でLPコマンドを使用して、組織全体のプリンタにレポートファイルを印刷しました。ただし、プリンタにアクセスできないリモートの場所があるため(少なくとも安定したネットワークにはない)、印刷スプーラがファイルを傍受するように設定し、次のように構成されたtxt2pdfユーティリティを実行しようとしました。電子メールによる送信出力は特定の電子メールアドレスに送信されます。これにより、これらの場所に対してのみ各アプリケーションの印刷方法を変更する必要がなくなります。
この古い印刷スプーラにはさまざまな用途に使用できるカスタムフィルタがあるので、これを使用できると考えていましたが、現在のフィルタのように、ジョブにフォームフィードを追加するのではなく、txt2pdfを介してファイルを実行して空のプリンタに出力しました。 。
case "$TERM" in
PS )
# make the "postscript" printers use postio to
# talk to the printer and periodically get a
# status from them
FILTER="/usr/lib/lp/postscript/postio"
;;
pptestterm)
FILTER="/usr2/dms/run/txt2pdf/txt2pdf - -landscape|lp -s -d NULL"
;;
(txt2pdfコマンドの唯一の「-」は、標準入力と標準出力を使用することを示します。)
明らかにこれはうまくいかず、LPがどのようにこれらのインターフェイス/フィルタをどのように適用するかを理解するのが困難です。
上記の設定を使用すると、ログファイルに表示されるエラーメッセージは次のとおりです。
06/04 14:56:53: printer fault. type: write root, status: c
msg: (txt2pdf: couldn't open temporary file ./txt2pdf18653)
これがどのように機能するかについての提案がありますか?