vine-users ML アーカイブ



[vine-users:066921] Re: Cupsで 印刷不可

  • From: 長南洋一 <cyoichi@xxxxxxxxxxxxxxx>
  • Subject: [vine-users:066921] Re: Cupsで 印刷不可
  • Date: Fri, 13 Aug 2004 13:25:18 +0900 (JST)
長南です。長文です。

alternatives という仕組みがややこしいんですよね。vim と jvim、
CUPS と LPRng のような、ほぼ同じ機能を果たすプログラムが同時に
存在している場合に、vi、lpr といったコマンドを打ち込んだとき、
実際にはどちらのプログラムが動くかをリンクの張り替えによって
管理する仕組み、と言えばよいのでしょうか――間違っていたら、
ご指摘ご訂正をお願いします。

私にわかる範囲のことを書くと――

Vine 3.0 では /usr/bin/lpr は実ファイルではなくリンクです。
リンク先は /etc/alternatives/print で、/etc/alternatives/print の
リンク先は、cups なら /usr/bin/lpr.cups、LPRng なら /usr/bin/lpr.lprng。

つまり、lpr を実行すると、実際には cups なら lpr.cups が LPRng なら
lpr.lprng が実行されるわけです。

lp 系のコマンドについて、もう少しリンク関係を書いておくと――

  /usr/bin/lp -> /etc/alternatives/print-lp
  /usr/bin/lp.lprng -> lpr
  /usr/bin/lpq -> /etc/alternatives/print-lpq
  /usr/bin/lpr -> /etc/alternatives/print
  /usr/bin/lprm -> /etc/alternatives/print-lprm
  /usr/bin/lpstat -> /etc/alternatives/print-lpstat
  /usr/bin/cancel -> /etc/alternatives/print-cancel
  /usr/bin/cancel.lprng -> lprm
  /usr/sbin/lpc -> /etc/alternatives/print-lpc

CUPS の場合

  /etc/alternatives/print -> /usr/bin/lpr.cups
  /etc/alternatives/print-cancel -> /usr/bin/cancel.cups
  /etc/alternatives/print-lp -> /usr/bin/lp.cups
  /etc/alternatives/print-lpc -> /usr/sbin/lpc.cups
  /etc/alternatives/print-lpq -> /usr/bin/lpq.cups
  /etc/alternatives/print-lprm -> /usr/bin/lprm.cups
  /etc/alternatives/print-lpstat -> /usr/bin/lpstat.cups

LPRng の場合。

  /etc/alternatives/print -> /usr/bin/lpr.lprng
  /etc/alternatives/print-cancel -> /usr/bin/cancel.lprng
  /etc/alternatives/print-lp -> /usr/bin/lp.lprng
  /etc/alternatives/print-lpc -> /usr/sbin/lpc.lprng
  /etc/alternatives/print-lpq -> /usr/bin/lpq.lprng
  /etc/alternatives/print-lprm -> /usr/bin/lprm.lprng
  /etc/alternatives/print-lpstat -> /usr/bin/lpstat.lprng

そしてこのリンクの付け替えを適当にやってくれるのが update-alternatives。
具体的には /sbin/update-alternatives --config print でやるわけですね。
もっと詳しいことは jman update-alternatives で調べてください。 

さて、ここからは、まちのさんのメールと内容が重なるのですが……。

サカイさんのメールより [vine-users:066914]
> 
> 何をインストールすれば良いのか,混乱してきました。
> 
> まず
> # apt-get install LPRng
> しました。
> 続いて
> # apt-get install lpr
> しようとすると,LPRngを削除するというので,
> 中断しました。

ふーん、そういうことが起きるのですか。とにかく、上に書いたようなわけ
ですから、LPRng をインストールすればよいわけです。

> その後,
> # update-alternatives --config print
> で,LPRngを選択後,

この後、念のため、/usr/bin/lpr というリンクが出来ているかや、
/etc/alternatives/print のリンク先を確認しておいた方がよいかもしれません。

> # rpm -ivh pips930-2.6.2-1.i386.rpm
> 
> ここまで,すんなり行きました。

寺西さんも書いていらっしゃりますが、/etc/printcap はどうなっている
のですか。お見せになった方がよいと思います。それから、/etc/printcap を
作った後、lpd の再起動はなさっていますね。

> ところが,印刷を試みると,
> 1. psファイルは,too many errorなどというメッセージ( lpq で確認)
>   で印刷できませんでした。

lpr hoge.ps を実行したときの正確なエラーメッセージは?

> 2. 適当にテキストファイルを作成し,
>   $ lpr test.txt
>   すると,英字は印字されましたが,日本語は文字化け(?)のような記号が
>   印字されました。

pips930 は原則として PS ファイルしか印刷できないのではありませんか。
pips930-2.6.2-1 のマニュアルにそのへんについて書いてないでしょうか。

-- 
長南洋一