NetBSD Advent Calendar 2017の6日目の記事です。
はじめに
最近は安価にレーザープリンターを購入できるが、さすがにPostScriptレーザープリンターは、なかなか安くは購入できない。 NTT-X Storeで安価にPostScript白黒レーザープリンターであるLexmark MS312dnが8,800円(税込)で購入できた。 ちなみに、これを書いている時点で在庫は残り3台である。
NetBSDからこのレーザープリンターを使ってみた。 lpd(8)を使った場合について書く。 いずれCUPSを使った場合について書きたい。
lpd(8)とlp(1)の使い方
NetBSDに限らず、lpd(8)と lp(1)を使う話になってしまうかもしれない。
lpd(8)で印刷する対象として登録する
lpd(8)の設定ファイルは、
printcap(5)であり、
編集すべきファイルは、/etc/printcap
である。
Lexmark社のウェブサイトから、Lexmark-ADS-PPD-Files.tar.Z
をダウンロードし、
展開した内容のうち、
Lexmark_MS310_Series.ppd
を、
/opt/share/print/Lexmark_MS310_Series.ppd
のように配置しておく。
その上で、/etc/printcap
に、以下のように追加する。
lp|lmprinter:\
:lp=:sh:sd=/var/spool/lpd/lp:\
:rm=lmprinter:\
:lf=/var/log/lpd-errs:mx#0:\
:af=/opt/share/print/Lexmark_MS310_Series.ppd:
ここで、lmprinterはネットワーク接続されたLexmark MS312dnのホスト名である。
我が家では、
pkgsrc/net/isc-dhcpd4
とNetBSD/amd64 7のbaseに収録されているbindで
dynamic DNSを設定しているのだが、Lexmark MS312dnにはうまくホスト名を割り当て
できなかった。
そのため、固定でIPv4のアドレスを割り当ててある。
lpd(8)を起動する
lpd(8)をデーモンとして起動しておく必要がある。
/etc/rc.conf
にlpd(8)を起動するように設定しておく。
# vi /etc/rc.conf
(以下を追加する)
lpd=YES
その上で、初回は手動で起動させる。
# /etc/rc.d/lpd start
もし、/var/spool/lpd/lp
ディレクトリーがない場合には、
以下のようにして作成しておく。
# mkdir -p /var/spool/lpd/lp
印刷する
lpd(8)にPostScriptファイルをlp(1)コマンドを使って送信する。
GhostScript
をインストールしてあれば、
虎の絵が/usr/pkg/share/ghostscript/9.06/examples/tiger.eps
に
格納されている。
これを印刷するのであれば、以下のように実行する。
$ cat /usr/pkg/share/ghostscript/9.06/examples/tiger.eps | lp -d lp
ここで、lp
と言うのが、/etc/printcap
に設定してある
Lexmark MX312dnの名前である。
NetBSDでは、Mozilla FirefoxやxpdfでPostScriptファイルを生成できるので、 これでWindows環境に頼ることなく、自由に印刷できる。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。