Canon LBP3000をUbuntuで使う
自宅PCをWindowsからUbuntu(正確には lubuntu)にしてしばらく経ちますが、プリンタの設定だけがうまくいってなくて、印刷したいときはデュアルブートでWindowsを立ち上げるという苦行をやっていました。
プリンタが認識はされるものの、ccp send_data error
っていうのが出てしまうんですよね。
しかしまあ、探してみれば先駆者はいるもので、端的に言えば 32bit用のライブラリがないと動かない ということのようです。
ドライバ・マニュアルのダウンロード
CanonのWebサイトからドライバーをダウンロードしてきます。
LBP3000 OS選択|キヤノン
プリンタの設定
ダウンロードしたファイルを解凍するとDoc
フォルダにインストールマニュアルが同梱されています。
下記の手順はそのマニュアルに則ったものです。
rootでログイン
$ sudo su
CUPSドライバ共通モジュールのインストール
# cd 64-bit_Driver/Debian # dpkg -i cndrvcups-common_x.xx-x_amd64.deb ! 各モジュールのバージョンを「x.xx-x」と記載しています。
プリンタドライバモジュールのインストール
# dpkg -i cndrvcups-capt_x.xx-x_amd64.deb
CUPSの再起動
# /etc/init.d/cups restart
プリントスプーラにプリンタ(PPD)を登録
# /usr/sbin/lpadmin -p [プリンタ名] -P [PPDファイル名(絶対パス)] -v ccp://localhost:59687 -E # /usr/sbin/lpadmin -p LBP3000 -P /usr/share/cups/model/CNCUPSLBP3000CAPTJ.ppd -v ccp://localhost:59687 -E
- 登録を間違えたときは、以下のいずれかの方法で誤って登録したプリンタを削除すること
- プリンタ設定(Preferences - Printers)から該当のプリンタを削除
- CUPSサービス画面(http://localhost:631)から該当のプリンタを削除
(2021/12/5追記)登録するプリンタ名に関する留意事項
- プリンタをUSBに接続すると、自動的に認識されてプリンタが登録されますが、このプリンタを削除してはならない。
- この自動的に登録されたプリンタ名が「LBP3000」だとして、それは無視して新しいプリンタ名(「MyLBP3000」等)を付けて先を進める。
- 「LBP3000」を消して、同じ名前で先の手順を進めるとうまくゆかない。
ccpdデーモンの設定ファイルにプリンタを登録
# /usr/sbin/ccpdadmin -p [プリンタ名] -o [プリンタデバイスパス] # /usr/sbin/ccpdadmin -p LBP3000 -o /dev/usb/lp* ! *は0〜4。適宜確認
- 登録を間違えたときは、以下コマンドで誤って登録したプリンタを削除すること
# /usr/sbin/ccpdadmin -x [削除するプリンタ名]
ccpdデーモンを起動
# /etc/init.d/ccpd start
32bitライブラリの導入
以下のコマンドを打てば32bitライブラリが入ります。
$ sudo dpkg --add-architecture i386
$ sudo apt-get update
$ sudo apt-get install libatk1.0-0:i386 libcairo2:i386 libgtk2.0-0:i386 libpango1.0-0:i386 libstdc++6:i386 libxml2:i386 libpopt0:i386
サービスを再起動
- あとはCUPSサービス画面(http://localhost:631)からテストページを印刷できるか確認して完了
$ sudo killall ccpd $ sudo systemctl restart cups $ sudo /etc/init.d/ccpd start $ sudo /etc/init.d/ccpd status # 確認 /usr/sbin/ccpd: 5832 5831 # こんな感じで2個数字が出ている
ちなみに、PCを再起動したときは、↑をもう一度叩く必要があります。
その後
Ubuntu 22.04向けに内容を全面的に見直しました。
rpy.hatenablog.com