vine-users ML アーカイブ



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

  • From: 長南洋一 <cyoichi@xxxxxxxxxxxxxxx>
  • Subject: [vine-users:079208] Re: Canon LBP-5300をプリンタ追加し ても、テストページが印刷 出来ません。
  • Date: Tue, 03 Mar 2009 12:01:51 +0900 (JST)
長南です。かなりの長文になります。

簡単な問題の方から。

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

-- 
長南洋一