JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Solaris のシステム管理 (印刷)     Oracle Solaris 10 8/11 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  Oracle Solaris オペレーティングシステムでの印刷の概要

2.  印刷の計画 (作業)

3.  ネットワーク印刷サービスの設定 (作業)

4.  Oracle Solaris 印刷マネージャーを使用したプリンタの設定および管理 (作業)

5.  LP 印刷コマンドを使用したプリンタの設定 (作業)

6.  LP 印刷コマンドを使用したプリンタの管理 (作業)

7.  LP 印刷サービスとプリンタのカスタマイズ (作業)

8.  LP 印刷スケジューラの管理および印刷要求の管理 (作業)

9.  ネットワーク上のプリンタの管理 (作業)

10.  文字セット、フィルタ、フォーム、およびフォントの管理 (作業)

11.  PPD ファイル管理ユーティリティーを使用したプリンタの管理 (作業)

12.  Oracle Solaris オペレーティングシステムでの印刷 (参照情報)

Oracle Solaris 印刷マネージャー

Oracle Solaris 印刷マネージャーと特殊文字

プリンタ定義

プリンタ名

印刷サーバー

プリンタの説明 (備考欄)

プリンタポート

プリンタタイプ

ファイル内容形式

プリンタメーカー

プリンタモデル

プリンタドライバ

プリンタの送信先

ネットワークプロトコル

プリンタ障害通知

デフォルトプリンタ

バナーページ

ユーザーアクセスリスト

プリンタクラス

障害回復

LP 印刷サービス

LP 印刷サービスのコマンド

LP 印刷サービスの機能

デーモンと LP 内部ファイル

LP 印刷サービスのディレクトリ

LP 印刷サービスの構成ファイル

terminfo データベース

terminfo データベース内のプリンタ名

プリンタに必要な terminfo 項目

LP 印刷サービスのログファイル

印刷待ち行列ログ

履歴ログファイル

スプーリングディレクトリ

印刷ファイルのフィルタリング

プリンタインタフェースプログラムの動作

PPD ファイルを使用したプリンタ設定のサポート

ラスターイメージプロセッサ (RIP) のサポート

PostScript プリンタ記述 (PPD) ファイルのサポート

サポートされるプリンタおよび使用可能な PPD ファイルについての情報を見つけるには

PPD ファイル管理ユーティリティー

PPD ファイルリポジトリ

PPD ファイルラベル

Oracle Solaris 印刷マネージャーの「プリンタドライバ」フィールドの説明

メーカー別名ファイル

PPD ファイルキャッシュ

ppdmgr ユーティリティーのコマンド行オプションの説明

Oracle Solaris OS での PAPI 実装

変更された印刷コマンド

13.  Oracle Solaris OS での印刷に関する問題のトラブルシューティング (作業)

A.  インターネット印刷プロトコルの使用

用語集

索引

LP 印刷サービス

この節では、LP 印刷サービスのディレクトリ構造、ファイル、およびログについて説明します。

LP 印刷サービスのコマンド


注 - LP 印刷サービスのクライアントコマンドは、FSG OpenPrinting Open Standard Print API (PAPI) のコンシューマになるように変更されました。これらの印刷コマンドは PAPI の階層の上に置かれています。詳細は、「Oracle Solaris OS での PAPI 実装」を参照してください。


次の表に、頻繁に使用する LP 印刷サービスのコマンドを示します。

表 12-2 LP 印刷サービスのコマンド

