目標
- 印刷の仕組みについて理解する
- CUPSについて理解する
プリンタ制御
印刷の仕組み
現在、多くのLinuxディストリビューションでは、印刷システムとして CUPS(Common Unix Printing System) が採用されています。CUPSは、ネットワーク印刷や多機能なプリンタ設定に対応しており、GUI・CLI(コマンドラインインターフェイス)どちらでも管理できます。
CUPSの設定方法
CUPSは、Webインターフェース経由で設定が可能です。以下の手順で設定画面を開くことができます。
- Webブラウザ(例:Firefox)を起動します。
- アドレスバーに次のURLを入力します。「http://localhost:631」
- CUPSの管理画面が表示され、プリンタの追加・設定・ステータス確認などが行えます。
注意:プリンタドライバについて
CUPSの利用には、プリンタメーカーが提供するドライバ(PPDファイルなど)が必要になる場合があります。
CUPSの主な設定ファイル・ディレクトリ
ファイル/ディレクトリ | 説明 |
---|---|
/etc/cups/ppd/ | プリンタ機種ごとのPPD(PostScript Printer Description)ファイルを格納 |
/etc/cups/cupsd.conf | CUPSのメイン設定ファイル(ポート、アクセス制御など) |
/etc/cups/printers.conf | 登録されたプリンタの設定情報 |
CUPSサービスの起動・停止
ディストリビューションが systemd を採用している場合、CUPSサービスの操作は次のように行います。
sudo systemctl start cups # サービスの起動
sudo systemctl stop cups # サービスの停止
sudo systemctl restart cups # サービスの再起動
SysVinitを使用しているシステムでは、以下のように起動します(古い環境向け)。
sudo /etc/init.d/cups start
印刷コマンド:lpr
CUPSでは、LPD(Line Printer Daemon)互換コマンドである lpr も利用可能です。以下の形式で印刷が行えます。
lpr [オプション] [ファイル名]
オプション | 説明 |
---|---|
-#部数 | 印刷部数を指定(例: -#10) |
-Pプリンタ名 | 特定のプリンタ名を指定(例: -P printer1) |
例:example.txt を10部印刷する場合
lpr -#10 example.txt
例:コマンド出力を印刷する(ls -al の出力)
ls -al | lpr
プリントキューの確認:lpq
現在の印刷キューの状態を確認するには、lpq コマンドを使用します。
lpq [オプション]
オプション | 説明 |
---|---|
-Pプリンタ名 | 特定のプリンタを対象とする |
印刷ジョブの削除:lprm
まだ印刷されていないジョブを削除するには、lprm コマンドを使用します。
ジョブ番号は lpq コマンドで確認できます。
lprm [オプション] [ジョブ番号]
オプション | 説明 |
---|---|
-Pプリンタ名 | 対象プリンタを指定 |
– | 現在のユーザのすべての印刷ジョブを削除(例:lprm -) |
System V 印刷コマンドと LPD互換コマンドの比較
CUPSは、System V系の印刷コマンド(lp, lpstat, cancel)と、LPD系コマンド(lpr, lpq, lprm)の両方をサポートしています。ただし、LPICなどの試験では、LPDレガシーコマンドが出題範囲となっており、System Vコマンドは対象外となっています。
処理 | System Vコマンド | LPD互換コマンド |
---|---|---|
印刷 | lp | lpr |
プリントキュー確認 | lpstat | lpq |
ジョブ削除 | cancel | lprm |
今回は以上になります。

ブックマークのすすめ
「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。


Appleとの関係
CUPSはもともと独立開発されていたソフトウェアですが、2007年7月にApple社がCUPSの開発者から著作権を買収しました。現在もAppleが開発を主導していますが、CUPS自体はオープンソースソフトウェアとして公開され続けています。