印刷

From Gentoo Wiki
Jump to: navigation, search
This page is a translated version of the page Printing and the translation is 100% complete.

Other languages:
English • ‎español • ‎français • ‎русский • ‎中文 • ‎日本語 • ‎한국어
Resources

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

Contents

印刷と Gentoo Linux

適切なツールを使う

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

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

インストール

カーネル

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

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

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

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

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

ローカルで接続されたプリンタ (LPT)

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

KERNEL パラレルポートプリンタの設定
Device Drivers -->
  <*> Parallel port support
  <*> PC-style hardware
  [*] IEEE 1284 transfer modes
  Character Devices -->
    <*> Parallel printer support
Note
ユーザーによっては、Parallel port supportセクションの中の、その他のオプションを有効化するかもしれません。詳しくは、カーネルコンフィグのHelp機能をチェックしてください。

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

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

ローカルで接続されたプリンタ (USB)

USBでの印刷は、USB USEフラグが有効化されたCUPSでサポートされています。これは、libusbライブラリをユーザースペースでのUSBサポートのため使用しています。

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

KERNEL USB プリンタサポート
Symbol: USB_PRINTER [=n]
Type  :tristate
Prompt: USB Printer support
  Location:
    -> Device Drivers
      -> USB support (USB_SUPPORT [=y])
(1)     -> Support for Host-side USB (USB [=y])
  Defined at drivers/usb/class/Kconfig:21
  Depends on: USB_SUPPORT [=y] && USB [=y]

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

Note
When using a USB to parallel port adapter, CUPS will not be able to detect the printer. As a workaround, add the printer using a different connection type and then change the DeviceURI directive in printers.conf and restart the cupsd service:
FILE /etc/cups/printers.confModify DeviceURI
# DeviceURI usb:/dev/usb/lp0  replace this line with
DeviceURI parallel:/dev/usb/lp0

リモートで接続されたプリンタ (IPP と LPD)

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

リモートで接続されたプリンタ (CIFS)

カーネルがCIFSをサポートしている必要があります:

KERNEL CIFS プリンタの設定
File systems -->
  Network File Systems -->
    <*> CIFS support (advanced network filesystem, SMBFS successor)

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

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

USE フラグ

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

USE flags for net-print/cups The Common Unix Printing System

acl Add support for Access Control Lists
dbus Enable dbus support for anything that needs it (gpsd, gnomemeeting, etc)
lprng-compat Do not install lp... binaries so cups and lprng can coexist.
static-libs Build static versions of dynamic libraries as well
xinetd Add support for the xinetd super-server

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

root #emerge -pv net-print/cups
[ebuild N     ] net-print/cups-1.7.3  USE="X acl dbus pam ssl threads usb -debug -gnutls -java -kerberos -lprng-compat -python (-selinux) -static-libs -systemd -xinetd -zeroconf" ABI_X86="(64) (-32) (-x32)" LINGUAS="ca es fr it ja pt_BR ru" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7" 0 kB

Emerge

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

root #emerge --ask net-print/cups

追加のソフトウェア

Samba

SAMBAサポートを有効にするには、net-fs/sambaがCUPSサポートとともにインストールされている必要があります。/etc/portage/package.useファイルまたはディレクトリを更新して、cups USEフラグを有効にします:

FILE /etc/portage/package.usesamba で、cups の USE フラグを有効にする
net-fs/samba cups

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

root #emerge --ask --changed-use net-fs/samba

Avahi

Avahi can be used 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 needs to be built with the zeroconf USE flag as well.

設定

印刷グループ

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

root #gpasswd -a username lp

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

root #gpasswd -a username lpadmin

サービス

OpenRC

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

root #rc-service cupsd start
root #rc-update add cupsd default

systemd

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

root #systemctl start cups.service
root #systemctl enable cups.service

HTTP インターフェース

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

http://localhost:631/

ファイル

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

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

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

リモートでのプリンターアクセス

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

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

FILE /etc/cups/cupsd.confプリンターへのリモートアクセスを許可する
<Location />
  Order allow,deny
  Allow localhost
  Allow from 192.168.0.*
</Location>

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

FILE /etc/cups/cupsd.conf情報をブロードキャストする
BrowseAddress 192.168.0.*:631

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

FILE /etc/cups/cupsd.confポートの設定
Listen *:631
#Listen localhost:631

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:

FILE /etc/cups/cupsd.confServer alias configuration
ServerAlias *
Note
CUPS 1.1(現在は非推奨)を使用している場合、リモートの印刷リクエストのためには異なる構文が必要です:
CODE 非推奨のCUPS 1.1での設定
Port 631
(以下の2行がコメントアウトされていることを確認してください)
#Listen 127.0.0.1:631
#Listen localhost:631

CUPSのリモート管理

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

