スキャナを接続しよう

GIMPを入れたのは、実はGTK+を使いたかったから、ってのは書いたけど、他にも目的があったんだよね。それは、スキャナを使うことだ。UMAX Astra 1200SというSCSI接続なフラットベッドのスキャナを買ってあったんだけど、こいつをLinuxで使うには、バックエンドのドライバ、フロントエンドにユーティリティが必要なのだ。

で、これが世の中にはちゃんとあるのさ。SANEのホームページに行くと、およそありとあらゆるSCSI接続なスキャナを使用するのに必要なものが全部手に入る。SANEというのは、Scanner Access Now Easyの略なんだそうだ。てなワケで、パラレルポートに接続するタイプのスキャナはこのSANEでは全然相手にしてなかったりするので注意だ。

SANEとは直接関係ないが、どうもオレは個人的にはパラレルポートやIDEはキライ、SCSI好きという時代に逆行するようなヤツ(笑)なので、最近の、ディスクといえばUltraATA、スキャナといえばパラレルポート、という風潮には困ったもんだ。

Windowsを使っているぶんにはいいのかも知れないが、LinuxだとどうもIDEって遅くてダメな気がする。UltraATAって33MB/Sの転送速度だそうだけど、それってバースト転送の時じゃないの?普段はどうなんだ。

マルチプロセスでわさわさアクセスしたとき、結局アクセス要求を一つ一つ処理して、他のはみんな待たされちゃうんじゃないの?実際にはアクセスせずとも、コマンドだけは受け付けてキューに放り込み、処理を戻してくれるSCSIの方が何かと速いと思うんだが。

UltraDMAにしろUltraSCSIにしろ、すでに転送速度はディスクの送り出しよりも十分に速いから、本当に真価を発揮させるには、接続形態そのものよりも、いかに回転数の高いディスクユニットを使うか、ってことになっちゃってるとは思うけど、UltraATAは33MB/Sだから20MB/SなUltraSCSIよりも速いんだ、というのは、ガキの頃にはやったスーパーカーブームを思い出させるよな。

カウンタックは最高速300km/hだからポルシェ・ターボよりも速い的なガキの発想。そらまっすぐ全開で走ってるときの話だろ?道ってのは曲がったりくねったりしてるの。すべからく、ファイルもあっちから読んだりこっちへ書いたりしているわけよ。しかも、ディスクが1台だけならいいが、CD-ROMと混在させたりしたら、ディスクがCDに引っ張られてガクッと遅くなったりしちゃうんじゃないの?使い物にならんぜそれじゃあ。

つまるとこ、IDEもパラレルポートも、バスとしての形態を成してないってとこが好かんのだな。SCSIもごちゃごちゃしてるが、まだまっとうに見える。だから使う。

プロセッサの負荷を少しでも軽くしようとして、バスマスタに転送処理やバスの調停をまかせると全体として速くなるのが道理だ。プロセッサも単にバスにぶら下がってバスを利用している1つのデバイス、といったメインフレーム的なアーキテクチャで、こういうほうがキレイで好きなんだが、プロセッサがオニのように速くなると、もうそんな形式は無視して、なりふりかまわずプロセッサが自らガシガシとI/Oするほうが速いぜ、などという逆行現象が起きる。PCの世界って、結局今までそれを繰り返しているよな。利害のぶつかりあいで、ユーザ不在のままいろいろな規格ができるようなことも多い。

だったらオレは、IDEごときを高速化したUltraATAは好かんし、パラレルポートにプリンタだスキャナだZipドライブだ、とズラズラとチェインするのは好かん、という自分の好みに準じることにしよう。

とはいえ、これはED-Betaをベストなデッキと信ずる(笑)オレ様の好みであって、めんどうなことがキライな、これを読んでるライトなキミにはおすすめしない。だまって言われた通り、U-ATAを買っときなさい(笑) 良いモノが必ずしも普及して生き残るとは限らないからねぇ。VHSとβ、WindowsとOS/2、あげればキリがない。歴史が証明している。

