多くのLinuxディストリビューションでは、印刷サブシステムとしてCUPS(Common Unix Printing System)を採用している。
CUPSの特徴は以下のとおり。
IPP(Internet Printer Protocol)の採用により、インターネットを経由した印刷も可能。
PPD(PostScript Printer Description)ファイルのサポートにより、AdobeのPPDファイルでデバイスドライバの設定が出来る
Webベースで設定可能。なので、ブラウザから設定が出来る
プリンタクラスのサポートにより、複数のプリンタを1台のプリンタに見せかける機能をサポート。
CUPSによる印刷処理の流れは以下のとおり。
1 アプリケーションや印刷コマンド(lpr)から印刷データを受け取る
2 スケジューリングを行う
3 プリンタお機種依存情報・設定情報とともに、印刷情報をGhostscriptに渡す
4 Ghostscriptは印刷データをプリンタの描画命令に変換してプリンタドライバを渡す
5 プリンタドライバは処理した印刷データをCUPSのバックエンドに送る
6 バックエンドは印刷データをプリンタに渡す
というか、lprコマンドを叩けば、印刷が始まります。
プリントキューの内容を表示するにはlpq
印刷要求を削除するにはlprmコマンドを使う
/etc/passwdファイルを5部印刷する
$ lpr -#5 /etc/passwd
laser01プリンタで/etc/hostsファイルを5部印刷する
$ lpr -Plaser01 -#5 /etc/hosts
出典については…気にするな!