FILE /etc/cups/cupsd.confリモートアクセスを許可する
<Location /admin>
(...)
  Encryption Required
  Order allow,deny
  Allow localhost
  Allow 192.168.0.3
</Location>

/etc/cups/cupsd.confに変更を加えた後、/etc/init.d/cupsd restartコマンド(OpenRC)あるいはsystemctl restart cupsd.service(systemd)を実行してCUPSデーモンを再起動することを忘れないでください。

Windows PCLドライバーのサポートを有効化する

PCLドライバーは、生の(raw)データをプリントサーバーに送信します。CUPSでraw印刷を有効にするには、/usr/share/cups/mime/mime.typesを編集して、もしまだアンコメントされていなければ、application/octet-streamという行をアンコメントします。そして、/usr/share/cups/mime/mime.convsを編集して、もしまだアンコメントされていなければ、同じようにします。

FILE /usr/share/cups/mime/mime.typesraw 印刷サポートを有効にする
application/octet-stream
FILE /usr/share/cups/mime/mime.convs
application/octet-stream     application/vnd.cups-raw    0    -

これらの変更を加えたら、/etc/init.d/cupsd restart(OpenRC)あるいはsystemctl restart cupsd.service(systemd)を実行してCUPSデーモンを再起動することを忘れないでください。

リモートのプリンターをセットアップする

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

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

FILE /etc/cups/client.conf
# (printserver.mydomain を、あなたのプリントサーバー名に置き換えてください)
ServerName printserver.mydomain

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

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

root #lpstat -a
hpljet5p accepting requests since Jan 01 00:00
hpdjet510 accepting requests since Jan 01 00:00

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

root #lpoptions -d hpljet5p

プリンターを設定する

はじめに

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

プリンターの検出

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

user $dmesg | grep -i print
parport0: Printer, Hewlett-Packard HP LaserJet 2100 Series

USBプリンターの場合:

user $lsusb
(...)
Bus 001 Device 007: ID 03f0:1004 Hewlett-Packard DeskJet 970c/970cse
lpinfo

The lpinfo command can be used in order to list all connected printers:

root #lpinfo -v
network ipp
network http
network socket
network https
network ipps
network lpd
network lpd://BRW67890ABCDEF/BINARY_P1

Running lpinfo -l -v will give a more verbose output.


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

root #lpinfo -m

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

プリンターをインストールする

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

Note
インターフェースにアクセスする際に初めてHTTPS接続を使用した場合、ページが表示されるまでに非常に長い時間がかかることがあります。これは、最初のリクエストによって、時間のかかる処理であるCUPSのSSL証明書の生成が引き起こされるためです。

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

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

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

デバイス 説明
AppSocket/HP JetDirect この特殊なデバイスは、ネットワークプリンターを、HP JetDirectソケットを通じてアクセス可能にします。特定のプリンターのみがこのオプションへのサポートを含みます。
Internet Printing Protocol (IPPまたはHTTP) 直接(IPP)、あるいはHTTP経由でのIPPプロトコルを使用してリモートプリンターへ到達します。
LPD/LPR Host or Printer プリンターがリモートで、かつLPD/LPRサーバーに接続されている場合にはこのオプションを選択します。
Parallel Port #1 プリンターがローカルのパラレルポート(LPT)に接続されている場合に選択します。プリンターが自動的に検知されたら、その名前がデバイスに追加されます。
USB Printer #1 プリンターがローカルのUSBポートに接続されている場合に選択します。プリンターの名前が、デバイス名に自動的に追加されます。

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

  • LPDプリンターサーバーは、lpd://hostname/queueという構文を必要とします。
  • HP JetDirectプリンターは、socket://hostnameと言う構文を必要とします。
  • IPPプリンターは、ipp://hostname/printers/printernameまたはhttp://hostname:631/printers/printernameという構文を必要とします。

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

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

プリンターをテスト・再設定する

プリンターが正しく動作しているか確認するには、プリンター管理ページに行き、プリンターを選択してPrint Test Pageをクリックします。

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

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

root #tail /var/log/cups/error_log
(...)
E [11/Jun/2005:10:23:28 +0200] [Job 102] Unable to get printer status (client-error-forbidden)!

最適なドライバーをインストールする

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

PPDファイルをサイトからダウンロードし、それを/usr/share/cups/modelに配置してから、rootで/etc/init.d/cupsd restart(OpenRC)かsystemctl restart cupsd.service(systemd)を実行します。これにより、CUPSウェブインターフェースでドライバーが利用可能になります。そうしたら、プリンターを上で説明したように再設定しましょう。

特別なプリンタードライバーを使用する

はじめに

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

Gutenprint ドライバー

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

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

root #emerge --ask net-print/gutenprint

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

HPLIP ドライバー

HPLIP Driverを参照してください。

PNM2PPA ドライバー

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

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

root #emerge --ask net-print/pnm2ppa

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