SANEに戻ろう。まず、SCSI接続なスキャナを使うためには、KernelにSCSIドライバを組み込んでやる必要がある。モジュールでももちろんOKだ。使おうとしているSCSIカードに対応するドライバをmake configして選択しよう。オレはAHA-2940UWをハードディスクやCD-ROMに使っているが、スキャナにはAHA-1540を用意して、専用のSCSIポートとして使用している。というか、スキャナに付いてきたのだ。スキャナごときのゲロ遅なデバイスに、何10MB/Sもの転送速度なんていらんからねぇ。

あと、その他に、Generic SCSI Device のサポートも必要だ。これもmake configで選択しよう。ようするに、ディスクやCD-ROMじゃない、なんだか知らんけどSCSIなデバイス(笑)を使うよ、ってことだ。

こうしてkernelを再構築して、スキャナを接続してリブートし、kernelがスキャナをデバイスとして認識してくれるところまではSANEを使う使わないにかかわらず必要なので、確実に認識されるまで調整しよう。

さて、SANEの6/15現在の最新バージョンは、SANE 0.73だ。sane-0.73.tar.gzをゲットしてきてmakeしよう。./configure ; make して、su になって make install するだけ。簡単だ。

GTK+をインストールしていないと、GUIなフロントエンドの xscanimageはmakeされないから注意だ。あらかじめGTK+がインストールしてあれば、configureが検出してくれる。

makeがエラーなく終ったら、sane-0.73/toolsの下で、find-scannerを実行してみよう。

find-scanner: found "MUSTEK MFC-06000CZ 1.01" at device /dev/scanner
find-scanner: found "MUSTEK MFC-06000CZ 1.01" at device /dev/sge
こんな風な表示が出ればOKだ。

UMAXのスキャナを使っている人は、実はSANE-0.73に対するパッチがすでに出ているので、そっちを使うほうがよい。実はオレもそうしている。と思っていたら、今日付でアップデートされているでわないか。やるなぁ。おまえも見習えよ>ビル(笑)。てワケでUMAXユーザはsane-umax-0.73g.tar.gzを使おう。

makeの仕方はこっちも簡単だ。まずsane-umax-0.73g.tar.gzを展開すると、その中にcpsaneという実行ファイルがあるので、それを実行してファイルをコピーする。sane-0.73.tar.gzを/usr/local/src/sane-0.73に展開してあったとすると、
cpsane /usr/local/src/sane-0.73
を実行しよう。すると、上書きでコピーしちゃうけどいい?などと聞いてくるので、大文字でYESと入力しよう。これでパッチは完了。あとはSANEをもう一度makeしなおせばよい。

GTK+をインストールしてあれば、xscanimageというX上で動作するフロントエンドもmakeされているハズだ。/usr/local/bin/xscanimageってのがあるでしょ?

コイツがなかなかの優れモノで、GIMPのPlug-Inとして使えるのぢゃよ。GIMPをインストールして、一度でも起動したことがあるなら、~/.gimp/plug-insというディレクトリができている。ここに、ln -s /usr/local/bin/xscanimage xscanimage としてリンクを置いておこう。すると、GIMPのXtnsのメニューにAcquire Imagesというメニューが追加されているハズだ。これが実はxscanimageなのだ。

そのままGIMPで加工できる形で画像を読み込んでくれて、まったくシームレスに使えるからすっごく便利。オススメだ。サンプルとして、取り込んだ画像を付けておくから見てね。

アリエールの絵

香織が書いた、リトル・マーメイドの絵だ。わはははは。すげぇ顔だろ。直筆の英語なサイン入りだぞ!

サンプル・プログラムをプリントした紙の裏に書いたものなんだけど、うっすらとプログラムが透けて見えるのがわかるのも笑えるよね。

メール 前へ 次へ 戻る