海外で、公式にはLinuxドライバが公開されていない、Canonのプリンタ複合機
Pixma MP460 をUbuntuで動作させた方がいたので試してみました(リンク先は英語)。
オフィシャルのmp160のドライバ(海外版)を流用して、オープンソースのスキャナユーティリティとSANEバックエンドを使うようです。
Pixusは海外では、Pixma ブランドと呼ばれている。
●結果。英語のドライバなので少し不安でしたが。動いた。
プリントは楽なのに、スキャナの設定が難しい。
インストール後に Kate, OpenOffice.org での文書プリントアウトを確認。日本語文書とかもOK
GIMPやXSANE でのスキャナ認識に失敗、しかし、コマンドライン上からrootによるスキャンは成功。
SANEのインストールが必要?
http://www.linux.or.jp/JF/JFdocs/SANE-tutorial-JP-2.html
やり方
1. ドライバのアーカイブをデスクトップにダウンロード
2. Alien で rpm をdebianパッケージ に変換。(UbuntuはDebian系のため)
3. debian パッケージをインストール。
4. libtif ライブラリのシンボリックリンクを張る。
5. libpng3インストール&シンボリックリンク
6. CUPS(UNIXのプリンタシステム)の再起動
7. lpadmin で-pプリンタ名 -P ppdファイル -v デバイス 。プリンタ情報を関連づけ
(PPDファイルは前の段階でインストールされているのでそれを使う)
8. libxml をインストール
9.Scanner utility and SANE backend for Canon PIXMA MP series をダウンロードし、解凍。
(スキャナユーティリティと Pixma 用の SANEバックエンド)
10. その前に、プリンタとマシンをUSBケーブルで接続、プリンタの電源を入れておく。
11. Scanner utility and SANE backend for Canon PIXMA MP series を解凍したディレクトリに入って
12. sudo make install
12-1. 選択枝に Y (yes)で答えていく。
テストスキャンが実行される。スキャナユニットが動く音。
Executing: ./scan -x 10 -y 15 -w 51 -h 25 -1 -d 10 -W /tmp/pixmascan.pnm 2> /tmp/pixmascan.log
(pnmというのがデフォルトの画像形式。.tif で保存も可能, 上のでは tmpディレクトリに画像に保存されている)
12-2. /usr/local/bin/にスタンドアロンのスキャナ実行プログラム pixmascan を作るけど良いですか? Y (yes)
12-3. SANEバックエンドのインストール
SANE backend directory: /usr/lib/sane
SANE dll.conf: /etc/sane.d/dll.conf
12-4./usr/lib/saneには、 libsane-pixma.so.1 が既に存在するけど上書きして良いですか?Y (yes)
12-5 基本インストールの完了
NOTE: You probably need to set the permission of the device node in
/dev/bus/usb or /proc/bus/usb. See the manual of your OS.
For Linux, see http://www.sane-project.org/README.linux
コマンドライン上から、sudo pixmascan 〜でスキャンが可能になる。
もし root 以外の人でもスキャナが使えるようにするには。 後でusb デバイスのパーミッションを変える必要があるらしい。
ただし、セキュリティ的にマズい場合は、saned をproxyとして利用する方法があるとか。
12-6 SANE backend のテストをするけど良いですか?Y (yes)
Executing: scanimage > /tmp/scanimage.pnm 2> /tmp/scanimage.log
Please check /tmp/scanimage.pnm and /tmp/scanimage.log
●インストールされたファイル群。
・mp460.ppdファイル(プリンタ記述ファイル) /usr/share/cups/model/canonmp160.ppd
・Sane バックエンド
SANE backend directory: /usr/lib/sane
SANE dll.conf: /etc/sane.d/dll.conf
・pixmascan, スタンドアロンの(スキャナデバイスの一覧表示などもできる)
・scanimage, SANE(Scanner Access Now Easy) のバックエンドツール(スキャナデバイスの一覧表示などもできる)
例えばA4サイズを解像度350dpiでスキャンするには、
sudo pixmascan -p A4 -1 -d 350 -W ./scanimaged.tif
この時 カレントディレクトリにスキャン画像、scanimaged.tif が作成されますが、
このファイルは、所有者がrootになっているので、sudo chmod で権限を変更する必要があります。
実際やってみた手順
●まず、Alien をインストール
apt-get install alien –scripts
●スキャナ&プリンタのドライバはここからダウンロード(ドライバは英語ですが、問題ないようです)
これらはデスクトップにダウンロードします。
http://canon.com.au/products/all_in_one_printers/all_in_one_printers/mp160_support.aspx
●Alien を使ってrpm をdebianパッケージ に変換。
sudo alien ./cnijfilter_common_2_70_1_i386.rpm –scripts
sudo alien ./cnijfilter_mp160_2_70_1_i386.rpm –scripts
sudo alien ./scangearmp_common_1_00_1_i386.rpm –scripts
sudo alien ./scangearmp_mp160_1_00_1_i386.rpm –scripts
●debian パッケージをインストール。
sudo dpkg -i ./cnijfilter-common_2.70-2_i386.deb
sudo dpkg -i ./cnijfilter-mp160_2.70-2_i386.deb
sudo dpkg -i ./scangearmp-common_1.00-2_i386.deb
sudo dpkg -i ./scangearmp-mp160_1.00-2_i386.deb
●libpng3をインストール
sudo apt-get install libpng3
●libtiffライブラリのシンボリックリンクを張る
sudo ln -s /usr/lib/libtiff.so.4 /usr/lib/libtiff.so.3
●cups(UNIXのプリンタシステム) を再起動。
sudo /etc/init.d/cupsys restart
●cups ディレクトリに移動
cd /usr/share/cups/model/
●lpadmin,( lp:ラインプリンタ アドミン)で、プリンタ情報を関連づけ
sudo lpadmin -p MP160 -P canonmp160.ppd -v cnij_usb:/dev/usblp0 -E
●libxmlインストール
sudo apt-get install libxml1
●Scanner utility and SANE backend for Canon PIXMA MP series をダウンロード。
http://home.arcor.de/wittawat/pixma/#download
http://home.arcor.de/wittawat/pixma/mp150-0.13.1.tar.bz2
●アーカイブを解凍して、そのディレクトリに入って
cd /home/user/Desktop/mp150-0.13.1
●プリンタとマシンをUSBケーブルで接続後、プリンタの電源を入れてから。
sudo make install
●make中のメッセージに従って、質問には Y/Nで答えていきます。(私は全てy(Yes)で答えました)
Please connect and turn on your scanner! I will try to detect it.
Please wait until your scanner is ready, then press return...read: 39: arg count
Connected scanner(s):
1: Canon PIXMA MP460 (SN:XXXXX_YYYYYY)
I'm about to do a test scan. Please put a magazine or photo in the scanner.
The image will be saved in /tmp/pixmascan.pnm, log file in /tmp/pixmascan.log.
Proceed? [YES/no] y
Executing: ./scan -x 10 -y 15 -w 51 -h 25 -1 -d 10 -W /tmp/pixmascan.pnm 2> /tmp/pixmascan.log
Connected scanner(s):
1: Canon PIXMA MP460 (SN:XXXXX_YYYYYY)
Scan mode: color
DPI: 75x75
Offset: (32,64) = (1.08cm, 2.17cm)
Dimension: 151x74 = 5.11cm x 2.51cm
Size: 35 kiB (uncompressed, raw)
Source: Flatbed
Scanning...
100% done (35520 bytes written)
Ok, the driver seems to work with your scanner.
Please check /tmp/pixmascan.pnm if it shows a small picture.
Install the stand-alone program in '/usr/local/bin'? [YES/no] y
The stand-alone programm was successfully installed at
/usr/local/bin/pixmascan
SANE backend directory: /usr/lib/sane
SANE dll.conf: /etc/sane.d/dll.conf
Installing the SANE backend...
libsane-pixma.so.1 already exists in /usr/lib/sane.
Overwrite? [yes/NO] y
Basic installation completed.
NOTE: You probably need to set the permission of the device node in
/dev/bus/usb or /proc/bus/usb. See the manual of your OS.
For Linux, see http://www.sane-project.org/README.linux
Now, I will test the SANE backend. Continue? [YES/no] y
Executing: scanimage > /tmp/scanimage.pnm 2> /tmp/scanimage.log
Please check /tmp/scanimage.pnm and /tmp/scanimage.log
●スキャン時のオプション
sudo pixmascan -x 10 -y 15 -w 51 -h 25 -1 -d 10 -W /tmp/pixmascan.pnm
Usage: scan [options]
-p {help,A4,...}
set paper size.
-m {color,gray}
set scan mode, color or grayscale.
-x -y
-w -h
offset (x,y) dimension (w,h) in millimeters.
-r {75,150,300,600,1200,...}
resolution in DPI.
-1
start immediately and scan only 1 page.
-f pnm
set output file format, default is pnm.
-L
list connected scanners.
-LL
list all supported scanners.
-g
set gamma value, default = 2.2
-W
allow overwriting output file
-a
use automatic document feeder
-B
wait until a scanner button is pressed and exit.
-d debug level [0,100]
Last modified 2007.0924