LPRngによる印刷環境の設定方法と使用方法
はじめに
Vine Linux 3.0から、LPRngは標準の印刷システムではなくなりました。しかしながらまだまだCUPSには未対応のプリンタも多いため、LPRngを利用する事も可能です。
LPRngでの印刷環境の設定は、プリンタ設定ツール(以下、printtool)で使用するプリンタドライバを選択して、(必要なら)いくつかのオプションを設定するだけの簡単なものになっています。
残念ながら、printtoolは全てのプリンタに対応しているわけではありません。しかし、printtoolが対応していなくてもメーカやサードパーティ等で独自にプリンタドライバが用意されている場合もあります。例えば、一部のEPSON製プリンタについては、エプソン アヴァシス社のサイトでドライバが公開されています。
LPRngを導入するには、まず必要なパッケージをインストールします。APTが使える場合、printtoolをインストールすれば、LPRngを含めた必要なパッケージがインストールされます。
$ sudo apt-get install printtool
次にLPRngが標準の印刷システムとなる様に設定します。以下のコマンドを実行してLPRngを選択してください。
$ sudo /sbin/update-alternatives --config print
また、printtoolを起動するためには、『ログイン画面の設定』(gdmsetup)を起動して『セキュリティ』タブにある『X サーバへの TCP 接続を常に禁止する』のチェックを外す必要があります。(設定後、再ログインが必要。)
Vine Linux 2.6r4からのアップグレード環境の場合
2.6r4からのアップグレード環境の場合は、必要なパッケージはインストールされていますがそのままでは使用できません。LPRngを使用できる様にするには次のコマンドを実行してください。
$ sudo /sbin/update-alternatives --auto print
ユーザが printtool で設定すると、プリンタ出力を設定するファイル/etc/printcap に、入力ファイルを判別して変換するフィルタ(マジックフィルタ)を自動的に設定します。
また、いくつかの BSD lpr システムではリモートプリントの場合入力フィルタが働きませんが、Vine Linux ではリモートプリンタの場合でも入力フィルタを使用することが可能です。
このマジックフィルタは vine-printfilters という名称がついており、次のファイル形式を印刷することが可能です。
日本語(JIS・EUC・Shift-JISコード)テキストファイル
PostScript ファイル
TeX DVI ファイル
画像ファイル(GIF、JPEG、TIFF、BMP、PGM、PBM、PPM、Sun Raster Image)
RPM ファイル (ヘッダ情報のみ印刷される)
これらのファイルを印刷するためには単にコマンドラインで次のように入力するだけです。
$ lpr ファイル名
設定方法(1) - 接続方法の指定
printtool を設定するためには、管理者(root) 権限が必要です。
printtool は control-panel から起動するか、コマンドラインから
$ sudo printtool
と実行することにより起動してください。
printtool
まず、新しいプリンタキューを作成するために 「追加」ボタンを押してください。すると、「プリンタエントリの追加」ウィンドウが表示され、プリンタの種類(接続方法)を聞いてきます。
図:プリンタエントリの追加
対応する接続方法
接続方法は次の 4 種類に対応しています。
ローカルプリンタ
ローカルプリンタは、ローカルマシンのプリンタポートに接続されたプリンタです。プリンタが直接接続されている場合が該当します(※ USB プリンタや IrDA プリンタには対応していません)。
リモートプリンタ
リモートプリンタは、LAN上にあるlpd プロトコルを受け付けるプリンタです。次のプリンタへ印刷するときにこれを使用します。
ネットワークアダプタ内蔵のプリンタ
プリントサーバに接続されたプリンタ
他の Linux(UNIX) マシンに接続されたプリンタ
SMB/Windows 95/98/NT プリンタ
SMB プリンタは、SMBサーバに接続されているプリンタです。Windows マシンか samba が動いているマシンに接続されているプリンタへ印刷するときにこれを使用します。
NetWare プリンタ(NCP)
NCP プリンタは、NCP サーバに接続されているプリンタです。NetWare マシンか mars_nwe が動いているマシンに接続されているプリンタへ印刷するときにこれを使用します。
ローカルマシンにプリンタが接続されており、他のマシン上のLinuxやWindowsから印刷したい場合(プリントサーバとして設定したい場合)は、ローカルプリンタの設定を行います。このとき、以下で説明するプリンタエントリには、Linux用とWindows用の2つを作成する必要があります。また、片面印刷と両面印刷を区別して行いたい場合なども、それぞれのプリンタエントリを作成することになります。
プリンタエントリの設定
プリンタの種類を選択した後には、以下の「プリンタエントリ」の項目を設定する必要があります。
キュー名
キューの名前です。エントリを '|' で区切ることで、名前を複数個つけることができます。
スプールディレクトリ
実際に印刷するまでデータをローカルマシン上にためておくディレクトリです。1つのスプールにはキューを2つ以上割り当てないでください。
最大ファイルサイズ
印刷ジョブが受け付けるファイルサイズの最大値です。サイズを0にすると制限がなくなります。
入力フィルタ
印刷するファイルをプリンタが理解できるフォーマットに変換します。使用するプリンタにあったフィルタを選択してください。
ローカルプリンタ固有の設定
ローカルプリンタの場合は以下も必要になります。
図:ローカルプリンタ固有の設定
プリンタデバイス
プリンタが接続されているポートの名前で、パラレルポートが一つしかない場合に接続された場合は /dev/lp0 になります。シリアルプリンタの場合は /dev/ttyS?(/dev/ttyS0、/dev/ttyS1 など)となるのが普通です。シリアルの場合は各種設定を手動で行う必要があります。
リモートプリンタ固有の設定
リモートプリンタの場合は以下が必要です。
図:リモートプリンタ固有の設定
リモートホスト名
プリンタが動いているリモートマシンの名前です。
リモートキュー名
リモートマシン上のプリンタのキュー名です。プリンタ内蔵のネットワークカードの場合はそのプリンタのマニュアルを、プリントサーバの場合はプリントサーバのマニュアルを、他の Linux (UNIX) マシンに接続されたプリンタの場合は(例えば、BSD lpr システムなら /etc/printcap の)設定を調べてください。
この他に、リモートマシンでは、ローカルマシンが要求するプリンタで印刷できるように設定してやる必要があります。一般には hosts.lpd に設定します。
SMB プリンタ固有の設定
SMB プリンタの場合は以下の設定が必要です。
図:SMB プリンタ固有の設定
プリンタサーバ名
使用するプリンタが接続されているマシンの名前です。
サーバのIPアドレス
このパラメータを使うことによって印刷サーバを自動的に決めるかわりに、特定の IP アドレスをもったマシン上の印刷サーバにすることができます。
プリンタ名
印刷に使用するプリンタの名前を指定します。
SMBパスワード
(必要なら)プリンタを使うためのパスワードを指定します。パスワードを知らない場合は知っている人に聞いてください。
NCP プリンタ固有の設定
NCPプリンタの場合は以下の設定が必要です。
図:NCP プリンタ固有の設定
プリンタサーバ名
使用するプリンタが接続されているマシン/ネットワークアダプタ/プリントサーバの名前(または IP アドレス)です。
プリンタ名
印刷に使用するプリンタの名前を指定します。
NCP ユーザ名
プリンタにアクセスするためのログインユーザ名を指定します。
NCP パスワード
(必要なら)プリンタを使うためのパスワードを指定します。パスワードを知らない場合は知っている人に聞いてください。
設定方法(2) - プリンタの選択
「入力フィルタ」の「選択」ボタンを押すと、フィルタの選択ダイアログが起動します。
図:プリンタの選択
ASCII テキストを印刷したいだけだったら「テキスト印刷のみのプリンタ」を選択してください。テキスト印刷のみとは、画像ファイルは印刷できないということです。
日本語フォントをもっている PostScript プリンタを使用するなら、「日本語 PostScript プリンタ」を選択してください。
そうでないなら、リストのなかから持っているプリンタに近いモデルのプリンタを見つけてください。これは、その種類のプリンタ用にghostscriptを使った印刷システムを設定します。
多くのプリンタは他のものと互換性をもっています;例えば、多くのプリンタは EPSON の ESC/P モードをもっています。他のドライバを試して、PostScript テストページを印刷してみてください。ちょっとした実験が必要です。設定するプリンタの近くにいて、誤ったドライバを選択したとき、プリンタが無駄紙を出力し始めたときにすぐにプリンタのスイッチ切るようにするのが得策です。
Vine Linux が対応するプリンタドライバは次のようになっています。
ALPS MD シリーズ
ALPS MD-1300/1500 (白黒印刷のみ)
ALPS MD-5000
ALPS MD-5000 (白黒印刷のみ)
ALPS MD-5000 エコブラック (白黒印刷のみ)
Apple Dot Matrix
Apple Imagewriter, high-resolution
Apple Imagewriter, letter quality
Apple Imagewriter, low-resolution
C.Itoh M8510
Canon BJ-100/200/210/240
Canon BJ-10e
Canon BJ-10v 系モノクロバブルジェット (1)
Canon BJ-10v 系モノクロバブルジェット (2)
Canon BJC-600 and BJC-4000
Canon BJC-610 (uniprint ドライバ)
Canon BJC-680/880J
Canon BJC-800
Canon LASER SHOT LBP-310
Canon LASER SHOT LBP-320(Pro)/LPB-350
Canon LASER SHOT LIPS II+
Canon LASER SHOT LIPS III
Canon Color LASER SHOT LIPS IV (ベクター版)
Canon Color LASER SHOT LIPS IV
Canon LBP-8II
DEC LA50 dot matrix
DEC LA70 dot matrix
DEC LA75 Plus dot matrix
DEC LA75 dot matrix
DEC LJ250 (Alt)
DEC LJ250
DEC LN03
EPSON AP3250 & ESC/P 2 printers
EPSON LP-2000/3000/7000/7000G
EPSON LP-xx00 シリーズレーザープリンタ
EPSON MJ-500C/800C/3000C/510C
EPSON MJ-8000C
EPSON MJ-830C/930C/6000C
EPSON MachJet / Stylus Color (uniprint ドライバ)
EPSON MachJet シリーズ
EPSON Color Dot Matrix, 24 pin
EPSON Color Dot Matrix, 9 pin
EPSON Dot Matrix, 24 pin
EPSON Dot Matrix, 9 pin, hi-res
EPSON Dot Matrix, 9 pin, med-res
EPSON Dot Matrix, 9 pin
EPSON MachJet シリーズ
EPSON Stylus 800 & ESC/P 2 printers
Fujitsu FMLBP2xx 系ページプリンタ
Fujitsu FMPR
HP DesignJet 650C
HP DeskJet 4.1/500C/520/540C
HP DeskJet 500
HP DeskJet 505J (Plus)
HP DeskJet 550C/560C/6xxC シリーズ
HP DeskJet 670/680/690 シリーズ
HP DeskJet 710/720C (カラー未対応)
HP DeskJet 850/855/870/1100 シリーズ
HP DeskJet 880C/895Cxi
HP DeskJet/DeskJet Plus
HP Deskjet 550C (UP)
HP LaserJet 4 - ディザ
HP LaserJet 4/5/6 シリーズ
HP LaserJet 4V/4LJ Pro - ディザ
HP LaserJet 4V/4LJ Pro
HP LaserJet III* - デルタ圧縮
HP LaserJet III* 両面印刷対応
HP LaserJet IId/IIp/III* - TIFF 圧縮
HP LaserJet Plus
HP LaserJet
HP PaintJet XL300 and DeskJet 1200C
HP PaintJet XL
HP PaintJet
IBM 3853 JetPrinter
Imagen ImPress
Mitsubishi CP50
NEC MultiWriter/PC-PR1000/2000 シリーズ
NEC P6/P6+/P60
NEC PC-PR150
NEC PC-PR201
NEC PICTY180 (PC-PR101J/180)
NEC Prinwriter 2X (UP)
Okidata MICROLINE620CL
Okidata Microline 182
Ricoh 4081 laser printer
SUN rasterfile (UP)
Star JJ-100
StarJet 48
Tek 4693d color printer, 2 bit mode
Tek 4693d color printer, 4 bit mode
Tek 4693d color printer, 8 bit mode
Tektronics 4695/4696 inkjet plotter
Xerox XES printers
テキスト印刷のみのプリンタ
日本語 PostScript プリンタ
非日本語 PostScript プリンタ
設定方法(3) - フィルタの設定
プリンタの用紙サイズを選択する
すべてのプリンタがリストされた全ての用紙サイズに対応するわけではないので注意してください。また、違う用紙サイズを使う場合に調整が必要なプリンタもあります。
解像度と色深度を選択する
解像度はプリンタの出力品質を制御します。一つの解像度しか選択できないプリンタもあります。またEPSONのドットマトリックスプリンタのように様々な解像度をサポートするプリンタもあります。解像度と色深度に関する追加情報を読んでください。
プリントオプション
"排紙処理のために EOF を送信しますか?"
プリンタにジョブが終了したときに強制的に排紙させます。これで送られるデータを受け付けるまで印刷しないプリンタもあります。もし余計な白紙が印刷されるときは、このオプションをオフにしてみてください。
"階段状に印刷される症状を修正しますか?"
もし階段状にテキストファイルが印刷されるならオンにしてください。
次のオプションは「テキスト印刷のみ」として設定したプリンタには働きません。
"テキスト高速印刷(PSプリンタ以外・内蔵日本語フォントが必要)"
PostScript プリンタ以外のとき使用します。もしこのオプションがオンのとき、Ghostscript のデバイス名により ESC/P・ESC/Page・LIPS III・NPDL のコードを直接出力することができ、高速に日本語テキストを印刷することができます。
それ以外の場合はテキスト (ASCII) ファイルが直接プリンタに送られます。これは、このオプションがオフのときよりも通常高速に印刷されますが、日本語フォントをもっていないプリンタでは日本語が文字化けますし、日本語フォントをもっているプリンタでも漢字コードが適切でないと文字化けします。もしこのオプションがオフの場合入力されたテキストは 'mpage' プログラムに送られ、PostScript に変換され、そしてghostscriptに送られ印刷されます。
このオプションをオンした場合複数ページを1枚に印刷する機能が使えなくなってしまいます。その機能は 'mpage' プログラムを使う必要があるからです。
"8/4/2/1 ページを1枚に印刷"
このオプションで複数ページを1枚に印刷する機能が使えます。もし "高速テキスト印刷" オプションを選択したら、このオプションは働きません。"高速テキスト印刷" をつかうことによって 'mpage' を使わないようになってしまうからです。'mpage' を使うことによってこの機能が実現されています。
"両面印刷設定"
このオプションでは両面印刷機能をもっている一部のプリンタで両面印刷の制御が行えます。「両面印刷」をチェックすると両面印刷になり、「片面印刷」をチェックすると片面印刷にすることが可能です。
両面印刷に対応している機種を次にあげます。
PostScript Level2 プリンタ
PostScript 3 プリンタ
LIPS IV 対応機
ESC/Page 対応機
NPDL 対応機
"マージン"
8、 4、 または 2 ページを1枚に印刷するを選択したときページのマージンを調整することができます。もし 1ページを1枚に印刷するを選択したときは、これでマージンの調整をすることはできません。これは任意の PostScript の入力を扱う 'mpage' の制限によります。
"追加 GS オプション"
EPSON Stylus ドライバのようにいくつかのドライバは、ドライバによる印刷品質を制御する追加オプションを受け付けます。それらのオプションをここに記述してください。
印刷フィルタは何をしているのか?
もし「テキスト印刷のみ」のプリンタを選択した場合、フィルタは単にプリンタに直接印刷されたものを送るだけです。
そうでない場合、印刷システムは可能なら印刷したファイルから PostScript 出力を生成するように設定されます。例えばこの変換は TeX の .dvi ファイルを印刷した場合になされます。もし dvips をインストールしてある場合、その印刷された .dvi ファイルは自動的に PostScript フォーマットに変換されます。そしてプリンタに送られます。もしプリンタが PostScript を印刷するために ghostscipt が必要な場合、ghostscript が自動的に実行されます。
インストールされてソフトウェアに依存して、印刷システムはプリンタが扱えるファイルフォーマットに印刷されたファイルの変換を試みます。もし、印刷システムがそのファイルを印刷できない場合は、そのかわりにエラーメッセージを印刷します。
また、印刷システムは ELF 実行ファイルのような通常印刷する意味のないファイルの印刷を排除します。それらは排除され、エラーメッセージがかわりに印刷されます。
もし印刷システムをつかった変換を使わないで何でも印刷してしまうキューをセットアップしたい場合、プリントフィルタを使わない別のキューをセットアップしましょう。そのキューを "raw" といったように名づけて、次のようなコマンドを使って印刷することにしましょう。
$ lpr -Praw ファイル名
アプリケーションからの印刷
Mozilla
Mozilla は WWW 閲覧アプリケーションとしてよく使われるものです。Mozilla を利用すると、Mozilla で表示できるファイル形式であれば、どれでも印刷することが可能です。たとえば、次のようなファイル形式が印刷可能です。
HTML
日本語テキスト
GIF
JPEG
PNG
TIFF
Mozilla では printtool で設定ができていれば、他に特別な設定をする必要なしに印刷可能です。
まず、印刷したい WWW ページを Mozilla に表示させておきます。そこで次のうちどちらかを行なって下さい。
コマンドツールバーにある「印刷」と書かれたアイコンをクリックする。
「ファイル」メニューをクリックして「印刷」をクリックする。
すると「印刷」ダイアログが画面にあらわれます。用紙設定は「設定」ボタンから行なえます。ここで用紙サイズがレターサイズになっている場合は A4 サイズのボタンをクリックしてA4 サイズに直します。右下の「印刷」ボタンをクリックすると印刷が行なわれます。
また、「ファイル」の「ページ設定」から、縦置き横置き、拡大縮小、ヘッダフッタなどを設定できます。
ggv
ggv は PostScript/PDF ファイルビューワーです。内部では Ghostscript を呼び出して表示を行っています。
ggv では printtool で設定ができていれば、他に特別な設定をする必要なしに印刷可能です。
tgif
tgif はドローインググラフィックス作成アプリケーションです。
tgif では printtool で設定ができていれば、他に特別な設定をする必要なしに印刷可能です。
tgif で印刷するためには、まず、印刷したい Tgif のファイルを表示させておきます。デフォルトでは「印刷」を行なうと 「EPS ファイルを作る」ということを意味するので、これを「プリンタに出力する」に変更します。
そして、次のうちどちらかの方法をとってください。
「ファイル」メニューから「印刷/出力フォーマット」で一番上のプリンタのアイコンを選択する。
LaTeX(EPS) と書かれているアイコンをプリンタのアイコンになるまでクリックする。
その状態でファイルメニューから印刷を選ぶと印刷されます。