Printing/ja

このドキュメントでは、Article description::CUPSとSambaを用いたプリンタのインストールとメンテナンスをカバーしています. これは、ローカルインストールやネットワークインストールをカバーし、他のオペレーティングシステムから共有プリンタを使用する手順が含まれています. 文書を印刷するためのまたはコマンドの使用についての詳細は、CUPSの優れた上流のマニュアルを参照してください.

適切なツールを使う
Linuxには、プリンタの素晴らしいサポートがあります. 仕事のための適切なツールはCUPSと呼ばれています(Common Unix Printing System). プロジェクトが始まった1999年から、CUPSのインストールとメンテナンスは劇的に改善されました.

この文書では、ローカルまたはネットワークプリンタをセットアップするためにCUPSを使用する方法を説明します. プロジェクトがより進んだ使用法に関する 素晴らしいドキュメントを持っているので、ここではあまり詳細には立ち入りません.

カーネル
ユーザーがシステムにプリンタをインストールしたい場合、最初のステップは、プリンタがシステムに接続する方法を知ることです. それは、LPTやUSBなどのローカルポートを介して接続されていますか？それがネットワーク接続されている場合は、それがインターネット印刷プロトコル（IPP）またはMicrosoft Windows CIFSプロトコル（Microsoft Windowsの共有）を使用していますか？

次のいくつかのセクションでは、プリンターをGentooに接続するためにはどのようなカーネルの設定が最低限必要かについて説明します. もちろん、これはどのようにプリンタがシステムに接続されるかに依存するので、便宜のため、手順は分離して説明します.

に移動し、カーネルコンフィグに入るためにを実行します. カーネルの設定にを使用した場合でも、誤りがないか確認するため、これらのステップを行うべきです. genkernelにシステム全体を自動的に設定させて頼らないようにしてください;印刷は、構成設定を自動的に設定することが難しい分野です.

次の設定例では、必要なサポートをモジュールではなくカーネルの中に追加しています. カーネルをこの方法で構築することは必須ではありません;もしモジュールでのサポートを簡単に追加できると判断したならば、適切なモジュールを読み込むのを忘れないようにしましょう！

それでは、カーネルを設定(あるいはチェック)するため、適切な項に移動してください.

ローカルで接続されたプリンタ (LPT)
LPTポートは、パラレルプリンターポートを表すために一般的に使用されています. まず、パラレルポートのサポートを有効化し、それから(SPARCシステムを使っているのでなければ)PC形式のパラレルポートのサポートを有効化する必要があります. そしてその後、パラレルプリンターサポートを有効にします.

これで終わりです！ カーネルコンフィグを終了して、カーネルを再ビルドしてください.

CUPSの設定を続けて行いましょう.

ローカルで接続されたプリンタ (USB)
USBでの印刷は、USB USEフラグが有効化されたCUPSでサポートされています. これは、libusbライブラリをユーザースペースでのUSBサポートのため使用しています.

いくつかの古いソフトウェアは、今でもカーネル内でのUSBプリンターサポートを要求します. モジュールとしてビルドされた場合、そのモジュールはと呼ばれます:

しかしながら、カーネル内でのUSBプリンターサポートは、obsolete扱いです. 必要な場合に限り、使用を続けてください.

リモートで接続されたプリンタ (IPP と LPD)
Internet Printing Protocol、あるいはLine Printer Daemon protocolを通じてリモートで接続されたプリンターに接続可能にするには、カーネルのネットワークサポートが必要です. カーネルには既にそれがあると仮定して、CUPSの設定を続けます.

リモートで接続されたプリンタ (CIFS)
カーネルがCIFSをサポートしている必要があります:

CIFSの設定が完了したら、カーネルコンフィグを終了してカーネルを再ビルドします. システムを再起動する前に、(必要ならをマウントしてから)新しいカーネルイメージをへコピーし、ブートローダーの設定を更新するのを忘れないようにしましょう. これらのステップをどのように実行するかについては、上のLPTプリンターの設定にあるrootコマンドを参照してください.

それでは、CUPSのインストールにおける次のステップに進みましょう.

USE フラグ
CUPSには、いくつかの関心を持つかもしれない任意の機能があります. それらの機能を有効化あるいは無効化するには、それらに関連付けられたUSEフラグを利用します.

