2009年1月23日金曜日

Ubuntu8.04 amd64版にCanon MP600 Printerドライバーとユーティリティーを入れる

32bitバージョンのドライバーとユーティリティーを入れるわけですから、素直には行きませんでした。
おさらい。
CanonのドライバーダウンロードページからMP600用の共通パッケージと機種別パッケージをダウンロードしますが、両方共にrpmパッケージです。
僕の場合は、cnijfilter-common-2.70-1.i386.rpm cnijfilter-mp600-2.70-2.i386.rpmの二つでした。
まず、alienパッケージとプリンタードライバーを動作させるために必要なライブラリーをインストールしておきます。
gnome-terminalから、

$> sudo apt-get install alien libxml1 libpng12-0 libpng12-dev libgtk1.2 libgtk1.2-common

そしてCanonからダウンロードしたrpmパッケージに変更を加えるための作業ディレクトリーを作成して、そこへファイルを移動します。
(以下の作業を行わないと、alienでパッケージを作成する時に「アーキテクチャーが違うぞ!」と怒られます。)
僕は自分のホームディレクトリーの中にworkと云うディレクトリーを作成して、そこで作業を進めました。
まずCanonからダウンロードしてきたrpmパッケージを展開します。
gnome-terminalから

$> sudo alien -g --scripts cnijfilter-common-2.70-1.i386.rpm

展開されて出来たディレクトリー cnijfilter-common-2.70/debian の中に有る control と云うファイルを編集します。
管理者権限でgeditなりを起動してcontrolを読み込みます。
gnome-terminalから

$> cd cnijfilter-common-2.70
$> sudo gedit debian/control

7行目に有る Architecture: i386 を Architecture: amd64 に変更して上書き保存します。
cnijfilter-common-2.70ディレクトリーに居ることを前提として、そのままgnome-terminalから

$> sudo debian/rules binary

を実行してパッケージ作成。
直上のディレクトリーに cnijfilter-common-2.70-2_amd64.deb が出来上がっています。
cnijfilter-mp600-2.70-2.i386.rpm に対しても同様の作業を行います。
ここを参照。
出来上がった二つの deb パッケージをインストールします。

$> cd ../
$> sudo dpkg -i *.deb

すると、/usr/share/cups/model/cononmp600.ppd と云うファイルが出来上がります。
解像度や印刷の品質が設定出来るように、このファイルを編集します。
尚、この時点でPCに接続されているプリンターの電源を入れると、新しいプリンターが登録される筈です。
次に、プリンターユーティリティーの為に各ライブラリーへのシンボリックリンクも設定しておきます。
ここまでの作業が終わったら、試しにgnome-terminalからプリンターユーティリティーを起動してみます。

$> cngpij -P MP600

すると、gnome-terminal画面に以下のようなエラーメッセージが表示されました。
printuimp600: error while loading shared libraries: libgtk-1.2.so.0: cannot open shared object file: No such file or directory
まずこのエラーから ctrl+c で抜けだします。
エラーメッセージの内容を google 先生の助けを借りて検索してみると、こちらのページに辿り着きました。
つまり、最初に alien と一緒にインストールした libxml1 libpng12-0 libpng12-dev libgtk1.2 libgtk1.2-common は全て64bitライブラリーだから、32bitアプリケーションには何の役にも立たないよ。
と云うことらしいのです。
では、先ほどのUbuntu Forumsに書いてある内容を実行します。
まずUbuntu8.04 i386版の libglib1.2ldbl_1.2.10-19build1_i386.deb libgtk1.2_1.2.10-18_i386.deb libxml1_1.8.17-14.1_i386.deb (何回かエラーメッセージを出して一つづつ確認していったら、これらのライブラリーを揃えれば良いと思えました。)をこちらのページの旧式ライブラリーやライブラリーのページで検索してダウンロードします。(バージョンナンバーは、この時点での最新ナンバーです。)
これらのライブラリーパッケージを展開するために、自分のホームディレクトリーの中にライブラリー専用のディレクトリーを作り、そこにライブラリーファイルを展開します。
僕はライブラリー専用のディレクトリーを canonlibs と云う名前で作成しました。
パッケージの展開は書庫マネージャーで出来ますが、gnome-terminalから以下の方法でも出来ます。
ライブラリーや実行ファイルその物(data.tar.gz)を展開するには、

$> dpkg-deb -x パッケージファイル名.deb

コントロールファイル(control.tar.gz)を展開するには、

$> dpkg-deb -e パッケージファイル名.deb

と、すれば良いようです。
次に、以下の内容のテキストを printui.sh と云う名前でホームディレクトリーに保存します。
===== 次の行から =====
#!/bin/bash

