BSDマシン(FreeBSD/SunOS) から 雑誌室のコピー機 への印刷

理学部数学科にある BSD マシンから、雑誌室のコピー機 DocuCentre 450 に印刷する方法を紹介します。

印刷先の指定

BSD マシンからコピー機への印刷は、「両面印刷」のみをサポート しています。
BSD マシンからの印刷の場合、最終的には lpr コマンドを使います。 lpr コマンドに下記のオプションを指定することで、雑誌室のコピー機から 印刷できます。
用紙種別 コマンド
A3 lpr -Pcopy1-a3
A4 lpr -Pcopy1-a4
b4 lpr -Pcopy1-b4
b5 lpr -Pcopy1-b5
-P オプションのあとにつけるプリンタ名ですが、 copy1-a4 等は間にスペースをいれずに 一気に8文字続けて下さい。
コピー機から印刷する場合のメリットは何と言っても 「両面印刷」でしょう。 これを使わないと、使用履歴まで書いてまで印刷したメリットが ありません。機械室や端末室の PSプリンタよりも印刷速度は速いですが、 解像度は同じ 600 DPI です。片面印刷には PS プリンタを利用するか、 Solaris から lp コマンドをご利用下さい。
以下、印刷例をあげておきます。
A3 用紙へ hoge.ps の出力
cat hoge.ps | lpr -Pcopy1-a3 とか
lpr -Pcopy1-a3 hoge.ps
A4 用紙への hoge.dvi の出力
dvips -P copy1-a4 hoge.dvi

印刷の設定(管理者編)

DocuCentre450(以下 DC450) への印刷は、マニュアル 「フィルター(UNIX用)ユーザーガイド」の 2.4 の設定を利用して います。とりあえずプリンタサーバ相当の BSD マシンを決めます。 99/05 の段階では cosmos をプリンタサーバにしています。

cosmos (プリンタサーバ)の設定

フィルター関係のプログラム(shell script)は、既に実績のある PS プリンタ用のものを流用しました。
/etc/printcap
/etc/printcap に 次の内容を 追加します。
フィルタの設定
/usr/local/libexec/copy1.lpf を追加します。 fxps.lpf とほぼ同様ですが、 無条件に両面印刷を行なうように なっています。手ざしトレイの設定は不要ですが、特に削除 していません。(オリジナルからできるだけ変えたくなかった....)
プリンタのスプールディレクトリを整理します。
/var/spool/lpd/copy1 以下の設定を行ないます。 fxps の設定と全く同じです。つまり.........
/var/spool/lpd/copy1/b4/if は /var/spool/lpd/fxps/b4/if と 内容は同じです。他の用紙サイズも同様です。
lpc コマンドを実行します。
lpc を実行後、入力を促されますので、 restart all と入力し、 quit で抜けます。

bara, momo等 BSD マシンのクライアントとしての設定

/etc/printcap
/etc/printcap に 次の内容を 追加します。
プリンタのスプールディレクトリを整理します。
/var/spool/lpd/copy1 以下の設定を行ないます。
cd /var/spool/lpd/copy1; mkdir a3 a4 b4 b5 だけすれば十分です。
lpc コマンドを実行します。
lpc を実行後、入力を促されますので、 restart all と入力し、 quit で抜けます。

orchid (SystemV マシン)のクライアントとしての設定

/usr/bin/admintool でプリンタの登録を行なう
GUI ベースを利用してプリンタの登録をします。
  1. Browse メニューから Printers を選ぶ
  2. Edit メニューから Add を選ぶ
  3. Add メニューの横に Access to Printer メニューが出るので それを選ぶ
  4. プリンタ名(copy1-a4等)とフィルタリングしてくれる サーバ名(cosmos)を入力する。
  5. これらの一連の操作で、少なくとも下記のファイルが 更新されます。
    1. /etc/printers.conf
    2. /etc/dt/appconfig/types/ja/copy1-a3.dt 等

bara へマニュアル通りの インストール(管理者編)

SunOS 用には、 Installer があるので、マニュアルにそってインストールしてみます。 インストール時の ログはここです。そのあとの手順は下記の通りです。
  1. フィルターのインストールの後、 /etc/printcap を 修正しないと使えません。 bara でマニュアル通りに /etc/printcap を 修正した場合、 次のエントリを追加することになります。
  2. このあと、スプールファイルの設定を適切に設定します。
  3. フィルターを適切に設定する必要があります。具体的には、 /usr/lib/fxps/fxpif_A4-D.sh を作ります。
  4. lpr -P copy1 hoge.ps で A4 用紙に両面印刷が出来るように なります。

PS ファイルへの出力オプションの調べ方

両面印刷の際は、フィルターが与えられた PS ファイルに 1行「両面印刷せよ」という命令を追加します。 FreeBSD 等からの 印刷では、これを shell scirpt がやっています。
そのようなものの調べ方ですが、 bara で次のようにすると わかります。
% cat hoge.ps | /usr/lib/fxps/fxpif -D > hoge.ps2
% diff hoge.ps hoge.ps2
8a9
<</Duplex true /Tumble false>> setpagedevice
上記のように、両面印刷のみのオプションを追加した場合は、 1行だけが変わっていることがわかります。

参考文献

  1. フィルター(Unix用)ユーザーズガイド

hdoi@math.okayama-u.ac.jp
Last modified: Sun May 30 11:11:52 1999