現在のUSEフラグの設定を確認します. CUPSのみについて現在のUSEの設定から外すには、適切なUSEフラグをファイルに追加します.

Emerge
結果に満足したら、PortageにCUPSをインストールするよう要求します:

Samba
SAMBAサポートを有効にするには、がCUPSサポートとともにインストールされている必要があります. ファイルまたはディレクトリを更新して、 USEフラグを有効にします:

そして、Sambaを(再)インストールします:

Avahi
CUPS uses Avahi internally when built with the  USE flag to scan for printers on the local network. To use Avahi hostnames to connect to networked printers, set up .local hostname resolution and restart the CUPS service. CUPS and cups-filters need to be built with the  USE flag as well. Use the command for listing available printers.

印刷グループ
印刷をする必要があるすべてのユーザーは、グループに追加されていなければなりません:

CUPSのウェブインターフェースを使ってプリンターを追加したり編集したりするためには、これらの設定を編集することが許可されているすべてのシステムユーザーがグループに所属していなければなりません:

OpenRC
プリンターがシステムにローカルで接続されており、かつプリンターがブートの度に利用可能でなければならない場合には、CUPSデーモンが起動時に自動的に読み込まれる必要があります. CUPSデーモンを開始する前に、プリンターが接続され、電源が入っていることを確認してください.

systemd
CUPSデーモンを直ちに開始し、またシステムが起動したときに開始されるようにするには:

HTTP インターフェース
サービスがいったん開始されると、認証されたユーザーはプリンターを追加することができます. root(デフォルト)およびグループのすべてのユーザーが利用可能です. ウェブブラウザーで以下のURLを開いてください:

http://localhost:631/

ファイル
にあるデフォルトのCUPSサーバー設定は、ほとんどのユーザーにとって十分です. しかしながら、一部のユーザーはCUPSの設定に変更を加える必要があるでしょう.

次の項では、しばしば必要になるいくつかの変更を扱います:


 * 他のシステムに、このLinuxワークステーションに接続されているプリンターの使用を許可する.
 * リモートシステムからCUPS管理へのアクセスを許可する.
 * CUPSを、Windows PCLドライバーをサポートするように設定する. これは、WindowsシステムがSAMBAで共有されたプリンターを使用する場合に推奨されます. WindowsのドライバーのほとんどはPCLドライバーです.
 * このシステムを、他のシステムに接続されたプリンターを(Windows共有でなく)使用するように設定する.

リモートでのプリンターアクセス
IPPを通じて他のシステムにプリンターを使用させるには、ファイルでプリンターへの明示的なアクセスを許可する必要があります. SAMBAを使用してプリンターを共有する場合には、この変更は不要です.

お好みのテキストエディターでを開き、プリンターに到達できる必要があるシステムについて 行を追加します. 次の例では、localhostおよびIPアドレスが で始まるすべてのシステムからプリンターへのアクセスを許可しています.

この行は、ネットワークのクライアントに対してブラウジング情報をブロードキャストします;これにより、プリンターが利用可能な時にネットワークユーザーに通知がなされます:

ネットワーク上の他のマシンからの印刷リクエストに反応するため、CUPSがリッスンするポートも指定する必要があります:

The CUPS server reject a hostname or server alias in the HTTP request with "Bad request" message. It works with IP-addresses by default. So if you want to print or browse CUPS interface by using a hostname or domain, add the ServerAlias parameter:

CUPSのリモート管理
リモートでの管理が必要なら、localhostだけでなく、それ以外のシステムからCUPSの管理画面へのアクセスを許可する必要があるでしょう. を編集し、アクセスを必要とする各システムに対して明示的にアクセスを許可します. たとえば、IPアドレスが192.168.0.3であるシステムに対してアクセスを許可するには:

に変更を加えた後、コマンド（OpenRC）あるいは（systemd）を実行してCUPSデーモンを再起動することを忘れないでください.

Windows PCLドライバーのサポートを有効化する
PCLドライバーは、生の(raw)データをプリントサーバーに送信します. CUPSでraw印刷を有効にするには、を編集して、もしまだアンコメントされていなければ、 という行をアンコメントします. そして、を編集して、もしまだアンコメントされていなければ、同じようにします.

