Shino's Bar

お家で使うLinuxtux


オールインワン機 PX-A720を使う (スキャナ編)

3 Mar 2008 (初出:22 Apr 2007) scanimageコマンドの間違い修正

EPSON社のオールインワン機 PX-A720を購入し、Vine Linux 4.1に接続しました。

--> プリント編

スキャナ用ソフトの導入(sane編)

スキャナ用ソフトとしては、まず sanexsaneを導入します。 Vine Linuxでは synaptic あるいは aptを使って xsaneをインストールすれば、必要な saneも一緒にインストールされます。

また、 usb-ownerをインストールします。USB接続では、ディバイスファイルの所有権がrootになり、そのままでは非rootユーザーでスキャナを使用 することはできません。 このソフトは接続されたUSB機器のディバイスファイルの所有者を、 現在コンソールを使用している所有者とします。 usb-ownerはVinePlusのextrasに収録されています。 /etc/apt/sources.listのリストに extrasが含まれていなければ、これを追記します。 たとえば kddlabs mirrorの 場合、

# (kddlabs mirror)
rpm     [vine] http://ftp.kddlabs.co.jp/pub/Linux/distributions/Vine/apt 4.1/$(ARCH) main plus updates nonfree extras
rpm-src [vine] http://ftp.kddlabs.co.jp/pub/Linux/distributions/Vine/apt 4.1/$(ARCH) main plus updates nonfree extras

こうしてから synapticを立ち上げ、再読み込みすると usb-ownerが見えて、インストール可能になります。

saneの設定

saneの設定は /etc/sane.dにあります。 /etc/sane.d/dll.confepsonの行があるかチェックします。 行頭に # があるとコメントとして無視されますので、あれば取り除きます。 次に /etc/sane.d/epson.confです。 PX-A720はUSB接続なので、usbの行が効きます。 スキャナが古い機種であれば、この行を生かす(行頭に#があれば除く)だけでsaneの設定は終わりです。 しかし、PX-A720ではこの行にvender codeと product codeを加えないといけません。

この状態で USBに PX-A720を接続、電源を入れます。そのあと、 コマンドラインから次のコマンドを入れると、USB接続スキャナが見付かるはずです。

$ find-scanner

found USB scanner (vendor=0x04b8 [EPSON], product=0x082e [USB2.0 MFP(Hi-Speed)]) at libusb:005:004

最後のほうのlibusb:以降の数字はデバイスファイルの番号で、システムや接続の順番により異なります。 vender=の数字 0x04b8 とproduct=の数字 0x082eの2つが今回重要です。

/etc/sane.d/epson.confにあった usbの行に、次のように、これらのコードを追加します。

usb 0x04b8 0x082e

これでsaneを通じて PX-A720のスキャナ機能が使えるようになりました。 コマンドラインから scanimage -L でスキャナがリストに登場します。 libusb:以降の数字はデバイスファイルの番号で、システムや接続の順番により異なります。

$ scanimage -L

device `epson:libusb:005:004' is a Epson CX6000 flatbed scanner

これで設定は終わりです。 xsaneから、またgimpの「ファイル」→「取り込み...」メニューからxsaneを立ち上げてスキャナを使うことができます。 機種は CX6000と認識されていますが、これと互換性があるということでしょう。ちゃんと動いているようです。

スキャナ用ソフトの導入(Image Scan!編)

EPSON AVASYS社が EPSON製スキャナのLinux用ドライバImage Scan!を配布しています。 これが無くてもPX-A720は使えるようですが、せっかくですので専用ドライバをインストールしてみます。 さきに上記記事にしたがって saneとxsaneをインストールしておきます。 また usb-ownerもインストールしておきます。

EPSON AVASYSのページから「Linuxドライバ ダウンロード」のところで「オールインワン」に進みます。 「機種選択」で「PX-A720」を選び、「ディストリビューション」を選びます。 Vine Linuxでは「ディストリビューションのバージョン」は「その他」とします。 また、アンケートのいくつかに答えます。

スキャナ ドライバは(for gcc 3.4 or later)と(for gcc 3.2/3.3)があります。 Vine Linux 4.1では (for gcc 3.2/3.3)とある RPMパッケージの iscan-2.6.0-0.i386.rpm をダウンロードします。 ついでにプリンタ ドライバ CUPS版 pipslite-cups-1.0.0-1.i386.rpm もダウンロードしておきます。 それぞれ root権限でインストールします。ダウンロードしたディレクトリで

$ su
(rootのパスワードを入力)
# rpm -Uvh iscan-2.6.0-0.i386.rpm
# rpm -Uvh pipslite-cups-1.0.0-1.i386.rpm

iscanはソースも配布されていますが、これをコンパイルしても動作しません。 バイナリで配布されている上記RPMをインストールしてください。

Image Scan!インストール後の設定

iscanをインストールすると、 /etc/sane.d/dll.confepkowa の行が自動的に追加されます。 epsonは残していても構いませんが、邪魔であれば行頭に # を書き加え、コメントアウトしておきましょう。

#epson
epkowa

これで saneの epsonドライバの代わりに epkowaドライバが使われます。 /etc/sane.d/epkowa.conf には usb の行があるはずです。 このままでOKです。vender code や product codeなどの新たな設定は必要ありません。

/usr/lib/iscan/make-udev-rulesが作るrulesは Vine Linux 4.1の udevのバージョンには適合せず、使えません。 USBデバイスファイルの所有権は usb-ownerによって行われるので、rulesの作成手順は必要ありません。

$ scanimage -L では、

device `epkowa:libusb:005:004' is a Epson PX-A720 flatbed scanner

と、ちゃんと PX-A720として機種が認識されているようです。

Image Scan!の起動

コマンドラインから iscan と入力するか、 GIMPから「拡張」→「Aquire Image」→「Scanning(iscan)...」で、Image Scan!が立ち上がります。

iscanに含まれるドライバは SANE(scanimage)、xsaneからも使えます。 GIMPからは「ファイル」→「取り込み...」メニューからxsaneが立ち上がり、同様に使えます。

デバイスファイルの所有権

usb-ownerは USB機器が接続されたときにコンソールを使用しているユーザーに所有権を設定します。 機器が接続された後でユーザーが変わっても、所有権は前のユーザーのままなので、 新しいユーザーはこれを使えません。

USBを抜き差しするかUSB機器の電源を入れ直すことでこの問題は解決しますが、 毎度めんどうだという場合は、次の変更をしてください。 /lib/udev/usb_owner.sh の中の chown "$USER" "$DEVNAME"とある行を見付け、その後に chmod 命令を付け加えます。 編集は root権限で行ってください。

# change the owner of the usb device to be the console user
chown "$USER" "$DEVNAME"
chmod 666 "$DEVNAME"

この変更で、接続されたUSB機器はどのユーザーからも自由に読み書きができるようになります。

関連リンク


当サイトからダウンロードできるRPMはいずれもテストパッケージです。動作報告を募集しています。
RPM / nosrc.rpmからの導入法は当サイトの説明ページ
問い合わせ、情報は Linux BBS

Shino's Bar goto [シノバー店内案内] [お家で使うLinux]