コマンド
作業
マニュアルページ
enable
プリンタを使用可能にする
cancel
印刷要求を取り消す
lp
1 つ以上のファイルをプリンタに送る
lpstat
LP 印刷サービスの状態を出力する
disable
1 台以上のプリンタを無効にする
accept
印刷要求を特定の出力先の待ち行列に入れられるようにする
reject
印刷要求が特定の出力先の待ち行列に入れられないようにする
lpadmin
プリンタの構成を設定または変更する
lpfilter
フィルタの定義を設定または変更する
lpforms
あらかじめ印刷されたフォームを設定または変更する
lpadmin
フォームを取り付ける
lpmove
ある出力先から別の出力先に出力要求を移動する
lpsched
LP 印刷サービススケジューラを起動する
lpshut
LP 印刷サービススケジューラを停止する
lpusers
デフォルトの優先順位と、LP 印刷サービスのユーザーが要求できる優先順位の制限を設定または変更する

PAPI で使用するために変更された 印刷コマンドについては、「Oracle Solaris OS での PAPI 実装」を参照してください。

LP 印刷サービスの機能

LP 印刷サービスは、次の機能を実行します。

デーモンと LP 内部ファイル

/usr/lib/lp ディレクトリには、次の表に示すような LP 印刷サービスに使用されるデーモンとファイルが入っています。

表 12-3 /usr/lib/lp ディレクトリの内容

ファイル
種類
説明
bin
ディレクトリ
印刷警告、低速フィルタ、待ち行列管理プログラムを生成するファイルが入っている
model
ディレクトリ
標準プリンタインタフェースプログラムが入っている
postscript
ディレクトリ
LP 印刷サービスで提供されているすべての PostScript フィルタプログラムが入っている。これらのフィルタには、/etc/lp/fd ディレクトリ内の記述子ファイルが含まれる。これらのファイルは、フィルタの特性とその格納場所を LP 印刷サービスに指示する

LP 印刷サービスのディレクトリ

LP 印刷サービスのファイルは、次の表のようにいくつかのディレクトリに分散されています。

表 12-4 LP 印刷サービスのディレクトリ

ディレクトリ
内容
/usr/bin
LP 印刷サービスのユーザーコマンド
/etc/lp
LP サーバー構成ファイルの階層
/usr/share/lib
terminfo データベースディレクトリ
/usr/lib/print
lp 変換スクリプト、in.lpd デーモン、および printd デーモン。printd デーモンは /var/spool/print ディレクトリのすべての保留ジョブを 1 分間に 1 回転送する。転送するジョブがなくなると printd デーモンは終了する
/usr/sbin
LP 印刷サービスの管理コマンド。
/usr/lib/lp
lpsched プログラム、バイナリファイル、PostScript フィルタ、および model ディレクトリ。model ディレクトリには、標準プリンタインタフェースプログラムが入っている
/var/lp/logs
LP ログファイル。lpsched.n には lpsched からのメッセージが記録され、requests.n には完了した印刷要求についての情報が記録される
/var/spool/lp
ファイルが印刷待ち行列に入れられるスプーリングディレクトリ
/var/spool/print
LP 印刷サービスのクライアント側要求格納域
/etc/lp/model/uri
device-uri 情報を処理するインタフェーススクリプトの場所

LP 印刷サービスの構成ファイル

lpsched デーモンが/etc/lp ディレクトリに格納する構成情報を、次の表に示します。


注意

注意 - この表に一覧表示されている構成ファイルは非公開インタフェースです。これらのファイルは、今後のリリースで変更される可能性があります。現在の場所にあるファイルに依存する、または現在使用している形式のデータに依存するソフトウェアを構築しないようにしてください。


表 12-5 /etc/lp ディレクトリの内容

ファイル
種類
説明
classes
ディレクトリ
lpadmin -c コマンドで与えたクラスを識別するファイル
fd
ディレクトリ
既存のフィルタの記述
filter.table
ファイル
印刷フィルタ照合テーブル
forms
ディレクトリ
各フォームのファイルを格納する場所。最初は、このディレクトリは空になっている
interfaces
ディレクトリ
プリンタインタフェースプログラムファイル
logs
/var/lp/logs へのリンク
印刷動作のログファイル
model
/usr/lib/lp/model へのリンク
標準プリンタインタフェースプログラム
printers
ディレクトリ
各ローカルプリンタのディレクトリ。各ディレクトリには、個々のプリンタの構成情報と警告ファイルが入っている
pwheels
ディレクトリ
印字ホイールファイルまたはカートリッジファイル
ppd
ディレクトリ
ローカル待ち行列を PPD ファイルを使用して構成した場合、各 PPD ファイルのコピーがここに格納される