これらの変更を加えたら、（OpenRC）あるいは（systemd）を実行してCUPSデーモンを再起動することを忘れないでください.

リモートのプリンターをセットアップする
プリンターがCUPSを使用しているリモートサーバーに接続されている場合、を変更することによってシステムをリモートプリンターを使用するように簡単に設定できます.

プリンターが というシステムに接続されているとすると、お好みのテキストエディターでを開き、 ディレクティブをセットします:

リモートシステムには、使用されるデフォルトのプリンター設定があります. デフォルトのプリンターを変更するには、コマンドを使用します.

まず、使用可能なプリンターをリストします:

HP LaserJet 5Pをデフォルトのプリンターとしてセットします:

はじめに
設定しようとしているプリンターが(CUPSを実行している)異なるプリントサーバーを介して利用可能ならば、以下の説明は不要です. 代わりに、リモートのプリンターをセットアップするを読んでください.

プリンターの検出
Linuxシステムが起動した時にUSBプリンターやパラレルポートプリンターの電源が入っていれば、カーネルからプリンターを正常に検知したことを表す情報を得ることができるでしょう. これは単にプリンターが検出されたことを表すものに過ぎず、必要条件ではありません.

USBプリンターの場合:

Listing available drivers
利用可能なドライバーをリストするには、以下のコマンドを実行します:

は饒舌ではなく、やや使いこなすのが難しいかもしれません. 何か問題が起こったら、を見てより詳細な情報を確認してください.

プリンターをインストールする
プリンターをシステムにインストールするには、ブラウザーを起動してhttp://localhost:631を表示してください. あらゆる管理作業が行える、CUPSのウェブインターフェースが表示されるはずです.

に移動し、ボックスにrootログインおよびパスワード情報を入力してください. そして、管理インターフェースに入ったら、をクリックします. 新しい画面が表示され、以下の情報が入力できるようになります:


 * spooler name システムでプリンターを識別するのに使われる、短く、しかしわかりやすい名前. この名前には、スペースやあらゆる特殊文字を含めないようにすべきです. たとえば、HP LaserJet 5Pは のように名付けることができます.
 * location プリンターが物理的に設置されている場所の説明(たとえば、"bedroom"(寝室)あるいは"in the kitchen right next to the dish washer"(キッチンの食器洗い機の右隣)など). これは、複数のプリンターを保守する場合に役立ちます.
 * description プリンターの完全な説明. 一般的な使用法は、("HP LaserJet 5P"のような)プリンターのフルネームです.

次の画面では、プリンターがリッスンするデバイスを尋ねられます. 複数のデバイスの選択肢が提供されるでしょう. 次の表はいくつかの考えられるデバイスを示していますが、リストは網羅的ではありません.

リモートプリンターをインストールする場合には、プリンターへのURLを尋ねられます:


 * LPDプリンターサーバーは、 という構文を必要とします.
 * HP JetDirectプリンターは、 と言う構文を必要とします.
 * IPPプリンターは、 または という構文を必要とします.

そして、次の画面でプリンターの製造元を、その後の画面でモデルタイプとナンバーを選択します. 多くのプリンター向けに、複数のドライバーが利用可能です. 一つを選択するか、あるいはOpenPrinting Printer Listで適切なドライバーを検索してください. ドライバーは後で簡単に変更できます.

ドライバーが選択されたら、CUPSはプリンターが正常に追加されたことをシステムに通知します. プリンターの設定(解像度、ページフォーマットなど…)を変更するには、管理インターフェースのプリンター管理ページに移動して、を選択してください.

プリンターをテスト・再設定する
プリンターが正しく動作しているか確認するには、プリンター管理ページに行き、プリンターを選択してをクリックします.

プリンターが正しく動作していないと思われる場合、をクリックしてプリンターを再設定します. 最初のインストールの時と同じ画面が表示されますが、デフォルト値は現在の設定になっています.

プリンターが機能しない場合、にあるCUPSのエラーログを見ることで手がかりが見つかるかもしれません. 次の例ではパーミッションエラーが見つかっており、これはおそらくファイルで間違ったの設定をしているためです.

