研究/計算機/日常/非日常/リンク

■ リモートプリンタの利用

はじめに

EPSON LP-9200 PS プリンタからファイルを出力させるようにする. ネットワークプリンタの設定はここでは触れない. 最後にプリンタ出力の際のトラブルを載せた.

必要なパッケージ

  • lpr
  • gs-aladin-vflib
  • gsfonts

/etc/printcap の編集

lp|gfdpr|Remote printer entry:\
  :lp=:\
  :rm=リモートプリンタの FQDN, もしくは IP アドレス:\	
  :rp=リモートプリンタ名(型番等):\
  :sd=/var/spool/lpd/remote:\
  :mx#0:\
  :sh:

リモートプリンタ名は "PASSTHRU" とした.

参考までにデフォルトの項目の解説を行う.


lp|Generic dot-matrix printer entry:\	←プリンタの登録名称
   :lp=/dev/lp1:\			←出力するプリンタデバイス	
   :sd=/var/spool/lpd/lp:\		←スプールディレクトリ
   :df=/etc/filter.ps:\		        ←Texデータ(DVI)のフィルタ指定
   :tf=/etc/filter.pcl:\		←troffデータのフィルタ指定
   :af=/var/log/lp-acct:\		←name of accounting file
   :lf=/var/log/lp-errs:\		←エラー・ログ・ファイルの指定
   :pl#66:\			        ←1 ページの行数(この場合66)
   :pw#80:\			        ←1 ページの桁数(この場合80)
   :pc#150:\			        ←price per foot or page in 
   hundredths of cents
   :mx#0:\				←maximum file size (in BUFSIZ blocks)
                                          0 の場合は上限無し
   :sh: 				←ヘッダの出力を抑制

これは : で区切られた複数のフィールドを表している. 通常 1 行で 書くが \ をつければ複数行にまたがって書ける. 最初のフィールド はプリンタの登録名で始める. 2 番目以降は機能コードを示す. リ モートで印刷する場合なのでフィルタ指定は必要ないのでdf,tfなどの フィールドは書かない.

現在の /etc/printcap のエントリーはこ こを参照のこと.

daemon の再起動

/etc/printcap ファイルを編集後 daemon を再起動する.

# lpc restart all

トラブル例(spool ディレクトリ)

症状

printcap 編集後, lpr を実行するがエラーメッセージが吐き出さ れること無く印刷されない現象が起こった. spool ディレクトリであ る /var/spool/lpd/を見るとファイルが散乱しており, ファイルのタ イムスタンプを見るとlpr 実行直後にできたものと思われる.これらの ファイルは/var/spool/lpd/remote/ へ格納されるべきファイルである がされていないところを見るとspool ディレクトリが認識されていな い. /etc/printcap を見ても間違っている様子は見られない.

対処

spool ディレクトリに入るだろうファイルをすべて消去した. 次に spool ディレクトリにファイルが入らない理由が わからなかったので 最終的にプリント可能だった printcap ファイルを持ってきて 上書きした. これによって印刷可能状態になる. printcap が原因だったのかは不明.

参考文献

UNIX USER 2000 年 1 月号 'Happy UNIX Life 印刷してみよう 1'

Copyright © 2002 choji
Copyright © 2001 choji