これらの構成ファイルは、LPD ベースの印刷サーバー上の /etc/printcap ファイルと同じ機能を提供します。


注 - これらのファイルの内容を確認できますが、ファイルを直接編集しないでください。代わりに、lpadmin コマンドを使用して構成を変更します。変更内容は /etc/lp ディレクトリ内の構成ファイルに入力されます。lpsched デーモンは、構成ファイルを管理して構成します。


/etc/lp/printers ディレクトリには、システムに認識されるローカルプリンタごとに 1 つずつサブディレクトリが入っています。次の例は、プリンタ sparc1luna/etc/lp/printers サブディレクトリを示します。

$ ls -l /etc/lp/printers
drwxrwxr-x 2 lp lp 512 Jan 23 23:53 luna
drwxrwxr-x 2 lp lp 512 Jan 11 17:50 sparc1

プリンタ固有の各ディレクトリ内には、次の表に示すファイルがあります。

ファイル名
説明
alert.sh
警告に応答して実行するシェル
alert.vars
警告変数
configuration
構成ファイル
users.deny
プリンタアクセスが拒否されるユーザーのリスト
comment
プリンタの説明 (備考欄)

通常、プリンタ luna の構成ファイル /etc/lp/printers/luna/configuration は、次のようになっています。

Banner: on: Always
Content types: PS
Device: /dev/term/b
Interface: /usr/lib/lp/model/standard
Printer type: PS
Modules: default

terminfo データベース

/usr/share/lib ディレクトリには、terminfo データベースのディレクトリが入っています。このディレクトリには多数のタイプの端末とプリンタに関する定義が入っています。LP 印刷サービスは、 terminfo データベース内の情報を使用し、以下の作業を行います。

各プリンタは、terminfo データベース内で短縮名を使用して識別されます。必要に応じて terminfo データベースにエントリを追加できますが、これは煩雑で時間のかかる作業です。詳細は、「サポートされていないプリンタの terminfo エントリを追加する」を参照してください。

terminfo データベース内のプリンタ名

各プリンタタイプに関する情報は、terminfo データベース (/usr/share/lib/terminfo) に格納されています。この情報には、プリンタの機能と初期制御データが含まれます。インストールするプリンタは、terminfo データベース内のエントリに対応していなければなりません。

$ pwd
/usr/share/lib/terminfo
$ ls
1  3  5  7  9  B  H  P  a  c  e  g  i  k  m  o  q  s  u  w  y
2  4  6  8  A  G  M  S  b  d  f  h  j  l  n  p  r  t  v  x  z
$ 

各サブディレクトリには、端末またはプリンタに関してコンパイル済みのデータベースエントリが入っています。各エントリは、プリンタまたは端末のタイプの頭文字別に編成されています。たとえば、Epson プリンタがある場合は、/usr/share/lib/terminfo/e ディレクトリ内を探すと、Epson プリンタの特定のモデルが見つかります。

$ cd /usr/share/lib/terminfo/e
$ ls
emots           ep2500+high   ep48            ergo4000      exidy2500
env230          ep2500+low    epson2500       esprit
envision230     ep40          epson2500-80    ethernet
ep2500+basic    ep4000        epson2500-hi    ex3000
ep2500+color    ep4080        epson2500-hi80  exidy
$ 

Epson プリンタのエントリは、epson で始まります。

NEC プリンタがある場合は、/usr/share/lib/terminfo/n ディレクトリ内を探すと、対象の NEC プリンタモデルが見つかります。

