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