2009年3月 3日

[vine-users:079208] Re: CanonLBP-5300をプリンタ追加しても、テストページが印刷出来ません。

長南です。かなりの長文になります。

簡単な問題の方から。

daydreamer さんのメールより [vine-users:079207]
>
> $ a2ps sample.txt
>

>  をやってみましたが、印刷出来ませんでした。以下、エラー内容の一部を掲載
> します(非常に長文のため、エラー内容が画面に全部はおさまりませんでした)。

ごめんなさい、これは、わたしの間違いです。Vine 4.2 の a2ps の
man ページは説明が不十分なので、debian lenny の a2ps の man ページを
ざっと読んで、前のメールのように書いたのですが、バージョンの違いで
a2ps の振る舞いが違っていました。daydreamer さんがエラーだと
思ったのは、エラーではなく、PS 形式のデータです。Vine の a2ps は
a2ps sample.txt を実行すると、PS 形式のデータを標準出力に書き出す
のです。ですから、lpr がちゃんと使えるならば、

a2ps sample.txt | lpr

で印刷ができるはずです。

そこで、lpr がおかしいという話です。

> >cups を Vine Seed から入れたとか、tar.gz から入れた
> > という記憶がありませんか。それとも、Cannon のドライバに含まれて
> > いたんでしょうか。
>
>  まだ印刷ボタンからも印刷出来なかったとき、一度 http://www.cups.org/
> のページ右上からダウンロード出来るcups-1.3.9-source.tar.bz2を入れたこと
> があります。ただそうする http://localhost:631にすらアクセスが出来なく
> なってしまいました。そのため
>
> # synaptic
>
>  で「cups」と検索してアンインストールして、

tar.gz や tar.bz2 から make install でインストールしたものは、
synaptic や apt-get ではアンインストールできません。Makefile に
uninstall の項(ターゲットと言うんだったかな)があれば、Makefile の
存在するディレクトリで make uninstall を実行して、アンインストール
できます。ない場合は、Makefile を調べて、一つ一つ削除していくより
ないと思います。

make uninstall が使えれば簡単ですが、Makefile を調べて一つづつ
というのは大変ですから、便法を考えてみます。うまく行けば儲けもの、
うまく行かなくても、rpm と tar.bz2 を混ぜてしまったんだから、
仕方がない、くらいに考えてください。

# こういうことがあるので、tar.gz などからインストールするときは、
# 普通 /usr/local 以下にインストールするんですが、/usr 以下に
# 入れてしまったんですか。

要するに、Vine のパッケージ由来のものと、tar ボールから作ったもので
二重になっていたら、tar ボールから来た方を消せばよさそうだ。
たぶん、実ファイルなら Vine のもので上書きされたろうから、リンクだけ
対象にすればよいだろう。tar 側のファイルで消せないものが残るかも
しれないが、それは諦めるより仕方がない。そういう方針です。

1) /etc/rc.d/init.d/cups stop で念のため cups を止めておく。

2) rpm -q --scripts cups | less を実行してください。こういうところが
あるはずです。

/sbin/update-alternatives --install /usr/bin/lpr print /usr/bin/lpr.cups 50 \
--slave /usr/bin/lp print-lp /usr/bin/lp.cups \
--slave /usr/bin/lpq print-lpq /usr/bin/lpq.cups \
--slave /usr/bin/lprm print-lprm /usr/bin/lprm.cups \
--slave /usr/bin/lpstat print-lpstat /usr/bin/lpstat.cups \
--slave /usr/bin/cancel print-cancel /usr/bin/cancel.cups \
--slave /usr/sbin/lpc print-lpc /usr/sbin/lpc.cups \
--slave /usr/share/man/man1/cancel.1.gz print-cancelman /usr/share/man/m
an1/cancel-cups.1.gz \
---- (中略) -----
--slave /usr/share/man/man1/lprm.1.gz print-lprmman /usr/share/man/man1/lprm-cups.1.gz \
--slave /usr/share/man/man1/lpstat.1.gz print-lpstatman /usr/share/man/m
an1/lpstat-cups.1.gz

Vine では、この /usr/bin/lpr や /usr/bin/lp がリンクであり、
/usr/bin/lpr.cups や /usr/bin/lp.cups などが alternatives
システムを介した、その実体なのです(つまり、直接のリンク元ではない)。
上記の出力のパターンはおわかりになると思います。
ですから、/usr/bin/lpr などが(man ページについては省略しますが、
実行ファイルは全部書き出してしまいましょう。/usr/bin の lpr, lp,
lpq, lprm, lpstat, cansel、それに /usr/sbin/lpc です)リンクではなく、
実ファイルだったら、それは tar ボールから来たものです。
消してしまいましょう。

3) apt-get --reinstall install cups を実行して、cups の再インストール
をします(make uninstall が使えた場合も、これをやります)。
これはリンクを作るためです。

4) /usr/bin/lpr などがリンクになっていることを確認。

5) /etc/rc.d/initd/cups status で cupsd が動いていることを確認。
動いていなかったら、/etc/rc.d/init.d/cups start で起動する
(あるいは、リブートする)。

これでどうでしょう。lpr が使えるようにならないでしょうか。
頭の中で考えたことですから、どこかに間違いがあるかもしれません。
そのときはお許しください。

--
長南洋一


投稿者 xml-rpc : 2009年3月 3日 12:01
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/82778
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。