$ cd /usr/share/lib/terminfo/n
$ ls
ncr7900        ncr7900iv      netronics      network        nuc
ncr7900-na     ncr7901        netty          netx           nucterm
ncr7900i       nec            netty-Tabs     newhp
ncr7900i-na    net            netty-vi       newhpkeyboard
$ 

このディレクトリの nec エントリが NEC プリンタ用です。

プリンタに必要な terminfo 項目

次の 3 つの表に、プリンタで必要となる terminfo 項目の一覧を示します。

表 12-6 プリンタに必要な terminfo 項目 (ブール値)

項目
説明
ブール値
cpix
文字ピッチを変更すると解像度が変わる
daisy
プリンタで文字セットを変更するには演算子が必要
lpix
行ピッチを変更すると解像度が変わる

表 12-7 プリンタに必要な terminfo 項目 (数値)

項目
説明
数値
bufsx
印刷前にバッファーされるバイト数
cols
1 行の列数
cps
1 秒あたりの文字の平均印刷速度
it
最初はスペース n 個分ごとのタブ
lines
1 ページの行数
orc
1 文字あたりの水平解像度
orhi
1 インチあたりの水平解像度
orl
1 行あたりの垂直解像度
orvi
1 インチあたりの垂直解像度

表 12-8 プリンタに必要な terminfo 項目 (文字列)

項目
説明
文字列
chr
水平解像度を変更する
cpi
1 インチあたりの文字数を変更する
cr
キャリッジリターン
csnm
文字セット名のリスト
cudl
キャリッジを 1 行下に移動する
cud
キャリッジを n 行下に移動する
cuf
キャリッジを n 列右に移動する
cvr
垂直解像度を変更する
ff
紙送りする
hpa
水平絶対位置
ht
次の 8 スペースタブストップまでのタブ
if
初期化ファイル名
iprog
初期化プログラムのパス名
is1
プリンタ初期化文字列
is2
プリンタ初期化文字列
is3
プリンタ初期化文字列
lpi
1 インチあたりの行数を変更する
mgc
マージン (上、下、横) をすべて消去する
rep
文字を n 回繰り返す
rwidm
倍幅の印刷を使用不可にする
scs
文字セットを選択する
scsd
文字セットの定義を開始する
slines
ページの長さを 1 ページあたり n 行に設定する
smgl
現在の列の左マージンを設定する
smglp
左マージンを設定する
smgr
現在の列の右マージンを設定する
smgrp
右マージンを設定する
smglr
左右のマージンを設定する
msgt
現在の行の上マージンを設定する
smgtp
上マージンを設定する
smgb
現在の行の下マージンを設定する
smgbp
下マージンを設定する
smgtb
上下のマージンを設定する
swidm
倍幅の印刷を使用可能にする
vpa
垂直絶対位置を設定する

LP 印刷サービスのログファイル

LP 印刷サービスには、次の表に示すログファイルが 2 組あります。

ログファイル名
説明
syslogd
/etc/syslog.conflpr.debug を設定して LP 印刷サービスロギングを有効にする
/var/spool/lp
印刷待ち行列に入っている現在の待ち行列のリスト
/var/lp/logs/requests
進行中の印刷要求の履歴

印刷待ち行列ログ

各システムのスケジューラは、/var/spool/lp/tmp/system ディレクトリおよび/var/spool/lp/requests/system ディレクトリ内で印刷要求のログを保管します。各印刷要求は、要求に関する情報を含んだファイルを 2 つ (各ディレクトリに 1 つずつ) 持っています。/var/spool/lp/requests/system ディレクトリ内の情報には、スーパーユーザーまたは lp しかアクセスできません。/var/spool/lp/tmp/systemディレクトリ内の情報には、その要求を出したユーザー、スーパーユーザー、または lp しかアクセスできません。

次の例では、/var/spool/lp/tmp/starbug ディレクトリの内容を示します。