canon_dir=/自分のホームディレクトリーの絶対パス/canonlibs
export LD_LIBRARY_PATH=$canon_dir:$LD_LIBRARY_PATH
exec cngpij -P MP600
===== 上の行まで =====
「自分のホームディレクトリーの絶対パス」は、例えばユーザー名がtigerならば、/home/tiger になります。
そして、このファイルにプログラムとしての実行権限を与えます。
gnome-terminalからなら、

$> chmod +x ./printui.sh

ファイルマネージャー上でなら、ファイルを右クリックしたメニューの中のプロパティーと云う項目から行えます。
以上で、Canon純正のプリンターユーティリティーを起動する準備は整いました。
gnome-terminalから、

$> ~/printui.sh

古めかしいウィンドウが起動した?

** Scangearユーティリティーは今回はインストールしていません。

2009年1月22日木曜日

Adobe Readerをインストール

元々Ubuntu amd64版には日本語版セットアップヘルパーというパッケージは無いそうです。
え〜!、じゃぁJAVAとかAdobe Readerはどうやってインストールするんだ?
と、この様に思ってJapan Teamのフォーラムを漁っていたら、長期サポート版のHardy(8.04)に限っては日本語版セットアップヘルパーを用意してくれたようです。
ありがたく使わせていただきます。
gnome-terminalから

$> sudo apt-get install ubuntu-desktop-ja

これで便利な日本語版セットアップヘルパーを使って諸々のアプリケーションをインストール出来ます。
ただ、このセットアップヘルパーを使ってもAdobe Readerをインストールする事が出来ませんでした。
なので、この場合もやはりGoogle先生に力を貸してもらって、解決策を探りました。
ここを参照。
なにやら ia32-libs と云うパッケージが必須らしいので、gnome-terminalから

$> sudo apt-get install ia32-libs

Adobeのダウンロードページへ行って、オペレーティングシステムでLinux - x86(.deb)を選択します。
僕がダウンロードしたファイル名は AdobeReader_jpn-8.1.3-1.i386.deb でした。
このパッケージをインストールしますが、パッケージのアーキテクチャーが i386 なので警告が出ます。
警告を無視してインストールを進めるために dpkg -i に --force-architecture オプションを付けます。
gnome-terminalから

$> sudo dpkg -i --force-architecture ./Adobereader_jpn-8.1.3-1.i386.deb

最後に日本語版セットアップヘルパーからAdobe Reader用のIPAモナーフォントをインストールしておきます。
これでAdobe ReaderからPDFファイルを閲覧することが出来ます。
僕はここまでの作業で充分なのですが、Firefox上でもPDFファイルを閲覧したい場合は一手間増えるようです。
gnome-terminalから

$> sudo apt-get install nspluginwrapper
$> sudo nspluginwrapper -i /opt/Adobe/Reader8/Browser/intellinux/nppdf.so

この機能を削除したいなら、gnome-terminalから

$> sudo nspluginwrapper -r /usr/lib/firefox/plugins/npwrapper.nppdf.so
$> sudo nspluginwrapper -r /usr/lib/mozilla/plugins/npwrapper.nppdf.so

と、すれば良いようです。

2009年1月20日火曜日

事情が有ってUbuntuのバージョンを8.04に戻しました

前回もここに書いたように、PC環境がガラリと変わったのでUbuntuを入れ直しました。
今まで運用してきたWindowsXPとのデュアルブート環境は止めて(無駄が多いような気がした)、WindowsXPは仮想環境の中で走らせるのみとしました。
SATAハードディスクにはUbuntu用に / = 20GB、/home = 140GB、/media/data = 160GB というパーティション構成にして、EATAには先頭にFAT32を40GBと残り120GBはext3でフォーマットし、さあ!インストール。
と、ここまでは問題なかったのですが.....

インストールしたバージョンは8.10amd64、インストール後に再起動して全てのパッケージをアップデートしようとしても、必ず特定のパッケージで(pearl)セグメンテーションフォルトでアップデートが完了しません。
これにはかなり時間を費やして悩みました。
試しに8.04.1amd64のライブCDで起動しようとしても起動途中で100%ハングアップしてしまいます。
Ubuntu8.04.1amd64のCDイメージをダウンロードし直して焼き直してから試しても状況は全く変わらず。
もしや、マザーボードのBIOS設定の中で何か変な設定をしちゃったかな?と思って、デフォルトのBIOS設定をロードしてUbuntu8.04.1amd64のライブCDを起動したら全く問題なく素直に起動しました。
そう云えば心当たりが有ります。
BIOS設定で Ctrl+F1 を押すと拡張設定メニューとして1項目だけ設定メニューが増えるんですが、その中でグラフィック用のメモリー空間をメインメモリー4GBの中で確保するか外に追い出すか、と云う設定が有ったんです。
僕はこれを above(外へ)に設定しちゃったんです。
これがいけなかったみたいなので、 below(中へ)に変更しました。
これでUbuntu8.04.1amd64のライブCD起動も8.10amd64のパッケージアップデートも無事に終了です。
いや〜、めでたしめでたし。
とはいきませんでした。
Compizを動かすためにUbuntuが用意しているfglrxドライバーを入れたのですが、これがまた起動途中でブラックアウトして何にも画面が映らない。
仕方ないからAMDのサイトへ行って純正のドライバー(僕の場合はati-driver-installer-8-12-x86.x86_64.run)をダウンロードしてきました。
これはコンパイルが必要なので、それに必要なパッケージをインストールします。
gnome-terminalを起動して、

