
Ubuntu日本語フォーラム

ログインしていません。
フォーラムの皆様、こんばんは。
先日kubuntu8.04 から 8.10 へアップグレードしたところ、プリンターが使えなくなってしまいました。
今までアプリケーションの ファイル → 印刷 → 自分のプリンターを選択
で印刷出来ていたのですが ファイル → 印刷 → には ファイルに出力する しかなくなってしまいました。
環境は以下のとおりです。
CPU Pentium4 1.8GHz
メモリ 1024MB
Ubuntu 8.04 Desktop ja インストール後
kubuntu-desktop 適用しKubuntu化
プリンター Brother MFC-5860CN
LAN接続にて WinXP と共用しています。
8.10 へのアップグレードは問題なくできたのですが、その後、前述のとおりプリンターが使えなくなりました。
以前はBrotherよりダウンロードした LPRドライバーと CUPS-WRAPPERドライバーを使用していましたが
Synaptic で MFC-5860CN 用のドライバーを見つけ、インストールしました。
brother-lpr-drivers-bh7
brother-cups-wrapper-bh7
http://localhost:631/ を確認したところ、「localhost:631 のサーバへの接続を確立できませんでした。」
sudo /etc/init.d/cups restart
しましたが結果は変わらずです。
http://forums.ubuntulinux.jp/viewtopic.php?id=3794
に従って
>再起動してみる。プリンターの電源を確認する。USBの接続を確認する。
LANケーブルですが接続は問題無し。
>http://localhost:631/ をブラウザで表示して、プリンタの管理のタブでプリンターがインストールされているか確認する。
同様に接続できず
>「システム」→「システム管理」→「印刷」でプリンタの設定で「サーバ」→「新規」→「プリンタ」で、新規プリンタをインストールしてみる。
「アプリケーションランチャー」→「アプリケーション」→「システム」→「印刷」で同様に新規プリンターの追加を試みるも結果は変わらず。
次のetc/init.d/cups の内容ですが/etc/init.d/cupsys へのリンクとなっており、
また /etc/init.d には cupsys というファイルは存在しません。
sudo /etc/init.d/cupsys restart すると当然
/etc/init.d/cupsys: command not found
となります。
sudo /etc/init.d/cups restart してもなぜか
/etc/init.d/cups: command not found
となります。
ちなみに
ps aux | grep cupsd では
y2ueno 10357 0.0 0.0 3044 816 pts/1 S+ 19:12 0:00 grep cupsd
と表示されます。
>念の為に、 sudo apt-get install --reinstall cupsys して再インストールしてみる
結果は変わらずです。
ここ迄来たところで、スッカリわけが分からなくなってしまいました。
どなたかご教示いただけますか?
また、他に必要な情報はありますか?
よろしくお願いします。
最後の編集者: y2u (2009-02-03 11:56:05)
オフライン
私はプリンタを持っていないので弱い分野ですが、誰も回答がないようなので書きます。
y2u による投稿:
次のetc/init.d/cups の内容ですが/etc/init.d/cupsys へのリンクとなっており、
また /etc/init.d には cupsys というファイルは存在しません。
確認してみましたが、通常 Ubuntu 8.10における /etc/init.d/cupsは実ファイルであり、シンボリックリンクではないと思います。
この時点で何かがおかしいような気がします。
cupsやcupsysについてはそれが何なのか殆ど知識もないですが、cupsysについては、
http://packages.ubuntu.com/search?searchon=names&keywords=cupsys
http://packages.ubuntu.com/intrepid/cupsys
によると、Hardy(Ubuntu 8.04)を最後に、Intrepid(Ubuntu 8.04)以降は、移行用パッケージとしてcupsを指し示すダミーパッケージになっているようです。
上記のことから想像するに、パッケージcupsを「完全削除指定」してから再度cupsをインストールすることで直らないか?と私は考えます。
cupsを完全削除すると、/etc/init.d/cupsに属するファイルは設定ファイルも含め削除されるので、次にcupsをインストールするとクリーンで正しい状態に直るのでは?という論理です。
しかし、cupsを削除しようとすると、私の環境では以下のパッケージも芋づる式に削除を試みます。
bluez-cups cups cups-driver-gutenprint foomatic-db-hpijs hal-cups-utils hpijs hplip ubuntu-desktop
※環境よってパッケージが異なるかもしれません
沢山の依存パッケージも同時に削除されるので、自分のPCならどうなっても責任がとれるのでよいですが、人には手放しでお勧めできないのです。
念のため私の仮想PC環境で、
sudo apt-get purge cups sudo apt-get install bluez-cups cups cups-driver-gutenprint foomatic-db-hpijs hal-cups-utils hpijs hplip ubuntu-desktop
と試して、問題はなさそうなことは確認しています。
最後の編集者: STGSAGWAN (2009-01-28 21:32:18)
こんばんわ!
私の環境でもこの年明けから何台か、印刷ができない状態になりました。
起動プロセスで、次のようなエラーを吐いておりました。
CUPS - child exited with status 1! error
sudo /etc/init.d/cups restart でも、同じエラーが表示されました。
年明けになって、cupsのセキュリティアップデートがあったので、これによる不具合ではないかと推測して、下記のように暫定処置を施しました。
あくまでも取り合えずの処置ですが、一応、印刷はできるようになっております。
まずは、cupsのエラーログファイルを探し出して、参照してみてください。
sudo cat /var/log/cups/error_log
E [29/Jan/2009:17:45:19 +0900] “/etc/cups/ssl/server.crt” is a bad symlink - No such file or directory
E [29/Jan/2009:17:53:43 +0900] “/etc/cups/ssl/server.key” is a bad symlink - No such file or directory
頭の「E」はエラーの頭文字。
このように表示されたら、私と同じ症状です。
私の場合、試しに、/etc/cups/ssl/の中にある、「server.crt」と「server.key」の二つを退避させてみたら、cupsが正常に動きだしました。
sudo /etc/init.d/cupsd start
* Starting Common Unix Printing System: cupsd [ OK ]
「http://localhost:631」によるWebインタフェースでの設定画面も表示され、印刷設定、実印刷もできるようになりました。
詳細は、下記に書いておきましたのでご参照いただければと思います。
http://viva-ubuntu.net/?p=1315
オフライン
STGSAGWANさん、
u-bonさん
ご教示ありがとうございます。
まずSTGSAGWANさんの方法を試しましたが結果は変わらずです。
次にu-bonさんの方法を試みたところ
sudo cat /var/log/cups/error_log
cat: /var/log/cups/error_log: No such file or directory
/var/log/cups
には
cups-pdf_log
というファイルしか見当たりません。
次に
sudo /etc/init.d/cupsd start
sudo: /etc/init.d/cupsd: command not found
となってしまいます。
「アプリケーションランチャー」→「アプリケーション」→「システム」→「印刷」で同様に新規プリンターの追加を試みる
サーバー → 接続 → localhost
CUPS走査中にエラーが発生しました: 'httpConnectionEncrypt failed'
とのエラー表示
「プリンターの設定」からトラブルシュートに進むと
CUPSサービスは停止しました
CUPSプリントスプーラが動作していないようです。これを直すには、メインメニューから
システム → システム管理 → サービスを選び、'CUPS'サービスを探してください。
となりますが
『サービスの管理』では'CUPS'が見当たりません。
ちなみに/etc/cups/ssl/の中は空っぽでした。
さっぱり原因を思いつきません。
なにかお分かりになりますか?
オフライン
y2u による投稿:
まずSTGSAGWANさんの方法を試しましたが結果は変わらずです。
ざ、残念です。
cupsやcupsysのパッケージが変な状態になってしまっているのかも、という予想は外れたのですね・・・。
これ以上は私の手に余ります。
STGSAGWANさん、昨日は横入りでの発言、大変失礼いたしました。
ご指摘の通り、
sudo apt-get purge cups
・・・で、再度インストールしてダメとなると、おっしゃる通り、手に余ってしまいますね。
>cupsysについては、
>http://packages.ubuntu.com/search?searc … rds=cupsys
>http://packages.ubuntu.com/intrepid/cupsys
>によると、Hardy(Ubuntu 8.04)を最後に、Intrepid(Ubuntu 8.04)以降は、移行用パッケージとして
>cupsを指し示すダミーパッケージになっているようです。
ご提示いただいている状況により、ややこしい構造になっているために、purgeオプションを用いても、cupsの設定ファイルが、キレイにパージできないことになっているかも知れないですよね。困りましたね。
y2uさん、
全く見当が違ってしまうかもしれず、大変申し訳ありませんが、次のコマンドで、システムの起動時にcupsがどんな挙動をしているか調べてみていただけますか?
$ dmesg | grep cups
ちなみに、復活できた私の環境では、以下の通りとなっています。
[ 22.689150] type=1505 audit(1233284316.795:3): operation="profile_load" name="/usr/lib/cups/backend/cups-pdf" name2="default" pid=5258
[ 22.689351] type=1505 audit(1233284316.795:4): operation="profile_load" name="/usr/sbin/cupsd" name2="default" pid=5258
*復活前には、前回書いた通り、これが「CUPS - child exited with status 1! error」となっておりました。
オフライン
STGSAGWANさん、
u-bonさん
ご教示ありがとうございます。
$ dmesg | grep cups
[ 37.391177] type=1505 audit(1233380638.744:4): operation="profile_load" name="/usr/lib/cups/backend/cups-pdf" name2="default" pid=3846
[ 37.391931] type=1505 audit(1233380638.744:5): operation="profile_load" name="/usr/sbin/cupsd" name2="default" pid=3846
error は出てないようなので
『サービスの管理』を確認するとやはり『CUPS』は見当たりません。
ちなみに『プリンタの設定』からも『CUPSサーバー localhost』に接続出来ませんでした。
>以前はBrotherよりダウンロードした LPRドライバーと CUPS-WRAPPERドライバーを使用していましたが
以前使っていたドライバーが邪魔してるなどということはありますか?
また、削除を要する場合、どのように削除出来ますか?
必要な情報があればご教示ください。
オフライン
y2uさん、
お手数をおかけしました。
貼り付けていただいた起動時のカーネルメッセージによれば、ちゃんとプロセスIDが割り振られてcupsはデーモンとして起動していることになります。
しかし、2009-01-26 19:17:44 の書き込みにある
>ps aux | grep cupsd では
>y2ueno 10357 0.0 0.0 3044 816 pts/1 S+ 19:12 0:00 grep cupsd
・・・は、「ps aux | grep cupsd」のコマンドのプロセスが表示されているのみで、cups自体のプロセスの稼働状況は表示されていません。
私の場合には、次のように、「/usr/sbin/cupsd」がデーモンとして稼働している事を表しています。
$ ps aux | grep cups
root 4724 0.0 0.1 15152 3364 ? Ssl 09:40 0:01 /usr/sbin/cupsd
u-bon 15107 0.0 0.0 3080 836 pts/0 S+ 23:14 0:00 grep cups
あと、思いつくのは、1/12にリリースされているcupsに関するセキュリティアップデートです。
http://www.ubuntu.com/usn/usn-707-1
ここに書かれている通り、アップデートすることにより、8.10の場合、cupsのバージョンは、「1.3.9-2ubuntu6.1 」となります。
synapticパッケージ・マネージャで一応確認してみて、これより古いバージョンの場合、システムのアップデートをかけてみる・・・・ということぐらいしか思いつきません。m(_ _)m
憶測でモノを言って大変申し訳ありませんが、もしもcups古いバージョンだったとして、システムのアップデートをかけると、私と同じ
「CUPS - child exited with status 1! error」というエラーが出てしまうかも知れません。
このパッチでは、セキュリティの脆弱性をSSLによる暗号化で対処しているようで、そこにバグがあるように思えます。
その場合には、私と同じように「/etc/cups/ssl/」の配下にあるシンボリックリンクを管理者権限で削除してしまう・・・という方法で対処してみていただければと思います。
オフライン
こんばんは。
さて、私もプリンターでは苦労しましたが8.10になってcupsがondemandで活動するようになったらしく、システム管理→サービスの管理で見ると一覧表にありません。同じようになかったsambaをインストールすると一覧表に現れました。しかし、パッケージマネージャーで見るとcupはインストール済みになっています。
話題のbrotherプリンターはパッケージ管理されていますので、検索でbrotherを検索してみてください。いくつかのパッケージに分かれていますが、お求めのプリンターは必ずあります。それを選択してインストールすると使えるようになります。MFC-5860CNの場合、選択するパッケージは4つ、brother-cups-wrapper-common、brother-lpr-drivers-common、brother-lpr-drivers-bh7、そしてbrother-cups-wapper-bh7。ただし、borther-lpr-drivers-bh7を選択するとあとはパッケージマネージャーが勝手に選んでくれるはずです。次に、システム→システム管理→印刷でプリンタの設定画面から新規に登録してください。ネットワークプリンターも自動で選択されます。あとは、システム→設定→デフォルトのプリンターで確認を!
8.04からアップデートした場合は、8.04のときにプリンターインストール時に使ったシンボリックを必ず削除しておいてください。 なお、私の場合は、MFC-830を使っていますが、brother-lpr-drivers-extraで、これは従来どおりMFC-410の設定でした。
私も同じ苦労をしましたが、私の解決法は8.10をクリーンインストールし直しました。
最後の編集者: funatogawa (2009-02-01 01:20:32)
オフライン
u-bonさん、
funatogawaさん
ご教示ありがとうございます。
まずu-bonさんの
>8.10の場合、cupsのバージョンは、「1.3.9-2ubuntu6.1 」となります。
>synapticパッケージ・マネージャで一応確認してみて、これより古いバージョンの場合、システムのアップデートをかけてみる
について確認したところ
「1.3.9-2ubuntu6.1 」でした。
念のため「完全削除』→「再インストール指定』しましたが、結果は変わらずです。
次に
funatogawaさんの
>MFC-5860CNの場合、選択するパッケージは4つ、brother-cups-wrapper-common、brother-lpr- drivers-common、brother-lpr-drivers-bh7、そしてbrother-cups-wapper-bh7。ただし、 borther-lpr-drivers-bh7を選択するとあとはパッケージマネージャーが勝手に選んでくれるはずです。次に、システム→システム管理 →印刷でプリンタの設定画面から新規に登録してください。ネットワークプリンターも自動で選択されます。あとは、システム→設定→デフォルトのプリンターで確認を!
を確認しましたが、すべてインストールされています。
これも念のため「完全削除』→「再インストール指定』しましたが、結果は変わらずです。
ただ
>8.04からアップデートした場合は、8.04のときにプリンターインストール時に使ったシンボリックを必ず削除しておいてください。
のくだりがよく分かりません。
http://d.hatena.ne.jp/shag/20061218
を思いだし
sudo rm /etc/init.d/lpd /etc/init.d/cups
しました。
その後ドライバーについて「完全削除』→「再インストール指定』しましたが、結果は変わらずです。
8.04時にプリンターインストール時に作成されたPPD ファイルも削除が必要ですか?
ppdについては
/usr/local/share/ppd
というディレクトリしか見当たらずまたこのディレクトリは空です。
何か分かりますか?
オフライン
解決しました。
自己レスで申し訳ありません。
本日当スレッドをよく読み直し、手順を整理して
sudo apt-get purge cups
を実行後、 CUPS の再インストールを実行したところ、無事にプリンターを認識、使えるようになりました。
整理した手順を掲載したく思います。
1.8.04のときにプリンターインストール時に使ったシンボリックを必ず削除
sudo rm /etc/init.d/lpd /etc/init.d/cups
2.Sinaptic でプリンタードライバーを導入
MFC-5860CNの場合、選択するパッケージは4つ、brother-cups-wrapper-common、brother-lpr- drivers-common、brother-lpr-drivers-bh7、そしてbrother-cups-wapper-bh7。ただし、 borther-lpr-drivers-bh7を選択するとあとはパッケージマネージャーが勝手に選んでくれる
3.CUPSの再インストール
sudo apt-get purge cups
sudo apt-get install cups
手順はこれだけでよいようです。
sudo apt-get purge cups
では、シンボリックリンクとして存在する同一名のファイル /etc/init.d/cups を消去できないようですね。
また apt-get install cups
では同一名のシンボリックファイル /etc/init.d/cups が存在していたためにインストールされていなかった
ということでよろしいのでしょうか?
勉強不足を痛感致しました。
ともあれ無事に印刷可能となりました。
STGSAGWANさん、u-bonさん、funatogawaさん
ありがとうございました。
最後の編集者: y2u (2009-02-02 17:34:24)
オフライン
良かったですね。
y2u による投稿:
sudo apt-get purge cups
では、シンボリックリンクとして存在する同一名のファイル /etc/init.d/cups を消去できないようですね。
また apt-get install cups
では同一名のシンボリックファイル /etc/init.d/cups が存在していたためにインストールされていなかった
ということでよろしいのでしょうか?
今、実験してみたら、確かにそのような動きをします。私も知りませんでした。
どうも /etc/init.d/XXXXXの起動スクリプトに限ってのようなのですが(他のファイル/usr/bin/XXXXXなどは動きが違いました)、
1)/etc/init.d/XXXXXが通常ファイルではなくシンボリックリンクだと(仮にそのリンク先が存在してたとしても)、
purgeの際にそのファイルを削除しない
同じく
installの際にそのファイルを上書きしない
2)/etc/init.d/XXXXXが通常ファイルの場合は、
purgeの際にそのファイルを削除する(当然ですが)
同じく
installの際にそのファイルを上書きするかしないか確認してくる
なぜこうなるのか内部的な動きは定かでは無いですが、頭の片隅には入れておいたほうがよいかもですね。
勉強になりました。
最後の編集者: STGSAGWAN (2009-02-02 20:58:38)
もう解決済みとなったスレッドですが,
#3の "child exited with status 1!" と同様の問題にぶつかっている方が居られるので念のためここでフォローさせてください.
/* 向こうのスレッドで「検索するように」書いてしまったもので... */
u-bonさん による投稿:
私の場合、試しに、/etc/cups/ssl/の中にある、「server.crt」と「server.key」の二つを退避させてみたら、cupsが正常に動きだしました。
より妥当な対処法はリンク先のファイル
$ sudo ls -l /etc/cups/ssl/
[sudo] password for hogefoo:
合計 0
lrwxrwxrwx 1 root root 36 2009-02-15 14:42 server.crt -> /etc/ssl/certs/ssl-cert-snakeoil.pem
lrwxrwxrwx 1 root root 38 2009-02-15 14:42 server.key -> /etc/ssl/private/ssl-cert-snakeoil.key
つまり,
/etc/ssl/certs/ssl-cert-snakeoil.pem, /etc/ssl/private/ssl-cert-snakeoil.key
の有無を確かめて,再生成を試みることだと考えます.
その方法は ssl-cert-snakeoil を google 検索すると本家フォーラム内で見つかります.
postinst スクリプトを検索しても,それらしいコマンドを見つけることが可能です.
$ grep snakeoil /var/lib/dpkg/info/*.postinst
結論:
$ man make-ssl-cert
を参照してください.
最後の編集者: einundzwanzighundertsechs (2009-03-02 21:09:43)
オフライン