$ ls /var/spool/lp/tmp/starbug
5     5-0
# cat 5-0
C 1
D print1
F /etc/profile
P 20
T /etc/profile
t simple
U root
s 0000
v 2

これらのファイルは、印刷要求が待ち行列に入っている限り、そのディレクトリ内に残っています。印刷要求が完了すると、ファイル内の情報は組み合わされ 、/var/lp/logs/requests ファイルに追加されます。このファイルについては、次の節で説明します。

現在待ち行列に入っている印刷要求の状態を追跡したい場合は、/var/spool/lp/logs ディレクトリの情報を使用します。

履歴ログファイル

LP 印刷サービスは、lpsched requests という 2 つのログファイルに印刷サービスの履歴を記録します。これらのログファイルは、/var/lp/logs ディレクトリに入っています。これらのログファイル内の情報を使用し、印刷の問題を診断して解決できます。次の例は、/var/lp/logs ディレクトリの内容を示します。

# cd /var/lp/logs
# ls
lpsched.1    requests    requests.2
lpsched      lpsched.2   requests.1
# 

問題の解決にもっとも重要なログファイルは、次の 2 つです。

requests ログファイルの構造は単純なので、共通の UNIX シェルコマンドを使用してデータを抽出できます。要求は、出力された順番に並んでいます。要求 ID を示す行で区切られています。= で始まる区切り行より下の各行には、その行に含まれる情報の種類を識別する 1 つの文字が付いています。各文字は、空白文字 1 つでデータと区切られます。

次の例は、requests ログファイルの内容を示しています。

# pwd
/var/lp/logs
# tail requests.2
= print1-3, uid 0, gid 1, size 206662, Wed Mar 14 08:56:30 MST 2003
z print1
C 1
D print1
F /usr/dict/words
P 20
T /usr/dict/words
t simple
U root
s 0x0014
v 2
#

次の表に、文字コードとそれに対応する requests ログファイルの行の内容を示します。

表 12-9 requests ログファイルのコード

レター
行の内容
=
区切り行。 ユーザーの要求 ID、ユーザー ID (UID)、グループ ID (GID)、フィルタを通す前のファイルサイズの総バイト数、および要求が待ち行列に入れられた時刻が入っている
z
プリンタ名
C
印刷部数
D
出力先のプリンタかクラス、または any
F
印刷されたファイル名。この行は印刷されたファイルごとに区切られ、ファイルが印刷された順番で表示される
f
(省略可能) 使用するフォーム名。
H
(省略可能) 特殊処理。 resume、hold、または immediate
N
(省略可能) 印刷要求が正常に完了したときに使用された警告のタイプ。ユーザーが電子メールで通知を受けたときは M タイプ、端末へのメッセージで通知を受けた場合は W タイプ
O
(省略可能) プリンタ依存の -o オプション。たとえば、 nobanner
P
印刷要求の優先順位
p
印刷されたページのリスト
r
(省略可能) ユーザーが lp -r コマンドを使用してファイルの「生の」処理を要求したときに含まれる 1 文字の行
S
(省略可能) 使用された文字セット、印字ホイール、またはカートリッジ
T
バナーページに印刷されるタイトル
t
ファイル内で見つかった内容形式
U
印刷要求を出したユーザー名
s
16 進数形式の各ビットの組み合わせで表される要求の結果。印刷サービスの内部では複数のビットが使用される。ビットとその意味については、下表に記載
v
  • 0 - 印刷ジョブが、in.1pd 印刷デーモンか、ネットワーク上の他のシステムから発生したことを示します。
  • 2 - 印刷ジョブが、/usr/bin/lp または /usr/ucb/lpr コマンドによって発生したことを示します。

  • 1 - 印刷ジョブが、古いバージョンの印刷ソフトウェアから発生したことを示します。

