印刷の仕組み(CUPS)

 CUPS(Common UNIX Printing System)は、LinuxやUnix系オペレーティングシステムで広く利用されている印刷システムです。CUPSは、印刷データを受け取り、それを適切な形式に変換し、ネットワーク上のプリンタやローカルのプリンタに送信する役割を果たします。これにより、異なる種類のプリンタでも一貫して印刷を行うことができます。CUPSは、使いやすい管理ツールと高度な設定オプションを提供しており、システム管理者が効率的に印刷環境を管理できるように設計されています。

CUPSの動作

CUPSは以下のように動作します。

  • 印刷データの受け取り
    コマンドやアプリケーションから送られてきた印刷データを受け取ります。
  • データ変換と保存
    受け取った印刷データを印刷用データに変換し、一時的に保存します。
  • 印刷キューへの格納
    変換されたデータは、各プリンターに用意された印刷キューに格納されます。
  • 印刷ジョブの待機
    印刷キューに溜まった印刷ジョブは、自分の順番が来るまで待機します。
  • 印刷ジョブの転送
    自分の順番が来た印刷ジョブは、対応するプリンターに転送され、実際に印刷が行われます。

下図はCUPSの動作を表しています。CPUSの動作を表にまとめます。

項目説明
コマンドやアプリケーションCUPSは、コマンドラインツールやアプリケーションから印刷ジョブを受け取ります。
変換受け取ったデータはCUPSによって印刷用データに変換されます。
印刷ジョブ変換された印刷用データは印刷ジョブとして管理されます。
プリンタAの印刷キュープリンタAに送信される印刷ジョブは、プリンタAの印刷キューに格納されます。
プリンタBの印刷キュープリンタBに送信される印刷ジョブは、プリンタBの印刷キューに格納されます。
コピー機の印刷キューコピー機に送信される印刷ジョブは、コピー機の印刷キューに格納されます。
印刷の実行印刷キューに格納された印刷ジョブは、順番に対応するプリンタに送信され、印刷が実行されます。
CUPSの動作

/etc/cupsディレクトリ

CUPS関連の設定ファイルは、以下のディレクトリにあります。

/etc/cupsディレクトリ

CUPS自体の設定ファイルやその他の設定ファイルが含まれています。

/etc/cups/cupsd.confファイル

CUPSの主要な設定ファイルであり、次のような設定が可能です。

  • 印刷システムからsyslogへのログ送信のプライオリティ
  • 印刷を許可するユーザーの設定

CUPSの管理画面

CUPSの管理画面には、Webブラウザで「https://localhost:631」にアクセスすることで利用できます。

/etc/cups/cupsd.confファイルの内容

cat /etc/cups/cupsd.conf」コマンドで、ファイルの内容を確認できます。

user01@ubuntu-vm:~$ cat /etc/cups/cupsd.conf
#
# Configuration file for the CUPS scheduler.  See "man cupsd.conf" for a
# complete description of this file.
#

# Log general information in error_log - change "warn" to "debug"
# for troubleshooting...
LogLevel warn
PageLogFormat

# Specifies the maximum size of the log files before they are rotated.  The value "0" disables log rotation.
MaxLogSize 0
(省略)

ファイルの設定内容には以下のような項目が含まれます。

  • LogLevel:ログの詳細度を指定します(例:info, debug, warnなど)。
  • Port:CUPSがリッスンするポート番号を指定します(通常は631)。
  • Listen:CUPSが接続を待つネットワークインターフェイスを指定します。
  • DefaultAuthType:デフォルトの認証方式を指定します(例:Basic, Digestなど)。

まとめ

 CUPSは、多くのLinuxディストリビューションで利用されている印刷システムで、印刷データを受け取り、変換し、印刷キューに格納し、適切なプリンターに印刷ジョブを転送します。設定ファイルは/etc/cupsディレクトリにあり、/etc/cups/cupsd.confファイルを編集することで、CUPSの動作を細かく調整できます。Webブラウザを使って管理画面にアクセスすることも可能です。