CUPS
Common Unix Printing System、カップス
UNIX 系 OS で使用される印刷システムで、印刷ジョブの管理やプリンターの設定を行うための印刷サーバーソフトウェアのこと。
クライアントアプリケーションにおけるユーザーの印刷操作は、$ lpr
や GUI ツールを通じて CUPS(cupsd
デーモン)にジョブとして送られ、CUPS はそれを適切なプリンタへ転送する。印刷ジョブは cupsd
デーモンが キュー で管理する。
クライアントとサーバはネットワークを介して離れた場所にいても良い。
$ systemctl start cups
※ systemd
$ /etc/init.d/cups start
※ SysVinit
プリンタのドライバは、メーカもしくはフリーソフトとして入手することができる。
また、Web ブラウザから設定を行うことのできるツールが内包されている。ツールには URL http://localhost:631
でアクセスする。
macOS で起動する場合、以下のコマンドを実行してからブラウザで URL を入力する。
$ sudo cupsctl WebInterface=yes
PostScript
Adobe 社が開発したページ記述言語。
テキストや図形の位置、サイズ、フォント、色などがコードで定義される。プリンタがそのコードを読み取って、ページを描画する。正確で再現性の高い出力が可能。
PPD
PostScript Printer Description
PostScript プリンタの機能、仕様を記述したファイル。
CUPS に対して「このプリンタは何ができるのか」を示すために使用される。
以下の情報が含まれる。
- プリンタ名
- メーカ / モデル情報
- 解像度
- 両面印刷対応
- 用紙サイズ
- カラーモード(モノクロ / カラー)
PPD ファイルは PostScript プリンタ以外でも利用されている。
最近の CUPS(特に macOS)では IPP Everywhere や AirPrint など、PPD を不要とする方式が増えている。これらの新しい方式では、プリンタ自身がどんな機能を持っているかを自己表現することができ、CUPS や OS がこれを自動で認識する。
/etc/cups/cupsd.conf
CUPS の動作全体(ポート、アクセス制御、ログ、ディレクトリ設定など)を定義する設定ファイル。
編集後は CUPS を再起動する必要がある。
$ sudo systemctl restart cups
$ sudo systemctl restart cups.service
$ sudo /etc/init.d/cups restart
/etc/cups/printers.conf
CUPS によって自動で生成・更新されるプリンタの設定ファイル。
設定を変更したい場合は $ lpadmin
コマンドや Webインターフェース(http://localhost:631
)を使用する。
手動での編集は非推奨
$ lpr
line printer request
ファイルや標準入力を印刷ジョブキューに送信する。
$ コマンド | lpr
$ lpr ファイル
$ lpr -#部数 -P プリンタ名
出力先を指定しない場合は、デフォルトプリンタが出力先になる。
$ lpq
line printer queue
印刷ジョブキューにあるジョブの状態を確認するためのコマンド。
$ lpq
$ lpq -P プリンタ名
$ lpq -a
$ lprm
line printer remove
$ lprm ジョブID
※ ジョブ ID は $ lpq
で確認できる
$ lprm -
$ lpadmin
$ lpadmin オプション
オプション | 説明 |
---|---|
-p プリンタ名 |
プリンタ名を指定(printer) |
-d プリンタ名 |
デフォルトプリンタとして設定(default) |
-x プリンタ名 |
プリンタを削除 |
-v URI |
接続先を指定 |
-P PPDファイル |
使用する PPD ファイルを指定 |
-E |
プリンタを有効化(印刷受付状態になる、enable) |