x
(省略可能) 印刷要求に使用された低速フィルタ
Y
(省略可能) 要求の印刷に使用された印刷フィルタの特殊モードのリスト
z
(省略可能) 要求に使用したプリンタ。要求がプリンタまたはプリンタクラスの待ち行列に入れられた場合や、要求が別の出力先に移動された場合は、このプリンタは出力先 (D 行) とは異なる

次の表に、LP requests ログファイル内の結果コードとその説明を示します。

表 12-10 requests ログファイル内の結果コード

結果コード
説明
0x0001
要求は保留され再開を待機中
0x0002
低速フィルタを実行中
0x0004
低速フィルタを正常に完了
0x0008
要求はプリンタ上にある
0x0010
印刷を正常に完了
0x0020
要求は保留されユーザーによる変更を待機中
0x0040
要求は取り消し済み
0x0080
要求は次に印刷される
0x0100
フィルタ処理または印刷要求に失敗
0x0200
要求はリモートプリンタに転送中 (現在は使用されない)
0x0400
ユーザーに通知
0x0800
通知が動作中
0x1000
リモートシステムが要求を受け付け済み (現在は使用されない)
0x2000
管理者が要求を保留した
0x4000
プリンタのフィルタを変更しなければならなかった
0x8000
要求は一時的に停止された

スプーリングディレクトリ

印刷待ち行列に入れられたファイルは、印刷されるまで /var/spool/lp ディレクトリに格納されます。その間は数秒程度です。次の表は、/var/spool/lp ディレクトリの内容を示します。

表 12-11 /var/spool/lp ディレクトリの内容

ファイル
種類
説明
SCHEDLOCK
ファイル
スケジューラのロックファイル。スケジューラが停止し、再起動されない場合は、このファイルをチェックする
admins
ディレクトリ
/etc/lp へのリンク
bin
ディレクトリ
/usr/lib/lp/bin へのリンク
logs
リンク
完了した印刷要求のログが記録される ../lp/logs へのリンク
model
リンク
/usr/lib/lp/model へのリンク
requests
ディレクトリ
印刷要求が印刷されるまで記録される構成済みプリンタごとのサブディレクトリが入ったディレクトリ。ユーザーはこのログにアクセスできない
system
ディレクトリ
システムの印刷状態ファイル
temp
リンク
スプールされた要求が入っている /var/spool/lp/tmp/ hostname へのリンク
tmp
ディレクトリ
印刷要求が印刷されるまでログが記録される構成済みの各プリンタのディレクトリ。既存の印刷要求を変更した場合も、このディレクトリに記録される

印刷ファイルのフィルタリング

印刷フィルタは、待ち行列内のファイルの内容をある形式から別の形式に変換する、印刷サーバー上のプログラムです。

印刷フィルタは、必要に応じて単純な場合も複雑な場合もあります。Oracle Solaris OS では、出力先プリンタが PostScript 形式のデータを必要とする場合のほとんどに対応する印刷フィルタが、/usr/lib/lp/postscript ディレクトリに提供されています。PostScript 以外のプリンタ用のフィルタが必要な場合は、そのフィルタを作成し、目的のシステムに追加しなければなりません。

一連の「印刷フィルタ記述子ファイル」が /etc/lp/fd ディレクトリに用意されています。これらの記述子ファイルは、フィルタの特性 (高速フィルタや低速フィルタなど) を記述します。これらの記述子ファイルは、フィルタプログラム (/usr/lib/lp/postscript/postdaisy など) を指定します。

プリンタインタフェースプログラムの動作

LP 印刷サービスは、Oracle Solaris OS の他の部分と情報をやり取りします。また、標準プリンタインタフェースプログラムを使用して、次の作業を実行します。

LP 印刷サービスは、別のプログラムが指定されなければ、/usr/lib/lp/model ディレクトリにある標準インタフェースプログラムを使用します。カスタムのインタフェースプログラムを作成できます。ただし、カスタムプログラムがプリンタへの接続を終了させたり、正しいプリンタの初期化を妨げたりしないことを確認する必要があります。