SpliX ドライバー

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

root #emerge --ask net-print/splix

を実行し、cupsdを再起動します。

Brother プリンタードライバー

Brother networked printerを参照してください。

キヤノン プリンタードライバー

以下のページを参照してください:

Microsoft Windowsへ/から印刷する

Note
CUPSをSambaとともにセットアップする場合のより詳細な情報については、Samba/CUPS Guideを参照してください。

WindowsクライアントをIPPのために設定する

Microsoft WindowsはIPPをサポートしています(Windows 9x および ME のユーザーは、個別にインストールする必要があります)。Linuxコンピューターに接続されたプリンターをWindowsにインストールするには、プリンターの追加ウィザードを立ち上げ、ネットワークプリンターを選択します。URIを尋ねられた時は、http://hostname:631/printers/queueという構文を使用してください。

WindowsクライアントをSamba共有されたプリンターのために設定する

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

お好みのテキストエディターで/etc/samba/smb.confを開き、[printers]セクションを書き加えます:

CODE [printers] セクション
[printers]
  comment      = All printers
  path         = /var/spool/samba
  browseable   = no
  guest ok     = no
  writable     = no
  printable    = yes
  public       = yes
  printer name = hpljet5p

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

CODE smb.confの[global]セクションを変更する
[global]
  (...)
  printcap name = cups
  printing      = cups

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

LinuxクライアントをWindowsプリンターサーバーのために設定する

最初に、Windowsシステムでプリンターが共有されており、またnet-fs/sambaが(上で説明したように)cups USEフラグを有功にしてemergeされていることを確認してください。

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

user $smbclient -N '\\server\'

CUPSウェブインターフェースで、前に説明したようにしてプリンターを設定します。CUPSにWindows Printer via SAMBAという名前のもう一つのドライバーが追加されていることに気付くでしょう。それを選択し、URIには smb://username:password@workgroup/server/printername あるいは smb://server/printername という構文を使用します。

Important
上のURIの中にあるすべての特殊文字は適切にエスケープされている必要があります。例:

smb://BEN-DESKTOP/HP Color LaserJet CP1510 series PCL6

は以下のようになります:

smb://BEN-DESKTOP/HP%20Color%20LaserJet%20CP1510%20series%20PCL6

この結果の文字列は以下のコマンドを実行することで得ることができます:

user $python2 -c 'import urllib; print "smb://" + urllib.quote("BEN-DESKTOP/HP Color LaserJet CP1510 series PCL6")'

印刷関連のアプリケーション

はじめに

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

Gtk-LP - GTKベースのプリンター設定ツール

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

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

root #emerge --ask net-print/gtklp

KDE Plasma向けのプリンター設定ツール

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

root #emerge --ask kde-apps/print-manager

削除

USE フラグ

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

次に、以前セットした場合、/etc/portage/make.confUSE変数からcupsという値を除去する必要があるでしょう。

Unmerge

root #emerge --ask --depclean --verbose net-print/cups

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

root #emerge --ask --depclean

トラブルシューティング

Error: Unable to convert file 0 to printable format

印刷トラブルが生じ、また/var/log/cups/error_logにこのメッセージがある:

CODE エラーログ
Unable to convert file 0 to printable format

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

root #echo "app-text/ghostscript-gpl cups" >> /etc/portage/package.use

そして、emerge app-text/ghostscript-gplを実行します。コンパイルが終わった後、必ずcupsdを再起動してください。

OpenRCを使用している場合:

root #service cupsd restart

systemdを使用している場合:

root #systemctl restart cups

USBプリンターが検出されない

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

user $lsusb Bus 002 Device 058: ID 04e8:3297 Samsung Electronics Co., Ltd ML-191x/ML-252x Laser Printer

このプリンターに対応するキャラクタデバイスが/dev/bus/usb/002/058にあるはずです。

user $ls -l /dev/bus/usb/002/058 crw-rw-r-- 1 root android 189, 185 Apr 16 05:55 /dev/bus/usb/002/058

この例では、/lib64/udev/rules.d/80-android.rulesが過度にパーミッション設定を変更しました。これはバグです(bug #644636)。修正しましょう:

root #chgrp lp /dev/bus/usb/002/058
root #chmod 660 /dev/bus/usb/002/058

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

user $ls -l /dev/bus/usb/002/058 crw-rw---- 1 root lp 189, 185 Apr 16 05:55 /dev/bus/usb/002/058

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

FILE /etc/udev/rules.d/99-printer.rulesカスタムudevルール
SUBSYSTEMS=="usb", ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="3297", MODE="0660", GROUP="lp"

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

参考

  • Samba — a re-implementation of the SMB/CIFS networking protocol, a Microsoft Windows alternative to Network File System (NFS).

外部の情報


This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Sven Vermeulen (SwifT),
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.