Oracle Solaris OS の印刷アーキテクチャーは、ネットワーク印刷プロトコルを使用して、次の方法で印刷サービスと通信します。
クライアントとサーバーの間の通信
サーバーとプリンタの間の通信
Oracle Solaris ソフトウェアには、アプリケーション、ツールキット、印刷コマンド、および、印刷サービスと対話するアプリケーションプログラミングインターフェースが提供されています。この API は「PAPI」と呼ばれます。PAPI は、印刷サービスと直接通信するバックエンドの印刷サービスまたはプロトコルモジュールを動的にロードする、フロントエンドの API 実装から構成されています。これらの印刷サービスには、現在処理中の印刷ジョブまたは印刷待ち行列が含まれます。クライアントとサーバーの間の通信には、RFC-1179 プロトコルと IPP プロトコル、およびローカルの LP 印刷サービスと通信するためのサポートが含まれます。サーバーとプリンタの間の通信に関しては、ネットワーク印刷プロトコルのサポートにより、印刷サービスはネットワーク接続されたプリンタに印刷ジョブを直接送信することができます。
LP 印刷サービスや Solaris 印刷マネージャーでのサーバーとプリンタとの通信には、次のネットワークプロトコルのサポートが含まれます。
生の TCP (Transmission Control Protocol) ソケット
RFC-1179
IPP
SMB
印刷システムでは、印刷クライアントから印刷サーバーに印刷要求を送信するために 2 つの有線プロトコルが使用されます。次の表に、Solaris OS での印刷に使用できる印刷プロトコルの説明を示します。
表 1–1 サポートされている印刷プロトコル
ネットワーク印刷プロトコル |
サーバー側サポート |
クライアント側サポート |
詳細 |
---|---|---|---|
IPP (Internet Printing Protocol) |
IPP 待機サービスのサーバー側サポートは、Oracle Solaris 10 リリース以降で使用可能です。 |
Oracle Solaris の一部のリリースでサポートされています。 | |
RFC-1179 プロトコル |
Oracle Solaris のすべてのリリースでサポートされています。 |
Oracle Solaris のすべてのリリースでサポートされています。 | |
Samba 経由の SMB プロトコル 注 – Samba 経由の SMB プロトコルは、Linux サーバーや UNIX サーバーと Windows ベースのクライアントとの相互運用を可能にする実装です。 |
Solaris 9 OS 以降でサポートされています。 |
Solaris 9 OS 以降でサポートされています。 |
アプリケーション、ツールキット、および印刷コマンドは、指定された印刷待ち行列の printers.conf データベースエントリで見つかった printer-uri-supported 属性の値に基づいて、クライアントとサーバーの間の通信に使用するプロトコルを選択します。この値は、lpadmin コマンドでリモート印刷待ち行列へのアクセスを構成したり、アプリケーションが、参照されているインタフェースを使用して何らかのアクションを実行すると、自動的に生成および設定されます。
たとえば、Mozilla の使用中にドキュメントを印刷すると、次のような経路でプリンタへのアクセスが取得されます。
Mozilla -> lp -> PAPI
詳細は、printers.conf(4) のマニュアルページを参照してください。
lpadmin コマンドでは、printer-uri-supported の値が次の形式で生成されます。
{ipp|lpd}://server/printers/queue
printers.conf データベースのどの URI を使用するかを決定するために、lpadmin コマンドはリモート印刷サービスを検査します。リモート印刷サービスが IPP をサポートしている場合は、このプロトコルが BSD プロトコルより優先されます。ただし、lpadmin コマンドに -s オプションを指定し、別の URI を指定することで、自動プロトコル選択を上書きすることができます。詳細は、「サポートされているプリンタ URI 形式」を参照してください。
LP 印刷サブシステムは、RFC-1179 プロトコルとも呼ばれる BSD 印刷プロトコルと生の TCP (Transmission Control Protocol) を使用してプリンタと通信します。TCP は、インターネットの基本的な通信言語 (プロトコル) です。設定するプリンタにプリンタベンダーのマニュアルが付属している場合は、使用すべきプロトコルの情報が記載されています。TCP プロトコルは、ネットワークでの印刷にもっとも頻繁に使用されるプロトコルです。
次の表では、サポートされているプリンタ URI 形式について説明します。
表 1–2 サポートされている URI 形式
コマンド |
URI 形式 |
---|---|
lpsched |
lpsched://localhost/printers/queue このプリンタ URI スキーマは、URI で指定された印刷待ち行列にアクセスするために、ローカルの LP サービスと通信する場合にのみ使用できます。 |
lpd |
lpd://localhost/printers/queue[#extensions] この URI 形式は、URI. に指定されたホスト上の印刷待ち行列にアクセスする目的でローカルまたはリモートの印刷サービスと通信する場合に使用します。#solaris など、省略可能な #extensions を指定できます。#solaris が指定された場合、ホストは印刷ジョブの送信中に RFC-1179 プロトコルの Solaris 拡張を処理します。 |
ネットワークに接続されたプリンタでは、多くの場合、印刷サービスと通信する方法が複数サポートされています。印刷サービスと通信するためのもっとも一般的な方法は、デバイス上の既知のポートに生の TCP で接続することです。ほかの通信方法としては、RFC-1179 や IPP ネットワークプロトコルがあります。サーバーとプリンタの間の通信プロトコルは、次のいずれかの方法で新しい印刷待ち行列を追加するときに選択できます。
lpadmin コマンドを次のオプションとともに使用します。
# lpadmin -o protocol={bsd|tcp} -o dest=printer:queue-or-port -m netstandard{_foomatic} |
印刷サービスと通信するためのこの方法は、Solaris 2.6 OS で導入され、それ以降のすべての Oracle Solaris リリースで使用できます。
2 番目の方法は、lpadmin コマンドの -d オプションでデバイスを指定し、-m オプションで uri を指定することです。
印刷サービスと通信するためのこの方法は、以前の方法を置き換えることを目的としています。
サーバーとプリンタの間の通信に使用するプロトコルを決定する際は、プリンタベンダーのマニュアルで固有の情報を確認してください。マニュアルには、デバイスでサポートされている TCP ポート番号、RFC-1179 プリンタ名、IPP プリンタ URI などの情報が記載されています。ほとんどの場合、生の TCP ソケット通信を使用すると、もっとも信頼性の高い結果が得られます。
また、UNIX プラットフォームと Windows プラットフォームでは印刷サービスが異なるため、Windows でホストされているプリンタはネットワーク接続されたプリンタとして構成および管理するように注意してください。このようなプリンタを Oracle Solaris システムで使用する場合は、印刷待ち行列を作成する必要があります。このようなプリンタでは、サーバーとプリンタの間の通信に SMB プロトコルが使用される場合もあります。SMB プロトコルの詳細については、「SMB プロトコルの説明」を参照してください。
プリンタの設定方法や印刷待ち行列の構成方法の詳細については、「Solaris 印刷マネージャーを使用したプリンタの設定 (作業マップ)」および 「LP 印刷コマンドを使用したプリンタの設定 (作業マップ)」を参照してください。