最適なドライバーをインストールする
数多くのプリンタードライバーがあります;最適なパフォーマンスで仕事をするものを探すには、OpenPrinting Printer Listを参照してください. そのサイトがどのドライバーを推奨しているか調べるには、プリンターのブランド名とタイプ/モデルを選択します. たとえば、HP LaserJet 5Pについては、そのサイトは ドライバーを推奨しています.

PPDファイルをサイトからダウンロードし、それをに配置してから、rootで（OpenRC）か（systemd）を実行します. これにより、CUPSウェブインターフェースでドライバーが利用可能になります. そうしたら、プリンターを上で説明したように再設定しましょう.

Enabling job accounting in for Xerox printers
High-end Xerox printers (often a gray, cabinet sized device) use XCPT PDL, and XML based, and poorly documented XPIF ticketing instruction format.

XCPT filter in Cups never made it to a release grade, and the work on it was eventually dropped and all XPIF must be input into a PPD manually. Luckily, it's largely a direct copy of IPP, using XML syntax. After peeking into docs available online, we can craft an arbitrary XPIF command using corresponding IPP attributes.

To configure XPIF solely for ticketing/accounting, drop the following into any PPD:

It will draw a dropdown box in any printing ui compliant with CUPS PPD extensions to enter the id.

The long term solution would still be for Xerox to fully publish XPIF, and XCPT specifications, to allow for a proper XPIF cups filter to be developed.

はじめに
いくつかのプリンターは、特定のドライバーを必要としたり、(上で説明したような)通常の設定作業では有効にならない追加機能を提供していたりします. この章では、プリンターの選択とそれらがGentoo Linuxで動くようにする方法を説明します.

Gutenprint ドライバー
Gutenprintドライバーは、さまざまなキヤノン、エプソン、HP、Lexmark、ソニー、オリンパス、PCLの、CUPSをサポートするプリンター向けの、高品質でオープンソースなプリンタードライバーです. ghostscript、Gimpやその他のアプリケーションもサポートしています.

GentooのPortageツリーはgutenprintドライバーのebuildを含んでいます. それらをインストールするにはを実行してください. このebuildはきわめて少数のUSEフラグを要求することに注意してください. gutenprintドライバーが正しく動作するためには、少なくとも および が有効になっていなければなりません.

emergeの作業が終了すると、gutenprintドライバーがCUPSウェブインターフェースを通じて利用可能になります.

HPLIP ドライバー
HPLIP Driverを参照してください.

Lexmark driver
Most Lexmark printers are handled by their "Universal Printer Driver":

Once this is installed, there is a single Lexmark driver available in the CUPS setup wizard that should work with most printers and MFDs.

PNM2PPA ドライバー
PPAは、低レベルな処理をプリンターではなくシステムに送信することに焦点を置き、プリンターをより安価に、しかしより資源を消費するようにするHPの技術です.

OpenPrintingのサイトが、pnm2ppaドライバーが最適な選択肢であると伝えている場合、フィルターをシステムにインストールする必要があるでしょう:

インストールされたら、そのプリンター用のPPDファイルをOpenPrintingからダウンロードし、それをフォルダーに配置します. それから、上で説明した方法でプリンターを設定してください.

SpliX ドライバー
SpliXは、SPL(Samsung Printer Language)プリンター用のCUPSプリンタードライバーのセットです. SpliXドライバーは、同様にOpenPrintingから利用可能ですが、パッケージを使うとこれらのドライバーをすばやくportageの管理下でインストールすることができます. インストールするには次のコマンドを実行してください：

を実行し、を再起動します.

Brother プリンタードライバー
Brother networked printerを参照してください.

キヤノン プリンタードライバー
以下のページを参照してください：
 * Canon CAPTドライバー
 * Canon Pixmaドライバー

WindowsクライアントをIPPのために設定する
Microsoft WindowsはIPPをサポートしています(Windows 9x および ME のユーザーは、個別にインストールする必要があります). Linuxコンピューターに接続されたプリンターをWindowsにインストールするには、ウィザードを立ち上げ、を選択します. URIを尋ねられた時は、 という構文を使用してください.