$> sudo apt-get install build-essential cdbs fakeroot dh-make debhelper debconf libstdc++5 dkms

んで、ダウンロードしたドライバーパッケージが有るディレクトリーへ移動して、

$> sh ati-driver-installer-8-12-x86.x86_64.run --buildpkg Ubuntu/intrepid

debパッケージが出来上がりますので、全てインストールします。

$> sudo dpkg -i *.deb

これでfglrxドライバーを使うための全てが揃いました。
ここを参照。
後は、ウィンドウデコレーターのemeraldとCompizのセッテイングマネージャーを入れます。
gnome-terminalから

$> sudo apt-get install compizconfig-settings-manager emerald

これでCompizも動いて、ヒャッホー!
とはいきませんでした。
試しにgnome-terminalから
$> glxgears
と打ち込んでみたら、FPSの数値が800弱。
この数値は今時のグラフィックチップであれば、3000前後は出るそうです。
xorg.confのオプションを色々と加えたり削除したりしてみたけど、全く変化無し。
ドライバーを入れ直してもダメで、まだ運用環境が整っていない今の内ならUbuntuをまた入れ直すことが出来ると考えて、試しに長期サポート版の8.04.1をインストールすることに決定。
パーティション構成には手を加えずに、/ パーティションだけをフォーマット。
インストール後、再起動してみたけど8.10より若干ハードウェアー(LCDモニター)の認識率が悪いみたい。
まあ、それはそれとして。
Ubuntuが用意してくれているfglrxのプロプライエタリーなハードウェアードライバーをインストールしたら、素直にCompizが動作しています。
glxgearsの数値もだいたい2700前後なので、これでようやく土台が出来ました。

=== xorg.conf ===
Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "Default Screen" 0 0
EndSection

Section "Files"
EndSection

Section "Module"
Load "glx"
Load "dri"
EndSection

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "jp106"
Option "XkbLayout" "jp"
Option "XkbOptions" "lv3:ralt_switch"
EndSection

Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
EndSection

Section "Monitor"
Identifier "Configured Monitor"
VendorName "Generic LCD Display"
ModelName "LCD Panel 1680x1050"
HorizSync 31.5 - 80.0
VertRefresh 56.3 - 75.0
Option "DPMS" "true"
Gamma 1
EndSection

Section "Device"
Identifier "Configured Video Device"
Driver "fglrx"
VendorName "ATI"
BoardName "ATI Radeon (fglrx)"
Option "VideoOverlay" "off"
Option "OpenGLOverlay" "off"
Option "UseFastTLS" "1"
Option "XaaNoOffscreenPixmaps" "true"
Option "TexturedVideo" "true"
BusID "PCI:1:5:0"
EndSection

Section "Screen"
Identifier "Default Screen"
Device "Configured Video Device"
Monitor "Configured Monitor"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1680x1050@60" "1440x900@60" "1400x1050@60" "1280x1024@60" "1280x960@60"
EndSubSection
EndSection

Section "DRI"
Mode 0666
EndSection

Section "Extensions"
Option "RENDER" "Enable"
Option "Composite" "Enable"
EndSection
=== xorg.conf ===

次はCanon MP600 Driverとか。
あ〜疲れた.....

2009年1月19日月曜日

生きています

丸1年以上の間隔を空けて書き込み。
この間に色々な出来事が有りました。
まず、千葉県の房総半島の真ん中あたりの街に転勤、PCを新しく組み直しました。
PCを新しくしたので、それに伴ってOSを入れ直し。
折角の64bitCPUなので、OSも64bitにしちゃいます。
その際、今までのようなWindowsとUbuntuのデュアルブートを止めてUbuntu一本にして、Windowsが必要な時に備えて仮想環境(Virtual Box)にWindowsをインストールしました。
Ubuntuのバージョンも最新の8.10ではなく、長期サポート版の8.04を選びました。
現在は安定して動作している僕のPCですが、ここへ至るまでに結構悩んだり転んだり滑ったりしました。
再度同じような作業をする時の為に、ここへ至るまでの道程をこの後書き込んでいきます。