
Ubuntu日本語フォーラム

ログインしていません。
Canonのプリンター LBP6200 を購入したのですが、まったく動きません。
Canonのホームページ、http://cweb.canon.jp/drv-upd/lasershot/linux/captlinux.htmlから、CAPT Printer Driver for Linux Ver.2.56 (32bit) をダウンロードし、展開すると、
cndrvcups-common_2.56-1_i386.deb
cndrvcups-capt_2.56-1_i386.deb
の2つのファイルができます。この2つのファイルをホームディレクトリにコピーして、Canonのguideに従い、次のコマンドを実行しました。
sudo dpkg -i cndrvcups-common_2.56-1_i386.deb
sudo dpkg -i cndrvcups-capt_2.56-1_i386.deb
ここまでは、正常に終了したのですが、CUPSを再起動するために、
/etc/init.d/cupsys restart
を実行すると、
/etc/init.d/cupsys: そのようなファイルやディレクトリはありません
となります。それで、プリンタをUSB接続し、プリンタのスイッチを入れると、プリンタを自動認識して、LBP6200のプリンタのアイコンができます。しかしテスト印刷してみると、プリンタは何の反応もしません。
どこが悪いのでしょうか。
オフライン
ディストリビューションやバージョンに依って違いがあることもあります。
user@host:~$ lsb_release -r Release: 13.04 user@host:~$ uname -r 3.8.0-27-generic user@host:~$ ls /etc/init.d | grep cups avahi-cups-reload cups cups-browsed user@host:~$ service cups status cups start/running, process 1204 user@host:~$ sudo service cups restart [sudo] password for user: cups stop/waiting cups start/running, process 13096
ということではないかと。。。
オフライン
Tako090929の言われる方法でCUPSの再起動はできます。しかしどうもそれだけの問題ではないようなのです。
README-capt-2.56J.txtに次のように記述されているのを見つけました。
以下のディストリビューションをご使用の場合、「libstdc++.so.5」が標準でインス
トールされていないため、プリンタドライバのインストールが失敗する可能性があり
ます。
この場合、パッケージの追加インストールを行ってください。
- Fedora Core 4、Fedora Core 5、Fedora Core 6、Fedora 7、Fedora 8、Fedora 9、
Fedora 10、Fedora 11、Fedora 12、Fedora 13、Fedora 14、
RedHat Enterprise Linux 5.1、CentOS 5.3
-> パッケージ(compat-libstdc++-33)をインストールしてください。
- Ubuntu 7.10、Ubuntu 8.04、Ubuntu 8.10、Ubuntu 9.04、Ubuntu 9.10、
Ubuntu 10.04、Ubuntu 10.10、Debian GNU/Linux 4.0、Debian GNU/Linux 5.0
-> パッケージ(gcc-3.3-base、libstdc++5)を
http://lug.mtu.edu/ubuntu/pool/main/g/gcc-3.3/
から取得して、インストールしてください。
参考情報:http://ubuntuforums.org/showthread.php?t=674100
指定されたhttp://lug.mtu.edu/ubuntu/pool/main/g/gcc-3.3/にgcc-3.3-base、libstdc++5は見当たらないようであり、Googleで検索して、http://archive.debian.net/etch/i386/gcc-3.3-base/downloadから、gcc-3.3-base_3.3.6-15_i386.debをgccフォルダにダウンロードし、sudo dpkg -i gcc/gcc-3.3-base_3.3.6-15_i386.debでインストールしました。これは、問題なくインストールできます。
次にhttp://packages.debian.org/stable/base/libstdc++5からlibstdc++5_3.3.6-25_i386.debをlibstdcフォルダにダウンロードし、sudo dpkg -i libstdc/libstdc++5_3.3.6-25_i386.debでインストールしようとしました。すると、
dpkg: .../libstdc++5_3.3.6-25_i386.deb が libstdc++5 を含むことを考慮すると、先行依存の問題があります:
libstdc++5 は multiarch-support に事前依存 (pre-depends) します
multiarch-support はインストールされていません。
dpkg: libstdc/libstdc++5_3.3.6-25_i386.deb の処理中にエラーが発生しました (--install):
先行依存問題 - libstdc++5 をインストールしません
以下のパッケージの処理中にエラーが発生しました:
libstdc/libstdc++5_3.3.6-25_i386.deb
というエラー表示がでます。
それでhttp://packages.debian.org/ja/sid/i386/multiarch-support/downloadからmultiarch-support_2.13-38_i386.debをMultiarchフォルダにダウンロードし、sudo dpkg -i Multiarch/multiarch-support_2.17-92_i386.debでインストールしようとしました。しかし、
(データベースを読み込んでいます ... 現在 154610 個のファイルとディレクトリがインストールされています。)
(.../multiarch-support_2.17-92_i386.deb から) multiarch-support を展開しています...
dpkg-deb: ファイル `Multiarch/multiarch-support_2.17-92_i386.deb' は理解不能なデータメンバー data.tar.xz を含んでいます。終了します
dpkg: Multiarch/multiarch-support_2.17-92_i386.deb の処理中にエラーが発生しました (--install):
サブプロセス dpkg-deb --fsys-tarfile はエラー終了ステータス 2 を返しました
以下のパッケージの処理中にエラーが発生しました:
Multiarch/multiarch-support_2.17-92_i386.deb
data.tar.xzが理解不能なデータメンバーだということで、エラーが発生します。
ここで行き詰まってしまいます。
私はそもそもgcc-3.3-base、libstdc++5がどういう働きをするファイルかもわかっていません。またこういうファイルを勝手にインストールすることにも不安を感じます。また実際インストールはできません。詳しい方の助言をお願い致します。
オフライン
libstdc++5をインストールするのはあきらめて、もう一度Canonのガイド通りにやってみました。
Canonのガイド通りするなら、
sudo dpkg -i cndrvcups-common_2.56-1_i386.deb
sudo dpkg -i cndrvcups-capt_2.56-1_i386.deb
sudo service cups restart
/usr/sbin/lpadmin -p LBP6200 -m CNCUPSLBP6200CAPTJ.ppd -v ccp://localhost:59687 –E
sudo /usr/sbin/ccpdadmin -p LBP6200 -o /dev/usb/lp0
sudo /etc/init.d/ccpd start
になりますが、
/usr/sbin/lpadmin -p LBP6200 -m CNCUPSLBP6200CAPTJ.ppd -v ccp://localhost:59687 –E
を実行すると、
lpadmin: '–E' は未知の引数です!
と出て、実行できません。
それで、Eオプションをつけずに、
/usr/sbin/lpadmin -p LBP6200 -m CNCUPSLBP6200CAPTJ.ppd -v ccp://localhost:59687
で実行すると、不完全なプリンタアイコンができて、テスト印刷のコマンドボタンもないものができあがります。これではできません。
次に同じような、症状のことが記述してある、http://ubuntuforums.org/showthread.php?t=1957699&highlight=LBP6200を見つけて、その指示に従ってみました。
sudo dpkg -i cndrvcups-common_2.56-1_i386.deb
sudo dpkg -i cndrvcups-capt_2.56-1_i386.deb
sudo service cups stop
sudo service cups start
sudo mkdir /var/ccpd
sudo mkfifo /var/ccpd/fifo0
sudo mkdir /var/captmon
sudo /usr/sbin/lpadmin -p LBP6200 -m CNCUPSLBP6200CAPTJ.ppd -v ccp:/var/ccpd/fifo0 -E
sudo /usr/sbin/ccpdadmin -p LBP6200 -o /dev/usb/lp0
sudo /etc/init.d/ccpd start
captstatusui -P LBP6200
を実行しました。
私は、先にhttp://forum.ubuntu.ru/index.php?topic=171512.0を読み、/var/ccpdなどをつくっていたため、
sudo mkdir /var/ccpd
sudo mkfifo /var/ccpd/fifo0
sudo mkdir /var/captmon
は、当然ディレクトリはつくれないという表示がでます。すでにあるからいいのだろうと思ったのですが、それでは、やはりテスト印刷できません。それで、
sudo rm -r /var/ccpd
sudo rm -r /var/captmon
で削除してから、もう一度
sudo dpkg -i cndrvcups-common_2.56-1_i386.deb
sudo dpkg -i cndrvcups-capt_2.56-1_i386.deb
sudo service cups stop
sudo service cups start
sudo mkdir /var/ccpd
sudo mkfifo /var/ccpd/fifo0
sudo mkdir /var/captmon
sudo /usr/sbin/lpadmin -p LBP6200 -m CNCUPSLBP6200CAPTJ.ppd -v ccp:/var/ccpd/fifo0 -E
sudo /usr/sbin/ccpdadmin -p LBP6200 -o /dev/usb/lp0
sudo /etc/init.d/ccpd start
captstatusui -P LBP6200
を実行しました。これで、テスト印刷も印刷もできるようになりました。
オフライン
その後パソコンとプリンターの電源を切り、また使おうとして両方の電源を入れた時に、プリンターが使えなくなることに気づきました。パソコンの電源をつけたままで、プリンターの電源を切って、またプリンターの電源をつけると、使えます。プリンターの電源をつけたままで、パソコンをシャットダウンし、パソコンの電源を切り、またパソコンを起動すると、プリンターは使えなくなります。
captstatusui -P LBP6200
に対して
*** captstatusui Socket Error ***
と返ってきます。
これは、sudo /etc/init.d/ccpd restart
を実行すると、プリンターが使えるようになることがわかりました。
なお、ドライバをインストールするコマンドは下記のほうがよいと思います。
sudo rm -r /var/ccpd
sudo rm -r /var/captmon
sudo mkdir /var/ccpd
sudo mkfifo /var/ccpd/fifo0
sudo dpkg -i cndrvcups-common_2.56-1_i386.deb
sudo dpkg -i cndrvcups-capt_2.56-1_i386.deb
sudo service cups stop
sudo service cups start
sudo /usr/sbin/lpadmin -p LBP6200 -m CNCUPSLBP6200CAPTJ.ppd -v ccp:/var/ccpd/fifo0 -E
sudo /usr/sbin/ccpdadmin -p LBP6200 -o /dev/usb/lp0
sudo /etc/init.d/ccpd start
captstatusui -P LBP6200
/var/captmonはドライバをインストールする所でつくられるようであり、
sudo mkdir /var/captmon
は不要のようです。また
sudo mkdir /var/ccpd
sudo mkfifo /var/ccpd/fifo0
をドライバをインストールする以前につくっていますが、これでも動きます。
これで一応プリンターは使えるようになったと思いますが、パソコンの電源を切ると、プリンターで印刷する時に、
sudo /etc/init.d/ccpd restart
を実行しなければならないという不便さが残ります。これは何とかならないでしょうか。
オフライン
プリターを使う前にいちいち
sudo /etc/init.d/ccpd restart
のコマンドを実行しなければならないのは不便ですから、パソコンの起動時に自動的にこのコマンドを実行させようと考えました。私が理解したコマンドの自動実行はふたつあります。
一つは/etc/profile.d/にシェルスクリプトを置いておくと、自動実行する、ただし、実行権限を与えておく必要がある。
もう一つは、/etc/rc.localに実行させたいコマンドを書いておく。
まず最初の方法を試みました。
#!/bin/sh
sudo /etc/init.d/ccpd restart
をテキストエディタで書き、ホームフォルダにprinterstart.shと名前をつけて保存しました。
これを
sudo cp printerstart.sh /etc/profile.d/printerstart.sh
で/etc/profile.dにコピーし、
sudo chmod +x /etc/profile.d/printerstart.sh
で実行権限を与えました。
ls -l /etc/profile.d/printerstart.sh
を実行すると、
-rwxr-xr-x
と表示され、確かに実行権限があります。
ここで、一度パソコンをシャットダウンし電源を切りました。パソコンを再起動し、プリンターの電源を入れてから、captstatusui -P LBP6200を実行しました。すると、
*** captstatusui Socket Error ***
と表示され、プリンターを使えない状態です。それで、端末に
/etc/profile.d/printerstart.sh
と入力しENTERキーを押してみました。その後、captstatusui -P LBP6200を実行すると、
メッセージ
スリープ中です
と表示され、プリンターは使える状態です。コマンドは
sh /etc/profile.d/printerstart.sh
と入力せずに、単に
/etc/profile.d/printerstart.sh
と入力したのですから、/etc/profile.d/printerstart.shが実行権限を持っていることは確かです。なぜ自動実行されないのかわかりません。
第1の方法ができないので、第2の方法を試しました。
sudo rm /etc/profile.d/printerstart.sh
で
/etc/profile.d/printerstart.sh
を削除し、
sudo gedit /etc/rc.local
で/etc/rc.localを開き、
exit 0 の上に
sudo /etc/init.d/ccpd restart
を記述し、保存して閉じました。
ここで、一度パソコンをシャットダウンし電源を切りました。パソコンを再起動し、プリンターの電源を入れてから、captstatusui -P LBP6200を実行しました。すると、
メッセージ
印刷できます
と表示され、プリンターは使える状態になっています。
sudo /etc/init.d/ccpd restart
は自動実行されているのです。
LBP6200のドライバのインストールをシェルスクリプトにしてまとめました。次のようになります。
まず、Canonのホームページ、http://cweb.canon.jp/drv-upd/lasershot/linux/captlinux.htmlから、CAPT Printer Driver for Linux Ver.2.56 (32bit) をダウンロードし、展開する。
cndrvcups-common_2.56-1_i386.deb
cndrvcups-capt_2.56-1_i386.deb
の2つのファイルができるから、2つのファイルをホームディレクトリにコピーする。
次に、
#!/bin/bash
if test -e /var/ccpd ; then
sudo rm -r /var/ccpd
fi
if test -e /var/ccpd ; then
sudo rm -r /var/captmon
fi
sudo mkdir /var/ccpd
sudo mkfifo /var/ccpd/fifo0
sudo dpkg -i cndrvcups-common_2.56-1_i386.deb
sudo dpkg -i cndrvcups-capt_2.56-1_i386.deb
sudo service cups stop
sudo service cups start
sudo /usr/sbin/lpadmin -p LBP6200 -m CNCUPSLBP6200CAPTJ.ppd -v ccp:/var/ccpd/fifo0 -E
sudo /usr/sbin/ccpdadmin -p LBP6200 -o /dev/usb/lp0
sudo /etc/init.d/ccpd start
captstatusui -P LBP6200
という内容のシェルスクリプトをつくり、lbp6200install.bashと名前をつけて、ホームディレクトリに保存する。
端末を開き、sh lbp6200install.bash
と入力し、ENTERキーを押す。
これでドライバはインストールできるが、このままでは、パソコンの電源を切った時に、プリンターを認識しなくなる。それで、
sudo gedit /etc/rc.local
で/etc/rc.localを開き、
exit 0 の上に
sudo /etc/init.d/ccpd restart
を記述し、保存して閉じる。これで、パソコン起動時に自動的にsudo /etc/init.d/ccpd restartを実行するから、プリンターは常に認識される。
/etc/profile.d/を用いたコマンドの自動実行がなぜできないのかという疑問がなお残っています。
オフライン