「CUPS」の版間の差分
Kusakata.bot (トーク | 投稿記録) 細 (文字列「[[zh-TW:」を「[[zh-hant:」に置換) |
(同期) |
||
25行目: | 25行目: | ||
{{Pkg|cups}} パッケージを[[インストール]]してください。 |
{{Pkg|cups}} パッケージを[[インストール]]してください。 |
||
+ | |||
+ | GTK3 アプリケーションから印刷するには {{pkg|gtk3-print-backends}} パッケージのインストールも必要です。 |
||
PDF 文章に「印刷」したい場合、{{pkg|cups-pdf}} パッケージもインストールしてください。デフォルトでは、PDF ファイルは {{ic|/var/spool/cups-pdf/$USER}} に保存されます。作成場所は {{ic|/etc/cups/cups-pdf.conf}} で変更できます。 |
PDF 文章に「印刷」したい場合、{{pkg|cups-pdf}} パッケージもインストールしてください。デフォルトでは、PDF ファイルは {{ic|/var/spool/cups-pdf/$USER}} に保存されます。作成場所は {{ic|/etc/cups/cups-pdf.conf}} で変更できます。 |
||
54行目: | 56行目: | ||
=== ネットワーク === |
=== ネットワーク === |
||
− | [[Avahi]] ホストネームを使ってネットワークプリンターを接続するには、[[Avahi#ホスト名の解決|.local ホストネーム解決]]をセットアップして {{ic|org.cups.cupsd.service}} を[[systemd#ユニットを使う|再起動]]してください。 |
+ | [[Avahi]] を使うことでローカルネットワーク内のプリンターをスキャンできます。[[Avahi]] ホストネームを使ってネットワークプリンターを接続するには、[[Avahi#ホスト名の解決|.local ホストネーム解決]]をセットアップして {{ic|org.cups.cupsd.service}} を[[systemd#ユニットを使う|再起動]]してください。 |
[[Samba]] プロトコルを使ってネットワークプリンターに接続する場合や、Windows クライアント用のプリンターサーバーを使う場合、{{Pkg|samba}} パッケージをインストールしてください。 |
[[Samba]] プロトコルを使ってネットワークプリンターに接続する場合や、Windows クライアント用のプリンターサーバーを使う場合、{{Pkg|samba}} パッケージをインストールしてください。 |
||
63行目: | 65行目: | ||
プリンターを動かすのに、CUPS は PPD ファイルを必要とします。また、大抵のプリンターでは [https://www.cups.org/doc/man-filter.html フィルター] も必要です。CUPS がどうやって PPD やフィルターを使用するのかは [https://www.cups.org/doc/postscript-driver.html] に詳しく書かれています。 |
プリンターを動かすのに、CUPS は PPD ファイルを必要とします。また、大抵のプリンターでは [https://www.cups.org/doc/man-filter.html フィルター] も必要です。CUPS がどうやって PPD やフィルターを使用するのかは [https://www.cups.org/doc/postscript-driver.html] に詳しく書かれています。 |
||
− | [http://www.openprinting.org/printers OpenPrinting Printer List] は多数のプリンターの推奨ドライバーを教えてくれます。個別のプリンターの PPD ファイルも提供されていますが、大抵の場合は foomatic や推奨されているドライバーパッケージから手に入ります。 |
+ | [http://www.openprinting.org/printers OpenPrinting Printer List] は多数のプリンターの推奨ドライバーを教えてくれます。個別のプリンターの PPD ファイルも提供されていますが、大抵の場合は [[#Foomatic|foomatic]] や推奨されているドライバーパッケージから手に入ります。 |
PPD ファイルが CUPS に供給されると、CUPS サーバーは PPD ファイルを再生成して {{ic|/etc/cups/ppd/}} に保存します。 |
PPD ファイルが CUPS に供給されると、CUPS サーバーは PPD ファイルを再生成して {{ic|/etc/cups/ppd/}} に保存します。 |
||
+ | |||
+ | 新しいドライバーをインストールした後は cups サービスの再起動が必要です。 |
||
=== CUPS === |
=== CUPS === |
||
− | CUPS は何も設定をしなくても動作する PPD やフィルターのバイナリを少数ながらデフォルトで用意しています。 |
+ | CUPS は何も設定をしなくても動作する PPD やフィルターのバイナリを少数ながらデフォルトで用意しています。また、CUPS は [[wikipedia:ja:AirPrint|AirPrint]] と [http://www.pwg.org/ipp/everywhere.html IPP Everywhere] プリンターにも対応しています。 |
=== Foomatic === |
=== Foomatic === |
||
[https://wiki.linuxfoundation.org/openprinting/database/foomatic foomatic] プロジェクトはフリーであるかを問わず多数のプリンタードライバーの PPD を提供しています。foomatic の活動の詳細は [http://www.openprinting.org/download/kpfeifle/LinuxKongress2002/Tutorial/IV.Foomatic-Developer/IV.tutorial-handout-foomatic-development.html Foomatic from the Developer's View] を見てください。 |
[https://wiki.linuxfoundation.org/openprinting/database/foomatic foomatic] プロジェクトはフリーであるかを問わず多数のプリンタードライバーの PPD を提供しています。foomatic の活動の詳細は [http://www.openprinting.org/download/kpfeifle/LinuxKongress2002/Tutorial/IV.Foomatic-Developer/IV.tutorial-handout-foomatic-development.html Foomatic from the Developer's View] を見てください。 |
||
− | foomatic を使用するには、{{pkg|foomatic-db-engine}} と {{pkg|foomatic-db-ppds}}, {{pkg|foomatic-db-nonfree-ppds}}, {{pkg|foomatic-db-gutenprint-ppds}} の最低でもどれかひとつをインストールします。 |
+ | foomatic を使用するには、{{pkg|foomatic-db-engine}} と {{pkg|foomatic-db}}, {{pkg|foomatic-db-ppds}}, {{pkg|foomatic-db-nonfree-ppds}}, {{pkg|foomatic-db-gutenprint-ppds}} の最低でもどれかひとつをインストールします。 |
foomatic の PPD は別途でフィルターを必要とすることがあり、{{pkg|gutenprint}} や {{pkg|ghostscript}} などが挙げられます (例えば {{aur|min12xxw}})。{{pkg|ghostscript}} が必要な場合、{{pkg|gsfonts}} もおそらく必須です。 |
foomatic の PPD は別途でフィルターを必要とすることがあり、{{pkg|gutenprint}} や {{pkg|ghostscript}} などが挙げられます (例えば {{aur|min12xxw}})。{{pkg|ghostscript}} が必要な場合、{{pkg|gsfonts}} もおそらく必須です。 |
||
110行目: | 114行目: | ||
== 使用方法 == |
== 使用方法 == |
||
− | CUPS はコマンドラインツールの the lp* と cups* を使うことで制御できます。また、ウェブインターフェイスや GUI アプリケーションを利用することも可能です。 |
+ | CUPS はコマンドラインツールの the lp* と cups* を使うことで制御できます。また、[[#ウェブインターフェイス|ウェブインターフェイス]]や [[#GUI アプリケーション|GUI アプリケーション]]を利用することも可能です。 |
* ''queue'' はキューを識別するために使われる短くてわかりやすい名前です。名前に空白・特殊文字を含めることはできません。例えば、HP LaserJet 5P を使用する印刷キューの名前は "hpljet5p" などとします。複数のキューを物理的なプリンターに関連付けることができます。 |
* ''queue'' はキューを識別するために使われる短くてわかりやすい名前です。名前に空白・特殊文字を含めることはできません。例えば、HP LaserJet 5P を使用する印刷キューの名前は "hpljet5p" などとします。複数のキューを物理的なプリンターに関連付けることができます。 |
||
134行目: | 138行目: | ||
''queue_name'' は適当な名前に置き換えてください。例: |
''queue_name'' は適当な名前に置き換えてください。例: |
||
# lpadmin -p HP_DESKJET_940C -E -v "usb://HP/DESKJET%20940C?serial=CN16E6C364BH" -m drv:///HP/hp-deskjet_940c.ppd.gz |
# lpadmin -p HP_DESKJET_940C -E -v "usb://HP/DESKJET%20940C?serial=CN16E6C364BH" -m drv:///HP/hp-deskjet_940c.ppd.gz |
||
+ | # lpadmin -p AirPrint -E -v "ipp://10.0.1.25/ipp/print" -m everywhere # Driverless queue (Apple AirPrint or IPP Everywhere) |
||
# lpadmin -p SHARED_PRINTER -m raw # Raw queue; no PPD or filter |
# lpadmin -p SHARED_PRINTER -m raw # Raw queue; no PPD or filter |
||
185行目: | 190行目: | ||
{{Note|HTTPS 接続で CUPS を使用する場合、初めてアクセスしたときにインターフェイスが表示されるまで長い時間がかかります。初期設定で行われる SSL 証明書の生成に時間がかかるためです。}} |
{{Note|HTTPS 接続で CUPS を使用する場合、初めてアクセスしたときにインターフェイスが表示されるまで長い時間がかかります。初期設定で行われる SSL 証明書の生成に時間がかかるためです。}} |
||
+ | |||
+ | ウェブインターフェイスから管理設定を行うには認証が必要です。{{ic|root}} で認証するか、ユーザーをプリンターの管理権限グループに追加してください。[[#設定]]を参照。 |
||
;印刷キューを追加 |
;印刷キューを追加 |
||
209行目: | 216行目: | ||
プリンターの管理者権限を持つ[[グループ]]は {{ic|/etc/cups/cups-files.conf}} の {{ic|SystemGroup}} で定義されます。デフォルトでは {{ic|sys}} グループが使われます。 |
プリンターの管理者権限を持つ[[グループ]]は {{ic|/etc/cups/cups-files.conf}} の {{ic|SystemGroup}} で定義されます。デフォルトでは {{ic|sys}} グループが使われます。 |
||
− | {{pkg|cups}} は {{pkg|libpaper}} のサポートを有効にしてビルドされており、libpaper はデフォルトの用紙サイズとして '''Letter''' を使います。印刷キューを追加するたびに用紙サイズを変更しなくてもいいように、{{ic|/etc/papersize}} を編集してデフォルトの用紙サイズを設定してください。詳しくは {{man|5|papersize}} を参照。 |
+ | {{pkg|cups}} は {{pkg|libpaper}} のサポートを有効にしてビルドされており、libpaper はデフォルトの用紙サイズとして '''Letter''' を使います。印刷キューを追加するたびに用紙サイズを変更しなくてもいいように、{{ic|/etc/papersize}} を編集してデフォルトの用紙サイズを設定してください。詳しくは {{man|5|papersize|url=https://www.commandlinux.com/man-page/man5/papersize.5.html}} を参照。 |
デフォルトでは、全てのログは {{ic|/var/log/cups/}} 内のファイルに送信されます。{{ic|/etc/cups/cups-files.conf}} 内の {{ic|AccessLog}}, {{ic|ErrorLog}}, {{ic|PageLog}} ディレクティブの値を {{ic|syslog}} に変更することで、CUPS から [[systemd#Journal|systemd journal]] にログを吐かせることができます。詳しくは [https://fedoraproject.org/wiki/Changes/CupsJournalLogging fedora wiki] を見てください。 |
デフォルトでは、全てのログは {{ic|/var/log/cups/}} 内のファイルに送信されます。{{ic|/etc/cups/cups-files.conf}} 内の {{ic|AccessLog}}, {{ic|ErrorLog}}, {{ic|PageLog}} ディレクティブの値を {{ic|syslog}} に変更することで、CUPS から [[systemd#Journal|systemd journal]] にログを吐かせることができます。詳しくは [https://fedoraproject.org/wiki/Changes/CupsJournalLogging fedora wiki] を見てください。 |
||
215行目: | 222行目: | ||
=== cups-browsed === |
=== cups-browsed === |
||
− | CUPS は [[Avahi]] を使ってネットワーク上の未知の共有プリンターを発見することができます。サーバーがどこにあるのかわからないくらい巨大な構成で有用です。この機能を使うには [[Avahi#ホスト名の解決|.local ホストネーム解決]]を設定して、{{ic|avahi-daemon.service}} と {{ic|cups-browsed.service}} の両方を起動してください。ジョブは何も処理されずにプリンターに直接送信されるため、キューの作成が上手く行かない場合もあります。 |
+ | CUPS は [[Avahi]] を使ってネットワーク上の未知の共有プリンターを発見することができます。サーバーがどこにあるのかわからないくらい巨大な構成で有用です。この機能を使うには [[Avahi#ホスト名の解決|.local ホストネーム解決]]を設定して、{{ic|avahi-daemon.service}} と {{ic|cups-browsed.service}} の両方を起動してください。ジョブは何も処理されずにプリンターに直接送信されるため、キューの作成が上手く行かない場合もあります。[http://www.pwg.org/ipp/everywhere.html IPP Everywhere] あるいは [[wikipedia:ja:AirPrint|AirPrint]] に対応しているドライバー不要のプリンターであれば特に設定をしなくても問題なく動作するはずです。 |
+ | |||
+ | {{Note|1=ネットワークプリンターの検索によってコンピュータの起動時間が大幅に遅くなってしまうことがあります [https://bbs.archlinux.org/viewtopic.php?pid=1720219#p1720219]。}} |
||
=== プリンター共有 === |
=== プリンター共有 === |
||
− | [[CUPS/プリンター共有]]を見てください。 |
+ | [[CUPS/プリンター共有]]と[[CUPS/プリンター共有#リモート管理]]を見てください。 |
+ | |||
+ | === PolicyKit による管理者認証 === |
||
+ | |||
+ | [[PolicyKit]] を設定することで管理者パスワードを入力しなくても GUI を使ってユーザーからプリンターを設定できるようにすることができます。 |
||
+ | |||
+ | 以下は wheel [[グループ]]のメンバーにプリンターの管理を許可する例です: |
||
+ | |||
+ | {{hc|/etc/polkit-1/rules.d/49-allow-passwordless-printer-admin.rules|<nowiki> |
||
+ | polkit.addRule(function(action, subject) { |
||
+ | if (action.id == "org.opensuse.cupspkhelper.mechanism.all-edit" && |
||
+ | subject.isInGroup("wheel")){ |
||
+ | return polkit.Result.YES; |
||
+ | } |
||
+ | });</nowiki>}} |
||
=== ローカルの CUPS サーバーを使わない === |
=== ローカルの CUPS サーバーを使わない === |
||
230行目: | 253行目: | ||
$ CUPS_SERVER=printserver.mydomain:port firefox |
$ CUPS_SERVER=printserver.mydomain:port firefox |
||
− | |||
− | ==== client.conf ==== |
||
− | |||
− | {{Note|1={{ic|/etc/cups/client.conf}} は [https://www.cups.org/doc/man-client.conf.html 非推奨] となって久しく、[https://git.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/cups&id=41fefa22ac5189d726e0e35e2f87ad12fa2855f3 cups 2.2.0] で削除されました。}} |
||
− | |||
− | {{ic|/etc/cups/client.conf}} を編集して {{ic|ServerName}} ディレクティブを設定する古い方法: |
||
− | |||
− | {{hc|/etc/cups/client.conf| |
||
− | # (Substitute printserver.mydomain with your print server name) |
||
− | ServerName printserver.mydomain |
||
− | }} |
||
− | |||
− | リモート環境のプリンター設定はデフォルトで使用されます。 |
||
== トラブルシューティング == |
== トラブルシューティング == |
||
251行目: | 261行目: | ||
* [http://localhost:631/help CUPS 公式ドキュメント], ''ローカルにインストールされたドキュメント'' |
* [http://localhost:631/help CUPS 公式ドキュメント], ''ローカルにインストールされたドキュメント'' |
||
− | * [[Wikipedia: |
+ | * [[Wikipedia:ja:Common Unix Printing System]] |
* [http://www.linuxfoundation.org/collaborate/workgroups/openprinting OpenPrinting ホームページ] |
* [http://www.linuxfoundation.org/collaborate/workgroups/openprinting OpenPrinting ホームページ] |
||
− | * [https:// |
+ | * [https://ja.opensuse.org/%E5%8D%B0%E5%88%B7%E5%87%A6%E7%90%86%E3%81%AE%E8%80%83%E3%81%88%E6%96%B9 OpenSuSE の印刷処理の考え方 - 印刷ワークフローについての説明] |
* [https://en.opensuse.org/SDB:CUPS_in_a_Nutshell OpenSuSE CUPS in a Nutshell - a quick CUPS overview] |
* [https://en.opensuse.org/SDB:CUPS_in_a_Nutshell OpenSuSE CUPS in a Nutshell - a quick CUPS overview] |
||
− | * [https://wiki.gentoo.org/wiki/Printing Gentoo の印刷ガイド] |
+ | * [https://wiki.gentoo.org/wiki/Printing/ja Gentoo の印刷ガイド] |
+ | * [https://wiki.debian.org/Printing Debian の印刷ポータル] |
2017年8月5日 (土) 01:09時点における版
CUPS は標準ベースの、Apple によって開発されている macOS® やその他の UNIX® ライクなオペレーティングシステム向けのオープンソースの印刷システムです。
目次
インストール
GTK3 アプリケーションから印刷するには gtk3-print-backends パッケージのインストールも必要です。
PDF 文章に「印刷」したい場合、cups-pdf パッケージもインストールしてください。デフォルトでは、PDF ファイルは /var/spool/cups-pdf/$USER
に保存されます。作成場所は /etc/cups/cups-pdf.conf
で変更できます。
インストールしたら org.cups.cupsd.service
を起動・有効化してください。
接続インターフェイス
以下には様々なインターフェイスごとにプリンターを認識させる手順を載せています。
USB
USB プリンターが認識されているかどうか確認するには:
$ lsusb
(...) Bus 001 Device 007: ID 03f0:1004 Hewlett-Packard DeskJet 970c/970cse
パラレルポート
パラレルポートプリンターを使うには lp
, parport
, parport_pc
カーネルモジュールが必要です。
$ dmesg | grep -i parport
parport0: Printer, Hewlett-Packard HP LaserJet 2100 Series lp0: using parport0 (polling)
ネットワーク
Avahi を使うことでローカルネットワーク内のプリンターをスキャンできます。Avahi ホストネームを使ってネットワークプリンターを接続するには、.local ホストネーム解決をセットアップして org.cups.cupsd.service
を再起動してください。
Samba プロトコルを使ってネットワークプリンターに接続する場合や、Windows クライアント用のプリンターサーバーを使う場合、samba パッケージをインストールしてください。
プリンタードライバー
プリンターのドライバーは以下のソースのどこかから入手することができます。動作するのが確認されているドライバーのリストは CUPS/プリンター別の問題を見てください。
プリンターを動かすのに、CUPS は PPD ファイルを必要とします。また、大抵のプリンターでは フィルター も必要です。CUPS がどうやって PPD やフィルターを使用するのかは [1] に詳しく書かれています。
OpenPrinting Printer List は多数のプリンターの推奨ドライバーを教えてくれます。個別のプリンターの PPD ファイルも提供されていますが、大抵の場合は foomatic や推奨されているドライバーパッケージから手に入ります。
PPD ファイルが CUPS に供給されると、CUPS サーバーは PPD ファイルを再生成して /etc/cups/ppd/
に保存します。
新しいドライバーをインストールした後は cups サービスの再起動が必要です。
CUPS
CUPS は何も設定をしなくても動作する PPD やフィルターのバイナリを少数ながらデフォルトで用意しています。また、CUPS は AirPrint と IPP Everywhere プリンターにも対応しています。
Foomatic
foomatic プロジェクトはフリーであるかを問わず多数のプリンタードライバーの PPD を提供しています。foomatic の活動の詳細は Foomatic from the Developer's View を見てください。
foomatic を使用するには、foomatic-db-engine と foomatic-db, foomatic-db-ppds, foomatic-db-nonfree-ppds, foomatic-db-gutenprint-ppds の最低でもどれかひとつをインストールします。
foomatic の PPD は別途でフィルターを必要とすることがあり、gutenprint や ghostscript などが挙げられます (例えば min12xxwAUR)。ghostscript が必要な場合、gsfonts もおそらく必須です。
メーカー別のドライバー
様々なプリンターメーカーが独自の Linux ドライバーを提供しています。中には Arch の公式リポジトリや AUR からインストールできるドライバーもあります。
一部のドライバーについては CUPS/プリンター別の問題に詳しい説明があります。
プリンター URI
以下では手動での URI の生成について説明しています。
USB
CUPS は USB プリンターの URI を自動的に生成します。例: usb://HP/DESKJET%20940C?serial=CN16E6C364BH
。
生成されない場合、CUPS/トラブルシューティング#USB プリンターを見てください。
パラレルポート
URI は parallel:device
という形式になります。例えば、プリンターが /dev/lp0
で接続されている場合、parallel:/dev/lp0
を使ってください。USB からパラレルポートに変換するアダプタを使っている場合、プリンター URI は parallel:/dev/usb/lp0
を使ってください。
ネットワーク
#ネットワークに書かれているように Avahi を設定することで、CUPS はプリンター URI を探知します。avahi-discover
を使ってプリンターの名前やアドレスを確認することもできます (例: BRN30055C6B4C7A.local/10.10.0.155:631
)。
Avahi を使わずに URI を手動で生成することも可能です。ネットワークプリンターで利用可能な URI スキーマのリストは CUPS のドキュメント [2] を見てください。プリンターによって URI には細かい違いがあるので、プリンターのマニュアルや CUPS/プリンター別の問題もチェックしてください。
リモートの CUPS 印刷サーバーは ipp://hostname:631/printers/queue_name
という形式の URI でアクセスできます。リモートの印刷サーバーをセットアップする方法は CUPS/プリンター共有#GNU/Linux システム間を見てください。
他の問題については CUPS/トラブルシューティング#ネットワークの問題を見てください。
使用方法
CUPS はコマンドラインツールの the lp* と cups* を使うことで制御できます。また、ウェブインターフェイスや GUI アプリケーションを利用することも可能です。
- queue はキューを識別するために使われる短くてわかりやすい名前です。名前に空白・特殊文字を含めることはできません。例えば、HP LaserJet 5P を使用する印刷キューの名前は "hpljet5p" などとします。複数のキューを物理的なプリンターに関連付けることができます。
- location はプリンターの物理的な場所の説明です (例えば "bedroom" や "kitchen" など)。複数のプリンターを管理しやすくするためにあります。
- description はプリンターの完全な説明です。大抵はプリンターの正式名称が使われます ("HP LaserJet 5P" など)。
CLI ツール
CUPS ローカルドキュメント にはコマンドラインツールに関するヒントが載っています。
- デバイスを確認
# lpinfo -v # $ /usr/lib/cups/backend/snmp ip_address # Use SNMP to find a URI
- ドライバーを確認
$ lpinfo -m
- 新しい印刷キューを追加
# lpadmin -p queue_name -E -v uri -m model
queue_name は適当な名前に置き換えてください。例:
# lpadmin -p HP_DESKJET_940C -E -v "usb://HP/DESKJET%20940C?serial=CN16E6C364BH" -m drv:///HP/hp-deskjet_940c.ppd.gz # lpadmin -p AirPrint -E -v "ipp://10.0.1.25/ipp/print" -m everywhere # Driverless queue (Apple AirPrint or IPP Everywhere) # lpadmin -p SHARED_PRINTER -m raw # Raw queue; no PPD or filter
- デフォルトプリンターを設定
$ lpoptions -d queue_name
- オプションを変更
$ lpoptions -p queue_name -l # List the options $ lpoptions -p queue_name -o option=value # Set an option
例:
$ lpoptions -p HP_DESKJET_940C -o PageSize=A4
- 状態を確認
$ lpstat -s $ lpstat -p queue_name
- プリンターを無効化
# cupsdisable queue_name
- プリンターを有効化
# cupsenable queue_name
- ジョブを受け取るようにプリンターを設定
# cupsaccept queue_name
- プリンターの削除
まず印刷を要求するエントリを全て拒否するように設定してください:
# cupsreject queue_name
次にプリンターを無効化してください:
# cupsdisable queue_name
最後に削除してください:
# lpadmin -x queue_name
- ファイルを印刷
$ lpr file $ lpr -# 17 file # print the file 17 times $ echo "Hello, world!" | lpr -p # print the result of a command. The -p switch adds a header.
- 印刷キューを確認
$ lpq $ lpq -a # on all queues
- 印刷キューを消去
# lprm # remove last entry only # lprm - # remove all entries
ウェブインターフェイス
CUPS サーバーはウェブインターフェイスを使って管理することができます。http://localhost:631/ を開いてください。
ウェブインターフェイスから管理設定を行うには認証が必要です。root
で認証するか、ユーザーをプリンターの管理権限グループに追加してください。#設定を参照。
- 印刷キューを追加
Administration ページを開いてください。
- 既存のキューを編集
Printers ページを開いて、編集したいキューを選択してください。
- キューをテスト
Printers ページを開いて、キューを選択してください。
GUI アプリケーション
CUPS を管理するのに十分な権限を持っていない場合、アプリケーションが起動するときに root パスワードが要求されます。root 権限を与えずにユーザーに管理者権限を与える方法は#設定を見てください。
- print-manager — 印刷ジョブとプリンターの管理ツール (KDE)。
- system-config-printer — CUPS プリンター設定ツール・状態アプレット (GNOME など)。
- gtklp — CUPS の GTK+ インターフェイス。
設定
CUPS サーバーの設定は /etc/cups/cupsd.conf
と /etc/cups/cups-files.conf
にあります。どちらかのファイルを編集したら、変更を適用するために org.cups.cupsd.service
を再起動してください。大抵の場合はデフォルト設定で問題ありません。
プリンターの管理者権限を持つグループは /etc/cups/cups-files.conf
の SystemGroup
で定義されます。デフォルトでは sys
グループが使われます。
cups は libpaper のサポートを有効にしてビルドされており、libpaper はデフォルトの用紙サイズとして Letter を使います。印刷キューを追加するたびに用紙サイズを変更しなくてもいいように、/etc/papersize
を編集してデフォルトの用紙サイズを設定してください。詳しくは papersize(5) を参照。
デフォルトでは、全てのログは /var/log/cups/
内のファイルに送信されます。/etc/cups/cups-files.conf
内の AccessLog
, ErrorLog
, PageLog
ディレクティブの値を syslog
に変更することで、CUPS から systemd journal にログを吐かせることができます。詳しくは fedora wiki を見てください。
cups-browsed
CUPS は Avahi を使ってネットワーク上の未知の共有プリンターを発見することができます。サーバーがどこにあるのかわからないくらい巨大な構成で有用です。この機能を使うには .local ホストネーム解決を設定して、avahi-daemon.service
と cups-browsed.service
の両方を起動してください。ジョブは何も処理されずにプリンターに直接送信されるため、キューの作成が上手く行かない場合もあります。IPP Everywhere あるいは AirPrint に対応しているドライバー不要のプリンターであれば特に設定をしなくても問題なく動作するはずです。
プリンター共有
CUPS/プリンター共有とCUPS/プリンター共有#リモート管理を見てください。
PolicyKit による管理者認証
PolicyKit を設定することで管理者パスワードを入力しなくても GUI を使ってユーザーからプリンターを設定できるようにすることができます。
以下は wheel グループのメンバーにプリンターの管理を許可する例です:
/etc/polkit-1/rules.d/49-allow-passwordless-printer-admin.rules
polkit.addRule(function(action, subject) { if (action.id == "org.opensuse.cupspkhelper.mechanism.all-edit" && subject.isInGroup("wheel")){ return polkit.Result.YES; } });
ローカルの CUPS サーバーを使わない
CUPS ではローカルにプリンターサーバーを立ち上げるかわりにリモートのプリンターサーバーに直接接続するように設定することができます。libcups パッケージのインストールが必要です。ただし、アプリケーションによってはリモートのサーバーを使用する場合も印刷するのに cups パッケージのインストールを必要とします。
リモートの CUPS サーバーを使うには、CUPS_SERVER
環境変数を printerserver.mydomain:port
に設定してください。例えば、Firefox で別の印刷サーバーを使いたい場合 (printserver.mydomain:port
は適当な印刷サーバーの名前とポートに置き換えてください):
$ CUPS_SERVER=printserver.mydomain:port firefox
トラブルシューティング
CUPS/トラブルシューティングを見てください。