WindowsクライアントをSamba共有されたプリンターのために設定する
CIFSネットワークでプリンターを共有するには、SAMBAがインストールされ、正しく設定されていなければなりません. これはこの文書の範囲を超えていますが、共有プリンターのための簡単なSAMBAの設定についてはこの文書で扱います.

お好みのテキストエディターでを開き、 セクションを書き加えます:

セクションの内側になるまでファイルの先頭の方へ移動し、 と という設定を探してそれぞれ に設定します(以下の例を見てください):

CUPSのWindows PCLサポートが有効になっているか確認してください. それから、変更を有効化するためにsmbサービスを再起動します.

LinuxクライアントをWindowsプリンターサーバーのために設定する
最初に、Windowsシステムでプリンターが共有されており、またが(上で説明したように) USEフラグを有功にしてemergeされていることを確認してください.

使いたいプリンターのURIを探すには、以下のコマンドを、 をSamba共有されているプリンターを探すコンピューターに置き換えた上で実行してください:

CUPSウェブインターフェースで、前に説明したようにしてプリンターを設定します. CUPSに という名前のもう一つのドライバーが追加されていることに気付くでしょう. それを選択し、URIには  あるいは   という構文を使用します.

はじめに
プリンター設定の補助、追加の印刷フィルターの使用、印刷能力への機能追加などのための多くのツールが存在しています. この章では、それらのうちのほんの幾つかを挙げます. リストは網羅的ではなく、またそれぞれのツールについて細部にわたって論じているものでもないことに注意してください.

Gtk-LP - GTKベースのプリンター設定ツール
を使うと、プリンターのインストール、変更、設定をスタンドアローンのGTK+アプリケーションから行うことができます. このアプリケーションはCUPSを利用しており、また標準的なCUPSの機能をすべて提供しています. CUPSウェブインターフェースが気に入らない、あるいは日常的な印刷ルーチンのためにスタンドアローンアプリケーションが欲しい場合は、もちろんこれを試してみる価値があります.

以下のようにインストールします:

KDE Plasma向けのプリンター設定ツール
KDE Plasmaにも、と呼ばれるプリンター設定ツールがあります. CUPSとともに動作し、プリンターを設定するためのユーザーフレンドリーなインターフェースを提供します. 以下のようにしてインストールします:

USE フラグ
USE フラグを有功にして現在インストールされているパッケージについては、変更する必要があります. を検索して フラグが明示的にセットされているパッケージを見つけ、そのフラグを除去します.

次に、以前セットした場合、の USE 変数から という値を除去する必要があるでしょう.

Unmerge
最後に、CUPSが削除された結果もはや必要とされなくなったすべてのパッケージをシステムから除去します.

Debugging
See archlinux wiki

Error: Unable to convert file 0 to printable format
印刷トラブルが生じ、またにこのメッセージがある:

を USEフラグを有功にして再度emergeしてください. をのシステムUSEフラグに加えてもよいですし、以下のようにしてghostscript-gplに対してのみ有効化することもできます:

そして、を実行します. コンパイルが終わった後、必ずを再起動してください.

OpenRCを使用している場合:

systemdを使用している場合:

USBプリンターが検出されない
CUPSが USEフラグが有効の状態でビルドされた事を前提とします. プリンターのキャラクタデバイスのパーミッション設定が正しい事を確認してください. 例：

このプリンターに対応するキャラクタデバイスがにあるはずです.

この例では、が過度にパーミッション設定を変更しました. これはバグです（）. 修正しましょう：

これで以下のようになるはずです：

これで、このプリンタは恐らく検出されます. このプリンタを追加し、（機能するドライバがあるなら）設定し、テストページを印刷できるはずです. これはパーミッションの問題であることを示しています. あなたのシステムが/devディレクトリを操作するためにudev/eudevを使用しているのであれば、udevファイルを作成することで、この変更を永続的にすることができます：

先程の出力によれば、デバイスは"ID 04e8:3297"です. 例示したように、これをidVendorとidProductに分割しました. これでudevは確実に、毎回のブート時やホットプラグ時に正しいパーミッションを設定するはずです.

外部の情報

 * Using Network Printers - CUPS.orgのドキュメンテーション
 * Command-Line Printing and Options - CUPS.orgのドキュメンテーション