「ネットワークプリンタ」とは、ネットワークに直接接続されているハードウェアデバイスです。これは、ネットワークプリンタがプリンタサーバーにケーブルで実際に接続されていなくても、プリンタサーバーからアクセスできることを意味します。ネットワークプリンタは専用のシステム名と IP アドレスを持っています。ネットワークプリンタがプリンタサーバーに接続されていない場合でも、専用のプリンタサーバーを設定しておく必要があります。プリンタサーバーは、ネットワークプリンタの待ち行列化機能と印刷管理機能を提供します。
ネットワークプリンタは、ベンダー提供の印刷プログラムを必要とする特別なプロトコルを 1 つ以上使用することがあります。ベンダーから提供される印刷プログラムの設定手順は、それぞれ異なることがあります。プリンタにベンダー提供サポートが付いていない場合、ほとんどのデバイスについて Solaris のネットワークプリンタサポートを使用できます。可能な場合は、プリンタのベンダーが提供するソフトウェアを使用します。
ベンダーは、SVR4 プリンタインタフェーススクリプトを提供して標準プリンタインタフェーススクリプトを置き換えている場合があります。その場合、SVR4 インタフェーススクリプトはベンダー提供の印刷プログラムを呼び出して、ジョブをプリンタに送ります。このスクリプトが提供されない場合は、標準インタフェーススクリプトを変更してベンダー提供の印刷プログラムを呼び出す必要があります。この作業は、標準インタフェーススクリプトのプリンタごとのコピーをベンダー提供の印刷プログラムを呼び出すように編集することで実行できます。
ネットワークプリンタ構成で使用する用語を説明します。
プリンタサーバー - プリンタのジョブをスプールおよびスケジュールするマシン。このマシンにプリンタが構成されます。
プリンタホストデバイス - プリンタホストデバイスは、ベンダーが提供するソフトウェアとハードウェアです。ネットワークに対応していないプリンタにネットワークプリンタの機能をサポートします。 プリンタホストデバイスとそれに接続された 1 つまたは複数のプリンタの組み合わせは「ネットワークプリンタ」になります。
プリンタノード - 物理的なプリンタまたはプリンタホストデバイスのいずれかのことです。 ネットワークサポートが物理的なプリンタにあるときは、物理的なプリンタです。ネットワークインタフェースを提供するために外部ボックスを使用しているときは、プリンタホストデバイスです。プリンタノード名は、IP アドレスが与えられているマシン名です。この名前はシステム管理者が選択するもので、デフォルトやベンダーの要件はありません。ノードと同様に、プリンタノード名も一意でなければなりません。
プリンタ名 - 何らかのプリンタのコマンドを使用する時に、コマンド行に入力する名前。 この名前は、システム管理者がプリンタ構成時に選択します。1 つの物理的なプリンタは、複数のプリンタ名または待ち行列名を持つことができます。それぞれ、そのプリンタへのアクセスを提供します。
宛先またはネットワークプリンタのアクセス名- プリンタのサブシステムがプリンタへのアクセス用に使用するプリンタノードポートの内部名。 プリンタノード名か、プリンタベンダーポート指定付きのプリンタノード名です。プリンタベンダーポート指定は、プリンタベンダーのマニュアルで明示的に定義されています。これはプリンタに固有です。プリンタがプリンタホストデバイスでありプリンタでもある場合、ポート指定は、プリンタホストデバイスのマニュアルに説明されています。書式は次のいずれかです。
printer_node_name
または
printer_node_name:port_designation
プロトコル - プリンタとのケーブル経由の通信に使用するプロトコル。プリンタのマニュアルには、選択するプロトコルについての説明があります。ネットワークプリンタサポートは、BSD プリンタプロトコルと raw TCP の両方を提供します。実装によって、両方を使用するように設定できます。
タイムアウト (再試行間隔) - タイムアウトはプリンタへの接続試行の間の待機秒数をあらわすシード (seed) 数です。このシード数は、接続の試行間に待機する最小の秒数であり、接続が失敗するごとに増えます。プリンタへの接続が繰り返して失敗すると、ユーザーの介入を要求するメッセージがユーザーに戻されます。接続が成功するか、ジョブの所有者がジョブを取り消すまで、再接続の試行は続けられます。
一般に、ネットワークプリンタには、プリンタベンダーから提供されているソフトウェアが必要です。プリンタにベンダー提供のソフトウェアがある場合、可能ならば、プリンタベンダーのソフトウェアを使用します。プリンタベンダー提供のソフトウェアは、そのプリンタの特性をサポートするように設計されていて、プリンタの能力を最大限に活用します。プリンタのマニュアルをよく読んで、プリンタを LP 印刷システムにインストールおよび構成してください。
ネットワークプリンタベンダーがソフトウェアサポートを提供していない場合、Sun が提供するソフトウェアを利用できます。このソフトウェアは、ネットワークプリンタの汎用サポートを提供するもののため、必ずしもプリンタで利用できるすべての機能を使用できません。
ネットワークプリンタを追加するための一般的な説明については、第 4 章「プリンタの設定手順 (手順)」を参照してください。次は、Sun 提供のソフトウェアを使用したプリンタの管理を説明します。
ネットワークプリンタ用のソフトウェアサポートは、インタフェーススクリプト経由で呼び出されます。ネットワークインタフェーススクリプト netstandard でネットワークプリンタを構成すると、ネットワークプリンタサポートモジュールが呼び出されます。次に、ネットワークサポートでプリンタを構成するコマンドを示します。
lpadmin -p printer_name -m netstandard |
印刷サブシステムは、BSD 印刷プロトコルと raw TCP を使用してプリンタと通信します。プリンタのマニュアルには、使用するプロトコルについての情報が提供されています。一般に、プリンタに使用するのは TCP プロトコルです。
プロトコルを選択するコマンドは次のいずれかです。
lpadmin -p printer_name -o protocol=bsd |
または
lpadmin -p printer_name -o protocol=tcp
選択したプロトコルが BSD 印刷プロトコルの場合、さらにコントロールファイルをプリンタに送信する順番を選択できます。一部のプリンタは、コントロールファイルの後にデータファイルという順番を仮定しますが、その逆を仮定するプリンタもあります。詳しくは、プリンタベンダーのマニュアルを参照してください。 デフォルトでは、コントロールファイルを先に送信します。
順番を選択するコマンドは次のいずれかです。
lpadmin -p printer_name -o bsdctrl=first
または
lpadmin -p printer_name -o bsdctrl=last
システム管理者はプリンタノード名を選択します。ネットワーク上のノードと同様に、この名前は一意でなければなりません。プリンタノード名は、プリンタの IP アドレスと関連付けられます。
印刷サブシステムはプリンタのアクセス情報を必要とします。これは、プリンタへのネットワーク接続を行うときにサブシステムが使用する名前です。この名前は、システム管理者が lpadmin コマンドで印刷サブシステムに提供します。これは、プリンタ構成データベースの一部になります。プリンタアクセス名はプリンタノード名であり、ポート名で修飾される場合もあります。ポート指定はプリンタベンダー間で異なります。ポート指定については、プリンタのマニュアルを参照してください。次に、プリンタアクセス名の書式を示します。
printer_node-name[: port_designation]
TCP の共通ポート指定は 9100 です。プリンタノード名が pn1 で、プリンタベンダーがそのポートを 9100 と定義していた場合、プリンタアクセス名は pn1:9100 になります。この場合にプリンタを構成するには、次のコマンドを使用します。
lpadmin -p printer_name -o dest=pn1:9100
BSD プロトコルを使用するとき、ポート指定は番号でなく、プリンタベンダーが定義した名前です (例: xxx_parallel_1)。プリンタノード名が cardboard の場合、プリンタアクセス名はcardboard:xxx_parallel_1になります。この場合にプリンタを構成するには、次のコマンドを使用します。
lpadmin -p printer_name -o dest=cardboard:xxx_parallel_1 |
ポート指定がなく、プリンタノード名が newspaper の場合、プリンタアクセス名はプリンタノード名 newspaper になります。この場合にプリンタを構成するには、次のコマンドを使用します。
lpadmin -p printer_name -o dest=newspaper |
タイムアウトオプションは、プリンタに接続しようとする試行間で待機する時間 (秒数) を個別に選択するためのものです。ウォームアップ時間が長いプリンタの場合は、タイムアウト値を大きくします。デフォルトは 10 秒です。
タイムアウト値は、印刷プロセスが成功するか失敗するかには影響を与えません。これは、ソフトウェアが初期タイムアウトカウントとして使用するシード値です。失敗が続くと、このカウントは増えます。プリンタへの接続の試行が連続して失敗すると、メッセージがスプーラに送信されます。これによって、ユーザーの介入が必要であることをユーザーに警告します。プリンタの電源が入っていなかったり、用紙がなくなっていたりするときにも、このメッセージが生成される可能性があります。たとえば、プリンタがウォームアップしているときに、このようなメッセージが頻繁に生成されるようであれば、タイムアウト値を増やすことで間違ったメッセージを減らすことができます。
システム管理者は最適なタイムアウト値を探してください。次に、タイムアウト値を設定するコマンドを示します。
lpadmin -p printer_name -o timeout=n |
各ネットワークプリンタは、そのプリンタへのアクセスを提供するサーバーを 1 つだけ持っています。これによって、サーバーはそのプリンタへのアクセスを管理して、ジョブの一貫性を保つことができます。
ネットワークプリンタのデフォルトデバイスは /dev/null です。プリンタに待ち行列が 1 つしかない場合はこれで十分です。複数の待ち行列が必要であれば、そのデバイスをファイルに設定します。これによって、印刷システムはプリンタへのアクセスを待ち行列間で制限できます。次のコマンドは、デバイスファイルを作成して、ネットワークプリンタデバイスとして構成しています。
touch /path/filename chmod 600 /path/filename lpadmin -p printer_name -v /path/filename |
次の例では、devtreedown というデバイスファイルを作成しています。
# touch /var/tmp/devtreedown # chmod 600 /var/tmp/devtreedown # lpadmin -p treedown -v /var/tmp/devtreedown |
プリンタをネットワークに接続して、プリンタの電源を入れます。
ハードウェアのスイッチとケーブル接続の要件については、プリンタのインストールマニュアルを参照してください。IP アドレスを取得して、プリンタノード名を選択します。これは、ネットワークにノードを追加することと同じです。
プリンタのマニュアルに従って、ネットワークプリンタを追加してください。
プリンタのマニュアルを使用して、ネットワークプリンタを構成してください。手順は、ベンダーやプリンタに固有です。
新しいプリンタへのアクセスをクライアントに追加します。
これでプリンタは追加されました。プリンタへのアクセスをクライアントに作成します。詳細は、「印刷クライアントの設定」を参照してください。
オプションの作業を完了します。
ネットワークプリンタを設定するときは、オプションの作業がいくつかあります。残りの作業については、「印刷の設定 (作業マップ)」を参照してください。
ここでは、ネットワークプリンタサポートソフトウェアを使用して、ネットワークプリンタを設定するのに必要な手順を説明しています。このソフトウェアを使用するのは、プリンタにベンダー提供のソフトウェアが付いていない場合だけです。
プリンタをネットワークに接続して、プリンタの電源を入れます。
ハードウェアのスイッチとケーブル接続の要件については、プリンタのインストールマニュアルを参照してください。IP アドレスを取得して、プリンタノード名を選択します。これは、ネットワークにノードを追加することと同じです。
ネットワークプリンタを構成するのに必要な情報を収集します。
プリンタ名
プリンタサーバー
ネットワークプリンタアクセス名
プロトコル
タイムアウト
詳細は、「ネットワークプリンタの追加」で説明されている用語を参照してください。
プリンタ名、デバイス、プリンタタイプ、内容形式を定義します。
プリンタ名とプリンタが使用するポートデバイスを定義します。
# lpadmin -p printer-name -v /dev/null |
使用するデバイスは /dev/null です。
プリンタが使用するインタフェースを指定します。
# lpadmin -p printer-name -m /netstandard |
ネットワークプリンタサポートソフトウェアで提供されるインタフェーススクリプトは /usr/lib/lp/model/netstandard です。
プリンタ宛先、プロトコル、およびタイムアウト値を設定します。
# lpadmin -p printer-name -o dest=access-name:port -o protocol=protocol -o timeout=value |
-p printer-name |
ネットワークプリンタ名を指定する |
-o dest=access-name:port |
ネットワークプリンタアクセス名と、プリンタのマニュアルに定義されていれば指定されたプリンタベンダーポートに、プリンタ宛先を設定する。 |
-o protocol=protocol |
プリンタとケーブル経由で通信するために使用するプロトコルを設定する。BSD と raw TCP の両方をサポートしている |
-o timeout=value |
プリンタへの接続の試行間で待機する秒数を表す再試行タイムアウト値を設定する。 |
プリンタのファイル内容形式とプリンタタイプを指定します。
# lpadmin -p printer-name -I content-type -T printer-type |
詳細については、lpadmin(1M) のマニュアルページを参照してください。
フィルタをプリンタサーバーに追加します。
# cd /etc/lp/fd # for filter in *.fd;do > name=`basename $filter .fd` > lpfilter -f $name -F $filter > done |
プリンタがプリンタ要求を受け入れて、その要求を印刷できるようにします。
# accept printer-name # enable printer-name |
プリンタが正しく構成されていることを確認します。
# lpstat -p printer-name |
新しいプリンタへのアクセスをクライアントに追加します。
これでプリンタは追加されました。プリンタへのアクセスをクライアントに作成します。詳細は、「印刷クライアントの設定」を参照してください。
オプションの作業を完了します。
プリンタを設定するときは、オプションの作業がいくつかあります。残りの作業については、「印刷の設定 (作業マップ)」を参照してください。
この例のコマンドは、プリンタサーバーで実行する必要があります。この例では次の情報を使用しています。実際の状況に合わせて指定する情報を変更してください。
プリンタ名: luna1
サーバー: saturn
ネットワークプリンタアクセス名: nimquat:9100
プロトコル: tcp
タイムアウト:5
インタフェース: /usr/lib/lp/model/netstandard
プリンタタイプ: PS
内容形式: postscript
デバイス: /dev/null
# lpadmin -p luna1 -v /dev/null 1 # lpadmin -p luna1 -m netstandard 2 # lpadmin -p luna1 -o dest=nimquat:9100 -o protocol=tcp -o timeout=5 3 # lpadmin -p luna1 -I postscript -T PS 4 # cd /etc/lp/fd # for filter in *.fd;do > name=`basename $filter .fd` > lpfilter -f $name -F $filter > done 5 # accept luna1 destination "luna1" now accepting requests # enable luna1 6 printer "luna1" now enabled # lpadmin -p luna1 -D "Room 1954 ps" 7 # lpstat -p luna1 8 printer luna1 is idle. enabled since Jul 12 11:17 2001. available. |
プリンタ名を定義する。デバイスを /dev/null に設定する。
ネットワークプリンタ用のインタフェーススクリプトを定義する。
宛先、プロトコル、およびタイムアウトを設定する。
プリンタが直接印刷できるファイル内容形式とプリンタタイプを指定する。
印刷フィルタをプリンタサーバーに追加する。
プリンタが印刷要求を受け入れて、印刷できるようにする。
プリンタの説明を追加する。
プリンタが用意できていることを確認する。