安価なPostScriptレーザープリンターLexmark MS312dnをNetBSDから使う(lpd(8)編)

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 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。

Windows 11 Pro 24H2からSambaのguest ok = yesな共有フォルダーへアクセスする

Microsoft Windows 11 Proを動かしているマシンで、sambaでguest ok = yesにしている共有フォルダーにアクセスしていた。 Windows 11を24H2にアップデートしたところ、その共有フォルダーを開こうとすると、ログインを求められ、...