C++ ときどき ごはん、わりとてぃーぶれいく☆

USAGI.NETWORKのなかのひとのブログ。主にC++。

続・Arch Linux と Canon MP640 (最終的にノンフリー注意・x・)

前の記事の続き。

なんだけど、前の記事の後半が投稿したらぽっかりと消えたのでもう書く気力無いし眠いのでざくっとだけ書く。

  1. libs
  2. cngpij
  3. pstocanonij
  4. backend
  5. backendnet
  6. cngpijmon/cnijnpr

以上のうち下2つを除いてビルドできた。下2つはソースに同梱はされているがビルド済みのCanonの共有ライブラリに依存してるのだけど、リンカーがうまい事処理できずにビルド不能。
(そらまーこのリンクしようとしている.soはx86仕様でしょうし、後何やらそもそもGCC3.xにデグレードしないとリンカーがこけるとかいう情報もあったり)

LH-MAIN /tmp/mp640/cnijfilter-source-3.20-1/backendnet% find ../ -name "libcnnet.so"
../com/libs_bin/libcnnet.so

ファイルはここにある。

で、この2つはネットワーク版のドライバーと何かだろうから、他がビルドできているのでUSB接続ならまあ使えたりするんじゃないっていうテスト。もう色々めんどくさくなっているのでわりと乱暴。

LH-MAIN /tmp/mp640/cnijfilter-source-3.20-1% sudo rc.d stop cupsd 
:: Stopping cupsd daemon                                                                 [DONE] 
LH-MAIN /tmp/mp640/cnijfilter-source-3.20-1% yaourt -R cnijfilter-common-mp640 cnijfilter-mp640
checking dependencies...

Targets (2): cnijfilter-common-mp640-3.20-1  cnijfilter-mp640-3.20-1

Total Removed Size:     7.21 MiB

Do you want to remove these packages? [Y/n] 
(1/2) removing cnijfilter-mp640                           [###############################] 100%
(2/2) removing cnijfilter-common-mp640                    [###############################] 100%
LH-MAIN /tmp/mp640/cnijfilter-source-3.20-1% sudo make install 
LH-MAIN /tmp/mp640/cnijfilter-source-3.20-1% sudo rc.d start cupsd

f:id:USAGI-WRP:20120306032203p:plain

USBドライバーは入ってるけどネットワークドライバーは入ってないですね。はいはい。

LH-MAIN /tmp/mp640/cnijfilter-source-3.20-1/ppd% sudo cp canonmp640.ppd /usr/share/cups/model/

ドライバーのmakeが全体としては完了していない為か.ppdを手作業コピーしてやる必要があった。

…しかし、これは酷い。まったくプリンターが応答しない。

なかなかこのプリンターをArch Linux x86_64で使うことを躊躇っていたのはまさにこの面倒が見えていたからだった。うん、だるい。もう嫌だ。とりあえず消し去ろう。

LH-MAIN /tmp% sudo rm /usr/share/cups/model/canonmp640.ppd
LH-MAIN /tmp/mp640/cnijfilter-source-3.20-1/libs% sudo make uninstall     
LH-MAIN /tmp/mp640/cnijfilter-source-3.20-1/cngpij% sudo make uninstall
LH-MAIN /tmp/mp640/cnijfilter-source-3.20-1/pstocanonij% sudo make uninstall
LH-MAIN /tmp/mp640/cnijfilter-source-3.20-1/backend% sudo make uninstall

さて、ここでノンフリーなのでとりあえず見ないことにしていたものがある。

時間が掛かっても得られる知見が多ければまたそれも良いかもしれないが、いやはやこの間に得られたトリビアに価値は無いし、結局目的は未達成という最悪の状況だ。さすがに労力を他の仕事に回していればこのソフトを購入できるだけの稼ぎは得られていた事だろう。(゜∀。)ワヒャヒャヒャヒャヒャヒャ

と、言う訳で試す。感動したら買いましょう。

例によってAURにあった。TurboPrintはインストールから30日間は体験版として利用でき、それ以降はオンラインで購入できるキーファイルが無いと使えないよっていう仕組みらしい。

LH-MAIN /tmp% yaourt -S turboprint

f:id:USAGI-WRP:20120306035342p:plain

と、いうわけでGUIる。

f:id:USAGI-WRP:20120306035456p:plain

さっそく Addでプリンターを追加してテストページを印刷してみた。

f:id:USAGI-WRP:20120306040024j:plain

USB接続については問題ない。感動した。私はプリンタードライバーを改良したり改造したりしたいわけでは全く無いのでプリンターが動く為にかける労力など配線して電源を繋いでやるくらいしかモチベーションが無い。さっきのは惰性だ・x・;

さて、これでWiFiでつながったネットワーク経由でも印刷ができたら1万円でも買うだろう。物事の対価という物はトレードオフが成立していれば良いのです。幸い、執筆現在のレートでは 29.95ユーロ = 3,226.39746 円で購入できる。この価格設定はうっかりと今回の様な酷い目に遭わない為には十分に適正な価格だろう。この安い方ではCMYKが扱えない様だが、一般家庭のプリンターでCMYKデータで印刷したいニーズは幸い私個人としては弱い。そこまで拘る時には家庭用のプリンターで印刷する事はまず無いので。

f:id:USAGI-WRP:20120306042022p:plain

なんとも簡単だった。先程USB接続でaddしたプリンターのConfigureを開き、接続タイプを standart printer から other printer に変更し、 Server に MP640のホスト名 を書いて(Test Server Connectionを確認し、)OKするだけで良かった。これだけでネットワーク経由でもToolboxからデモページを印刷する事ができた。素晴らしい。

(※ちなみに Server である MP640 に LH-PTR1 でアクセスできる理由は、私のネットワークでは unbound が DNSコンテンツサーバー としても稼働している為です。ホスト名によるアクセスは/etc/hosts等でもできますが、DNSが稼動しているわけではない場合はIPアドレスで直接指定しても恐らく問題無いでしょう・w・b)

さて、ではさくっとお金を払って寝るとします!
ありがとうTurboPrint!
おやすみなさい☆ミ