CUPSによる印刷環境の設定方法と使用方法

IV.27.1. はじめに

Vine Linux 3.0から、LPRngに代わってCUPS(the Common Unix Printing System)が標準の印刷システムとして採用されています。

CUPSには、LPRngと比べ以下の利点があります。

  • IPP(次世代のネットワーク印刷プロトコル)のサポート
  • ネットワークプリンタの自動検出
  • Webインターフェイス設定ツール
  • PPDプリンタ記述ファイルのサポート
  • フィルタのインタフェースがモジュール化されており、様々なファイル形式をサポートする単一のプリンタドライバをわずかな努力で開発可能

なお、このドキュメントはVine Linux 4.xをフルインストールした環境を基準に記述されています。カスタムインストールを選択された場合は、以下のパッケージがインストールされていることを前提としています。

  • cups-libs
  • cups
  • libgnomecups
  • gnome-cups-manager
  • eplaser-cups
  • foomatic
  • foomatic-ppd-gimp-print-ijs
  • foomatic-ppd

2.6からのアップグレードインストール等の場合、標準の印刷システムはLPRngのままであることに御注意ください。

IV.27.2. プリンタの設定

Vine Linux 5.2 から CUPS の Web インターフェースを利用するための下準備が必要になりました

セキュリティホールの修正のため、Vine Linux 5.2から、インストール時のデフォルトの状態では、CUPS の Web インターフェースを利用することができなくなりました。

Vine Linux MagazineEPSON EP-803A の印刷設定 for Vine Linux 5.2(Web IF編) にて、Web インターフェースを利用できるようにするための方法やプリンタの設定例について紹介されていますのでそちらを参照してください。

ToDo: 設定ファイルの記述法などに変更

IV.27.3. コマンドラインからの印刷方法

CUPSでは、テキストファイル、PostScript、画像といった様々な種類のファイルを直接、コマンドラインから印刷することができます。

コマンドラインからファイルを印刷するには、lpまたはlprコマンドを使用します。以下の様に特にオプションを指定しない場合は、デフォルトプリンタが使用されます。

$ lp ファイル名

また、オプションの使用によりプリンタを選択することができます。lpコマンドを使用する場合は、次の様に-dを使用します。

$ lp -d プリンタ名 ファイル名

lprコマンドを使用する場合は、次の様に-Pを使用します。

$ lpr -P プリンタ名 ファイル名

なお、利用可能なプリンタ名を一覧表示するには、以下のコマンドを実行します。この際、-dを付加するとデフォルトプリンタ名も表示されます。

$ lpstat -p

IV.27.4. トラブルシューティング

1. 

印刷できないが、何が起きているのかわからない。

CUPS のログは /var/log/cups 以下に出力されます。/var/log/cups/error_log/var/log/cups/access_log などがあります。ファイル名の最後に .数字 の付いてないものが最新のファイルです。

通常のテキストファイルですので、ページャやエディタを使って読んでどんなメッセージが出力されているか、またそれがどんな意味なのかを調べてください。参照 第II.7章 - ページャ less の操作方法

ログファイルを見てもわからない場合には、さらに詳細なログを出力するように設定を変更し、再度印刷してログを確認してください。

2. 

詳細なログを得るには?

CUPS の設定ファイル /etc/cups/cupsd.conf の 154〜166行くらいのところに、LogLevel の設定の部分があります。

LogLevel info となっていたら、さらに詳細な Log を出力するために、エディタを使って LogLevel debug 等に書き換えてください。

/etc/cups/cupsd.conf を書き換えた後で、設定を有効にするために CUPSサーバ を再起動してください。

/etc/cups/cupsd.conf の書き換えと CUPSサーバ の再起動には root 権限が必要です。

例 IV.27-1/etc/cups/cupsd.conf の書き換え
#
# LogLevel: controls the number of messages logged to the ErrorLog
# file and can be one of the following:
#
#     debug2    Log everything.
#     debug     Log almost everything.
#     info      Log all requests and state changes.
#     warn      Log errors and warnings.
#     error     Log only errors.
#     none      Log nothing.
#

#LogLevel info
LogLevel debug

行頭に # をつけることでその行を無効にできます。

LogLevel info と書かれている行に # をつけて無効にして、その次の行に新しい設定 LogLevel debug と書くと、変更前は LogLevel info だったということを残しておけます。

書き換えたら root権限で次のコマンドを実行して CUPSサーバ を再起動します。

$ sudo /etc/init.d/cups restart

再起動後に、再度印刷を実行し、どんなログが出力されているか確認してください。

3. 

ブラウザからhttp://localhost:631/にアクセスすると接続を拒否されます。

まず、CUPSサーバが起動しているかを次のようにGNOME端末等で確認してください。

$ /etc/init.d/cups status
cupsdは停止しています
の様に表示されれば、CUPSサーバが起動していないのが原因です。root権限で次のコマンドを実行してCUPSサーバを起動してください。

$ sudo /etc/init.d/cups start

ここで以下の様に表示されれば、CUPSサーバが起動していますので再度アクセスしてみて下さい。

cupsを起動中:                                              [  OK  ]
4. 

私が使っているプリンタ用のドライバが用意されていません。

もし、お使いのプリンタ用のドライバが見つからなかったら、他のプリンタ向けのドライバが用意されていないかapt-getを利用して『foomatic』などをキーワードに検索してみてください。該当しそうなパッケージがあればインストールしてみると良いかもしれません。

ドキュメント就筆時点では、表 IV.27-1の様なパッケージが存在しています。

なお、インストール後はCUPSサーバを再起動してください。

該当するパッケージがないならば、お使いのプリンタのlinuxでの対応状況を調べておくと良いでしょう。『linux <プリンタの型番>』をキーワードに検索エンジンを利用してみてください。

もし、CUPSでは使用できないが従来のLPRngで使用できるプリンタであればLPRng(Plusに収録)をお使い下さい。LPRngを使用する場合のプリンタの設定方法については、LPRngによる印刷環境の設定方法と使用方法を御覧ください。

表 IV.27-1Plusにあるパッケージ
foomatic-ppd-hpijs ヒューレットパッカード社のインクジェットプリンタ用
foomatic-ppd-omni Omni社のプリンタ用
例 IV.27-2foomatic-hpijsをインストールする場合の例
$ sudo apt-get install foomatic-hpijs
$ sudo /etc/init.d/cups restart
5. 

2.x からのアップグレード環境でCUPSを利用するには?

アップグレード時には、CUPSが利用できる状態になっていません。CUPSを利用できるようにするためには、以下の手順をroot権限で実行して下さい。

$ sudo /sbin/update-alternatives --auto print
$ sudo apt-get --reinstall install cups