FreeBSD QandA 1999年11月19日 更新分

QandA
QandA Project
登録・更新 QandA 一覧

管理番号 1086 (新規) 更新履歴
Q. セキュリティを向上させるために、管理ユーザー (wheelグループなど)が
   ネットワークからログインする際の認証方法を S/KEY に限定したい。

A. 下記のいずれかの方法があります。

   A1. 該当ユーザーのパスワードを * にして、keyinit します。しかしこの方法
   ではコンソールからのログインにも S/KEY の使用を強制されます。

   A2. /etc/skey.access によってユーザー/グループ単位でログイン元によっ
   て通常の UNIX パスワードでの認証の許可、不許可が制御できます。

   サンプルファイルは
     /usr/share/examples/etc/skey.access
   にあります。たとえば、wheel グループのユーザーがコンソール以外からログ
   インする際に S/KEY での認証のみ許可する際は次のようになります。

     permit  group wheel port console   .... (1)
     deny    group wheel              ...... (2)
     permit                          ........(3)

   (1) グループ wheel のユーザーで、ログイン端末が /dev/console のユーザー
   認証は UNIX パスワードを許可する。
   (2) (1)以外のグループ wheel のユーザーは UNIX パスワードでの認証を拒否
   する。
   (3) それ以外のユーザーは UNIX パスワードでの認証を許可する。

   詳細は skey.access(5) を見て下さい。


管理番号 177 (更新) 更新履歴
Q. FreeBSD の lpr、lpd では リモートプリンタの /etc/printcap
   の if 等で指定する入力フィルタは無効だと聞いたのですが?

A. 以前のバージョンの FreeBSD では rm、rp が指定された printcap
   エントリでも if、nf、gf 等のフィルタ指定は無視されていました。
   しかし、少なくとも FreeBSD 2.2.6 RELEASE 以降の 2.2.x 系列および
   3.0 RELEASE 以降の 3.0 系列のバージョンではリモートプリンタに
   対してもフィルタ指定は有効になっています。 


管理番号 1147 (新規) 更新履歴
Q. FreeBSD で NIS マスタサーバを立ち上げたのですが、Solaris2.6 など他
   の OS のクライアントから yppasswd でパスワードが変更できません。

A. サーバの rpc.yppasswdd を -u オプションをつけて起動します。
   起動時に有効にするには /etc/rc.conf に
     nis_yppasswdd_flags="-u"
   という行を加えましょう。
   何故かは rpc.yppasswdd(8) に書いてあります。


管理番号 608 (更新) 更新履歴
Q. ccd を利用して disk image の mirroring を行っていたら、mirroring に
   使用しているうちの片方のディスクが壊れてしまいました。

A. /etc/ccd.conf を書き換えて壊れたディスクに含まれているパーテション
   を除去します。
   次に umount してから、ccdconfig -U で古い設定を解除します。
   ccdconfig -C を行って新しい設定を有効にし、mount すると、とりあえず壊
   れていない方のディスクのみでシステムを稼働させ続けることが可能です。

   例:
        ccd0    32      6       /dev/sd0s1e /dev/sd1s1e
   で、sd1 が壊れた場合、このエントリの flags を 6 から none に変更し
   /dev/sd1s1e を除き、
        ccd0    32      none    /dev/sd0s1e
   とします。この時、ccdconfig -C に続けて newfs を行う必要は *全く* あり
   ません。

   新しいディスクが調達できたならば、dd コマンドを利用して壊れなかった方
   の disk image を新しい方にコピー
       (例: dd if=/dev/rsd0s1e of=/dev/rsd1s1e bs=1m)
   し、/etc/ccd.conf を変更 (元に戻) して同じ手続きを行ないます。


管理番号 1150 (新規) 更新履歴
Q. Squid を通して istsv_cba2.xxx.xxx.co.jp という host 名を含む URI に
   アクセスすると、
     The following error was encountered: 
     DNS name lookup failure 
     The system returned: 
   というエラーがでてしまいます。なぜでしょうか。

A. DNS のドメイン名として使えるのは、アルファベット、数字とハイフンだ
   けです。

   RFC 952 " DOD INTERNET HOST TABLE SPECIFICATION" には
      1. A "name" (Net, Host, Gateway, or Domain name) is a text string up
      to 24 characters drawn from the alphabet (A-Z), digits (0-9), minus
      sign (-), and period (.).  Note that periods are only allowed when
      they serve to delimit components of "domain style names". (See
   とあります。

   squid や最近の bind 等のように domain name を厳格に扱うソフトウェアで
   は、underscore など不正な文字を含むホスト名は拒否されます。


管理番号 1454 (新規) 更新履歴
Q. プリンタがうまく動かない/lpr による印刷がうまくできません。
   プリンタの設定方法が分かりません。どうやって印刷していいのか
   わかりません。

A. 以下の説明を順に読んでください。

   [管理番号 1455] Q. UNIX や FreeBSD でのプリンタの扱いはどうなってるの? (必ず読んでください)
   [管理番号 1456] Q. プリンタが反応しない(接続のチェック)
   [管理番号 1457] Q. テキスト印刷をするためのフィルタはありますか?
      (テキスト印刷がしたい/テキスト印刷がうまくできない)
      + Q. 日本語が化けて印刷されるのですが?

   [管理番号 1458] Q. PostScript/Ghostscript ってなんですか?
   [管理番号 1459] Q. gs はどうやって使うの?
   [管理番号 1460] Q. Ghostscript が対応しているプリンタはどれですか? (見分け方は?)
   [管理番号 1461] Q. Ghostscript を用いて PostScript の図を印刷したいのですが
   [管理番号 1462] Q. 日本語の ps file が印刷したいんですけど
   [管理番号 1463] Q. VFlib って何ですか?
   [管理番号 1464] Q. gs でもっと簡単に印刷したい

   [管理番号 1465] Q. gs でもっともっと簡単に印刷したい (lpr の利用)
      lpr/lpd がうまく動かない(lpr/lpd の利用 & 関連 QandA 集)

   [管理番号 1466] Q. その他 プリンタ関連 QandA リソースリスト


管理番号 1455 (新規) 更新履歴
Q. UNIX や FreeBSD でのプリンタの扱いはどうなってるの?

A. まず FreeBSD handbook 7章 プリンタの利用
      <URL:http://www.jp.freebsd.org/www.freebsd.org/ja/handbook/printing.html>
   その中でも特に 
      プリンタ設定導入編
         <URL:http://www.jp.freebsd.org/www.freebsd.org/ja/handbook/printing-simple.html>
      プリンタを使う
         <URL:http://www.jp.freebsd.org/www.freebsd.org/ja/handbook/printing-using.html>
      プリンタ設定上級編
         <URL:http://www.jp.freebsd.org/www.freebsd.org/ja/handbook/printing-advanced.html>
   をよく読んでください。実はこの説明のほとんどは、FreeBSD に限らず、
   UNIX 一般に当てはまります。少々長いですが、ここをちゃんと読めば 90%
   の人の疑問は解決します。

   逆にここをちゃんと読まずに メーリングリストやネットニュースに投稿しても
   結局何が問題なのか他の人にも判別がつかないので、解決はできないと思って
   ください。

   しかし、ハンドブックも万全ではありません。また広い範囲を対象にしている
   ので少し説明が冗長である部分もあります。また、日本人が書いたものではない
   ので、日本語のテキスト関連の情報や日本のプリンタの情報などはありません。

   そこでこの QandA 集では主にその辺りを中心にはまりやすいポイントと
   解決法を書きます。


   PostScript についてよく知らない人は
      [管理番号 1458]  Q. PostScript/Ghostscript ってなんですか?
   を読んでください。

   lpr/lpd についてよく知らない人は
      [管理番号 1465]  Q. gs でもっともっと簡単に印刷したい。lpr/lpd がうまく動かない
   を読んでください。


管理番号 1456 (新規) 更新履歴
Q. プリンタが反応しない (接続のチェック)

A. きちんと接続されているかどうか、ケーブル/電源などを確認してください。

   [よくある問題] printer port を間違えていないか

   もう一つよくある間違いに、ハードウェア的な接続は正しいのに、
   デバイスファイルなどを間違えているというものがあります。
   パラレルポートは /dev/lpt0 (Linux だと /dev/lp0) が一番目です
   (番号は unix 系では 0 から始まるのが一般的)。

   デバイスファイル名を間違えていたら何をどうやっても印刷できません。
   デバイスが /dev/lpt0 であると思われる場合は、まず 

      % ls -l /dev/lpt0 

   を実行してみて、デバイスファイルの存在を確認しましょう。
   これは キャラクタデバイスなので ls -l した先頭の文字は 'c'
   となっているはずです。もし /dev/lpt0 が存在しなければ
      # cd /dev; ./MAKEDEV lpt0
   してください。

   デバイスファイルがない、あるいはデバイスファイルはあっても
   正しく作られていない場合に以下の作業を行うと、/dev 以下に
   巨大なファイルが作られ、/ file system が溢れて、印刷も
   されないということになってしまいます。

   次に
      # echo test > /dev/lpt0
   としてみて何か(ごみでもいいから)印刷されるか、印刷されなくても
   ピーピー言うとか LED が一瞬光るなど反応をしているかを見てください。

   なにかしら反応があれば、デバイス名は多分あっています。
   なお、プリンタ言語によっては適当な text を送るだけでは
   印刷はしないものもあるようですが、たいてい何かしらの
   反応は示すものと思われます。

   注意: /dev/lpt0 は通常は root 以外は書き込み出来ません。


管理番号 1457 (新規) 更新履歴
Q. テキストの印刷をするためのフィルタ はありますか?
   (テキスト印刷がしたい/テキスト印刷がうまくできない)

A. プリンタの種類によっては、escpf、lipsf などいくつかあります。
		
   また、a2ps などを用いて一旦 PostScript に変換して Ghostscript を
   用いて印刷するという方法もよく用いられます。少々重いのが難点ですが、
   gs にさえ対応していれば、日本語フォントを搭載していないプリンタでも
   大丈夫、というのが魅力です。

   もしあなたが使ってるプリンタが文字コードと(復帰改行や改ページなどの)
   簡単なプリンタ制御コードのみで印刷可能であるなら、特別なフィルタが
   なくてもテキストの印刷はできます。そういうプリンタはかつてはよく
   使われていましたので、/etc/printcap のみで設定できるようになって
   います。最近のプリンタでもそういったテキスト印刷のモードを持って
   いればフィルタ無しでテキスト印刷できます。ただし、その他(グラフィック
   など)のモードとの切替が必要だったり、プリンタにテキスト印刷の
   モードがない場合には専用のテキストフィルタを用いたり、gs を使う
   必要があります。また、テキスト用のモードがあっても漢字フォントを
   搭載していない場合は日本語の印刷は gs を利用する必要があります。


     おまけ
       Q. 日本語が化けて印刷されるのですが
       A1. そのプリンタは日本語フォントを持っていますか?
          安価な color inkjet printer の多くは日本語フォントを
          持っておらず、windows でもすべて"画像"として印刷します。
          一旦 ps に変換し、gs を使いましょう [管理番号 1458]
       A2. 印刷する漢字コード/プリンタ側の設定は合っていますか?


管理番号 1458 (新規) 更新履歴
Q. PostScript/Ghostscript ってなんですか?

A. UNIX の世界では多くのソフトが印刷用の出力などを PostScript(ps)
   というPDL (Page Description Language: ページ記述言語) で出力
   します。PostScript は簡単に綺麗な絵などを描ける代わりに、処理が
   複雑です。PostScript の処理系を内蔵していて印刷できるプリンタは
   市販されていますが、通常のプリンタより高価です。

   そこで、Ghostscript(gs) という PostScript 互換の処理系でパソコン
   側で PostScript 形式のデータを処理して、繋がっているプリンタ用の
   データ形式に変換してから送りつけるという方法がよく使われます。

   これは、プリンタのカタログで「ソフトウェア RIP で PostScript を
   出力」と書いてある方法に相当します。


管理番号 1459 (新規) 更新履歴
Q. gs はどうやって使うの?

A. まず gs の動作チェックをしましょう。

   Ghostscript をインストールしてください。FreeBSD の場合は
   ja-vfghostscript-*.tgz といった名前の package を入れれば OK です。

   プリンタ用フィルタをつくる前に、gs の動作確認を。

   以下、"GS_VERSION" はお使いの Ghostscript の version 名などで
   適当に置き換えてください。

     /usr/local/share/ghostscript/"GS_VERSION"/examples/tiger.ps
   などのサンプルを用いて (FreeBSD の ports/package では上記のような
   パスにインストールされますが、システムによってはパスが異なるか、
   入ってないかもしれません)

     % gs tiger.ps 

   で画面上に虎の絵が表示されますか? されなければ、Ghostscript が
   正常に動作していません。ports/packages を用いるなり、自分で
   コンパイルするなりして入れ直しましょう。次に gs をプリンタ用の
   フィルタとして使うためには

     % gs -help 

   を実行してみて、gs のバージョンおよび Available devices: の
   中に自分の使いたいデバイスドライバが入っているかどうかを確認して
   ください。自分の使いたいプリンタとデバイスドライバ名の対応は
     /usr/local/share/ghostscript/"GS_VERSION"/doc
   などを片っ端からあさって見てみましょう。なお、gs さえ日本語対応
   していれば、プリンタドライバとしては日本語対応していなくても問題
   ありませんので海外で開発された stcolor なども Epson machjet/colorio 
   プリンタで問題なく使用できます。

     [管理番号 1460] Q. Ghostscript が対応しているプリンタはどれですか? (見分け方は?)
   に 1999年6月現在、筆者が把握している gs ドライバとプリンタとの
   対応表を挙げておきます(間違い訂正や、情報の追加/更新は大歓迎です:)。

   ごく一部ですが、gs 2.6x でしか使えないドライバというものもあります。
   また、最近開発されたドライバで、まだ ports/packages に組み込まれて
   いないものについては自分で gs に組み込んでコンパイルする必要があります。


管理番号 1460 (新規) 更新履歴
Q. Ghostscript が対応しているプリンタはどれですか? (見分け方は?)

A. gs driver と対応するプリンタリストと URI 集: (1999/6/27 チェック)
   (物凄く要補完)

   canon LBP series [LIPS III, LIPS IV, (LIPS II+)]
   			lips3(300dpi),lips4(600dpi),lips4c(color)
   	(220 など LIPS 非搭載 windows 専用プリンタは不可)
   	太古の LIPS II+ , LBP-8 などは gs 2.6.x のみ対応?
   Epson LP series [ESC/Page]
   			epag 
   	(除く LP-5000?)
   NEC laser(?)		npdl
   	上記 3つ共に by 大森さん他(<URL:http://www.bukka.p.chiba-u.ac.jp/~ohmori/gs/>)


   HP laserjet [PCL?]	??
   	(??? deskjet djet500 laserjet ljetplus ljet2p ljet3 ljet4 とかかな?)
   ricoh [RPDL]		rpdl
   			<URL:http://www.aial.hiroshima-u.ac.jp/~sakai/>
   OKI MICROLINE 620CL
   			<URL:http://www.tcp-ip.or.jp/~tagawa/archive/index.html>
   Fujitsu FMLBP2xx	(gs 2.6.x 用) fj.sources 
   		Date: Wed, 24 Jun 1998 11:40:25 JST
   		Message-ID: <NAKA.98Jun24114025@fennel.fadev.fvd.fujitsu.co.jp>

   Epson machjet/colorio/stylus [ESC/Pラスター? ]
   				mj{180,360,720},stcolor,uniprint
   		(mjc: 大森さんによる改良版があるらしい?)
   Canon BJC(最近のカラーのもの)[BJラスターコマンド?]
   				bjc600? (bjc800), uniprint
   	古いモノクロ[???]	bj10v bj10vh bj10e bj200 などを試す?
   HP (PCL 3 のもの; PPA の物は不可)
   			(????? cdjcolor cdjmono cdj550 pj pjxl pjxl300 ??????)
   				hp850 などなど...
   	大森さんのところからいくつか最近の HP inkjet のドライバリンクがある
   	<URL:http://www.erdw.ethz.ch/~bonk/hp850/hp850.html>
   	<URL:http://www.proaxis.com/~mgelhaus/linux/software/hp880c/hp880c.html>
   	<URL:ftp://ftp.pdb.sni.de/pub/utilities/misc/hpdj.html>
   ALPS	MD シリーズ?		md2k(?)
   	<URL:http://plaza26.mbn.or.jp/~higamasa/gdevmd2k/>
   ???			dmprt(?)
   ( []内は PDL 名 )

   他で集められた gs でのプリンタ実績リスト
        <URL:http://www2.famille.ne.jp/~mituiwa/#print>


   このリストを見てプリンタを購入しようという方は、なるべくドライバの
   配布元など より詳細な情報をチェックして、例外や注意事項などを把握
   するようにしてください。

   また、Windows で 6色インクなどを用いて写真画質と言っているものは
   基本的には gs で使うときは CMYK の4色のみ (CMY 3色もあるかも) しか
   利用できません。薄色インクの利用法は実質上、プリンタメーカーの
   細かい設計やノウハウに依存するため、開発が難しいのです。プリンタ
   会社が gs のドライバも開発してくれると良いのですが。

   上記のプリンタのリストに自分のプリンタと全く同じ型番のプリンタが
   ある必要があるわけではありません。[管理番号 1459] で軽く触れてあるように、
   プリンタは実際にはある固有の言語 (PDL) を解釈し、それをラスタ画像
   (ビットマップイメージ)に展開して紙に写します。そしてこの PDL と
   いうのは通常同じ会社の同じシリーズであれば、全く同じか、少なくとも
   似ているものになっています。特に新しい機種は古い PDL に対し上位
   互換の PDL を搭載しているのが普通です。プリンタのカタログの仕様を
   よく見ると
   	"ページ記述言語" 
   	"PDL"
   	"制御コード"
   	"コマンド体系"
   などと書かれていないでしょうか?

   機種名が違っていても、場合によってはメーカーが違っていても PDL と
   そのバージョンが共通であれば基本的には使えるはずです。なお、PDL の
   バージョンはプリンタドライバのバージョンとは別の概念です。


管理番号 1461 (新規) 更新履歴
Q. Ghostscript を用いて PostScript の図を印刷したいのですが

A. [管理番号 1460] の表などから gs のデバイスドライバの当たりをつけます。
   ここでは仮に Canon の laser printer を例にとります。
   するとドライバはたとえば lips3 となります(以下の説明では 'lips3' を
   適宜自分のプリンタの該当するものに置き換えてください)。

   また、自分のプリンタにピッタリな説明がなくても同じ会社のもの、とか
   適当に当たってみると動くものがあることもあります。プリンタの仕様の
   言語の欄などを参考にいろいろ試してみてもいいかもしれません。未知の
   プリンタの場合は、適当に近そうなドライバをいくつか試して試行錯誤する
   ことが必要かもしれません。

   (grep lips3 などと gs の doc directory でやるなどして
   関連ドキュメントは読んでおく; driver の配布元があればそこも
   見ておくのがなお良いでしょう)

     % cat tiger.ps | gs -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE=lips3 -sOutputFiles=/tmp/gstest.bin - quit.ps

   として、/tmp/gstest.bin を作ってみてください。/tmp/gstest.bin の
   ファイルサイズが妙に小さければ、gs が正常に機能していません。

   color ならたとえば大体、
      解像度に応じたドット数 × CMY(K) × 各色 8bit 
   というようなデータサイズになるはずです。ただしデータを圧縮する機能を
   持つドライバもあるので、必ずこの大きさになるわけではありませんが。

   上記コマンドを実行した際に gs がなにかしら文句を言ってくるようで
   あれば、それを良く読んでください。このメッセージがプリンタの制御
   コードに混ざってしまうと、フィルタとして実行する際に邪魔になります。

   次に less(jless) で /tmp/gstest.bin を見てみましょう。
     "/tmp/gstest.bin" may be a binary file.  See it anyway? 
   と言われますが、構わず見てみて、わけわからないデータであれば気に
   しなくていいです。通常、プリンタ用のデータは わけのわからない
   バイナリ形式になっています。逆に英語の warning メッセージのような
   ものが書いてあったら、要注意でしょう。良く読んでください。

   次に 
     # cat /tmp/gstest.bin > /dev/lpt0 
   してみてください。テストデータファイル名やプリンタデバイス名は
   適宜合わせてください。tiger.ps なら虎の画像が A4 一面にでるはずです。

   ここで inkjet 系のプリンタについて注意:
     擦れたり、横に線(スジ)が入って印刷される場合があります。
     それらは多くの場合、プリンタヘッドが詰まっているなどが原因で、
     ドライバの問題ではないかもしれません。何度かクリーニングを
     しましょう。プリンタヘッドが問題の場合は、Windows で印刷を
     行っても同様の結果になります。


管理番号 1462 (新規) 更新履歴
Q. 日本語の ps file が印刷したいんですが。

A. [管理番号 1461] と基本的に同じです。日本語の ps ファイルについても、
   まず X 上で表示できるかどうかを確認してください。
      % gs hoge.ps
   とすると画面上に表示されるはずです。確認したら 
      GS> quit
   と入力して抜けてください。

   ports/packages で gs をインストールしたなら、サンプルは
     /usr/local/share/ghostscript/"GS_VERSION"/vflib/article9.ps 
   などにあるかもしれません。

   ここで日本語が表示できなかったら gs が日本語対応になっていないか、
   うまく機能していない可能性があります。ports/packages を使って
   インストールし直すか、
     <URL:http://ldl-www.jaist.ac.jp:8080/~akr/nonresearch/free-software/>
     <URL:http://www.flatout.org/~daisuke/Linux/gs/gs.html>
   を参考に gs を make してみてください。

   VFlib については
     [管理番号 1463] VFlib って何ですか
   を参照してください。

   画面上で確認できたら、[管理番号 1461] と同様に、プリンタで印刷できるか
   どうか確かめてください。


管理番号 1463 (新規) 更新履歴
Q. VFlib って何ですか?

A. 日本語の TrueType フォントなどを利用して、任意の解像度の日本語
   フォントを扱うための、フォントレンダラーです。これが組み込まれた
   gs では、日本語文字がギザつきなしにきれいに印刷できます。

   また、X-TT と呼ばれる、X サーバに freetype という同様のフォント
   レンダラーを組み込んだものもあり、これを利用すると X の画面の上
   でも多様な大きさの日本語文字をきれいに扱うことができます。

   最近の gs は日本語文字の表示(レンダリング)に VFlib という 
   ライブラリを用いています。VFlib の設定ファイルの vfontcap が
   正しく設定されているか、ktest -f min などとしてみて確認して
   みてください。

     FreeBSD の ports/packages 以外で VFlib をインストールした場合
     には、ktest はパスが通っていないかもしれません。
     /usr/local/lib/VFlib などにないか探してみてください。

   VFlib については
     <URL:http://TypeHack.aial.hiroshima-u.ac.jp/VFlib/>
   を参照してください。

   vfontcap は FreeBSD の ports/packages の場合、
      /usr/local/share/VFlib/__VERSION__/
   にあります。


管理番号 1464 (新規) 更新履歴
Q. gs でもっと簡単に印刷したい!

A. PostScript を受け取って自分のプリンタの PDL に変換する
   フィルタスクリプトを作りましょう。

   適当なディレクトリ、例えば /usr/local/libexec/ などに、ps2pr.sh と
   いうフィルタを作ります (ファイル名は何でもいいです)。

     ----- ps2pr.sh の例 ----
     #!/bin/sh
     /usr/local/bin/gs -q -dSAFER -dNOPAUSE -sDEVICE=lips3 -sOutputFiles=- - quit.ps 
     ------------------------

   -sDEVICE=lips3 の部分は、自分の使うプリンタで置き換えましょう。
   gs は間違いを避けるために フルパスで記述した方がいいでしょう。
   また、シェルスクリプトなので、作ったら chmod +x しておくのを
   忘れないようにしましょう。

     良く使う option: 
       -r360x360 (解像度を dpi で指定)

   そのほかに ドライバによってはいくつか独自のオプションを持つものが
   あるので、ドキュメントを見ておきましょう。オプションを指定しないと
   実力を発揮できないどころか全く機能しないものもありますし、逆に何も
   指定しない状態に比べて格段にきれいになるドライバもあります。

   注意点
     o stcolor は stcolor.ps という file を先に読み込ませてやる必要があります。
     o uniprint driver を使う場合は適切な upp file を指定する必要があります
       Ghostscript の doc directory の Devices.htm (devices.txt) を良く読み
       ましょう(環境によってはフルパスで指定しないと動作しないかもしれません)。

   用意できたら、
      # cat test.ps | /usr/local/libexec/ps2p.sh > /dev/lpt0 
   としてみましょう。パスは環境に合わせて適宜置き換えてください。
   うまく印刷できたらフィルタ は完成です。


管理番号 1465 (新規) 更新履歴
Q. gs でもっともっと簡単に印刷したい (lpr の利用)
   lpr/lpd がうまく動かない (lpr/lpd の利用 & 関連 QandA 集)

A. UNIX の世界では、普通は直接プリンタを操作せずに、プリンタを
   担当する daemon (lpd) に lpr コマンドを通して依頼を出します。

   lpd は、複数の人から複数の仕事の依頼があるかもしれないので、
   それらを調整して出力をします。なお、SystemV 系の UNIX では、
   lpr ではなく lp というコマンドを利用します。設定は異なりますが、
   基本的な思想は共通です。詳しくは lpr、lpd のマニュアルをどうぞ。

   lpd の設定はハンドブックや printcap のマニュアルなどを参考に
   してください。FreeBSD では printcap のマニュアルも、jman に
   より日本語で参照できます。


   よくある注意事項:
     ・ printcap: 行の最後の '\' を忘れていないか?
     ・ '\' の後に空白などがついていないか?
     ・ ':' が最初や最後でつけ忘れていないか?
     (サンプルの書式を良く見ましょう)

     まずは
       % grep lpd /var/log/messages
     の結果と
       printer log (printcap の lf で指定したファイル)
     確認してください。とにかく、問題が起きたらエラーメッセージを
     確認しましょう。lpd/printcap について ML/news などで質問する
     ときも、これらの情報は必須です。


     lpd は起動していますか?
           % ps auxww | grep '[ l]pd'
       でlpd が起動しているかどうか確認してください。なければ FreeBSD では
           /etc/rc.conf に 
                   lpd_enable="YES"
           の行を追加。
        
           関連 QandA:
                   [管理番号 558]       (lpd 死亡:2.2.5R のみ?)
                   [管理番号 552]       (lpd:/etc/rc.conf 関連)

     Q. lpc restart "PRINTER_ENTRY" すると "no daemon to abort" と言われてしまう
     A. "no daemon" というのは lpd の親玉のことではなくて、
           現在プリンタと通信してデータを送ろうとしている lpd の
           "子分 daemon" がいないという意味(印刷中であっても、
           データが転送し終わっていればもういなくなります)なので、
           特に印刷中でなければこのメッセージには問題はありません。
        
     複数エントリで spool ディレクトリがだぶっていないか?
           FreeBSD では別なエントリに同じ spool dir を
           割り当てることを禁止しています。
           [管理番号 163]     duplicate spool

     lpd から if を起動するときの PATH は 自分がログインしているときの
       PATH とは違うので、フィルタにはなるべくフルパスを書きましょう。

     [管理番号 773]     (mx #0 関連)

     [管理番号 584]     lpd が datasize limit に引っ掛かった...

     ECP の関連
          <URL:http://home.jp.FreeBSD.ORG/cgi-bin/showmail/users-jp/43654>


   remote printing 関連

     通常の lpd では remote printer (rm の項)に対しては
     if(入力フィルター) の設定は無視されますが、FreeBSD では
     2.2.6-RELEASE 以降、if が有効になるようになっています。
           [管理番号 177]       rm には if 効かない =>
                            2.2.6-RELEASE 以降の FreeBSD では obsolete


管理番号 1466 (新規) 更新履歴
Q. プリンタ関連 QandA リソースリスト

A. [管理番号 411]  三田さんページへのリンクの gs の使い方
   [管理番号 614]  man -t の使い方)
   [QandA 1142]	remote printer、/etc/hosts.lpd 関連
   [管理番号 1209] (remote 関連 + filter 記述チェック)ある程度メタ的
   [QandA 987]	gs 5.10 の bug

   UNIX Magazine 1999年6月号 p.133 プリンタの設定(UNIX の玉手箱)
                             lpr/lpd のガイドが出ています


管理番号 1471 (新規) 更新履歴
Q. FreeBSD 3.x で FreeBSD 版の netscape navigator/communicator を使っ
   ています。gv などの外部プログラムを呼ぶように設定すると、terminal に
     /usr/libexec/ld-elf.so.1: Invalid file format
   と表示されて外部プログラムが起動しません。

A. Netscape に限らず、a.out 形式のプログラムから ELF 形式の外部プログ
   ラムを呼び出すとこうなります。
   netscape の場合は外部プログラムの設定の際。Application: の欄に
     LD_PRELOAD= gv %s
   のように書いて、環境変数 LD_PRELOAD の値を空にしてから外部プログラムを
   呼ぶようにしましょう。


管理番号 1472 (新規) 更新履歴
Q. 初代 Happy Hacking Keyboard (PD-KB01) を NotePC の PS/2 ポートに接
   続しましたが、正しく認識してくれません。

A. NotePC によっては HHK 添付のケーブルを使用していない場合にこうなり
   ます (例: Libretto110CT)。HHK 添付のケーブルを使っているかどうか確認し
   て下さい。

   PFU に問い合わせたところ、

     HHkeyboardは、機種切替の認識にコネクタの未使用端子を使っています。
     NotePCでは、同じ未使用端子をマウスの信号に割り当てているもの が多く
     あります。
     市販の延長ケーブルは、すべてのピン同士を接続してあるものがほとんどの
     ため、機種識別の信号とマウスの信号がぶつかってしまいます。
     HHkeyboard標準ケーブルは、そのような問題がおこらないようになっていま
     す。
     通常、デスクトップ機では、未使用端子はマザーボード側で未接続となって
     いるため、市販の延長ケーブルでも多くの場合問題無く使えています。しか
     し、一部の小型筐体のPCで動作しないこともあるようです。

   との事です。


管理番号 1429 (更新) 更新履歴
Q. ppp コマンドでインターネットに接続しているのですが、ftp コマンドで
   ファイルを転送したり、メールに添付してファイルを送る場合などに、ある
   特定のサイズ (20kbytes くらい) 以上のファイルを送ろうとすると、途中
   から送信が止まったような状態になります。この時、kernel が
     sio1: 1 more silo overflow (total 1)
   などというエラーメッセージを出しています。同じハードウェア構成でも
   Windows95 では全く問題ありません。

A. PC-モデム間の送信フロー制御の設定が正しくない時や、ケーブルが不適切な
   時に起こりそうな症状です。DCE速度 (33.6kbps) よりも DTE速度 (例えば
   115.2kbps) の方が速いので、よほど LAPM で圧縮が効くデータでない限り
   モデムのバッファが一杯になってモデムから PC へ送信停止要求が行きますが、
   これが発生しなかったり正しい方式でなかったり (xon/xoff制御) するとフロー
   制御ができなくてオーバーフローした送信データが消失します。

   以下の点を確認してみて下さい。

       1) モデムはハードウェア (RTS/CTS 又は RS/CS) フロー制御になってい
          るか。(またはPPP接続初期化時にハードウェアフロー制御に設定する
          ATコマンドが送られているか)。
       2) (念のため)sio の irq が正しいか。

   モデムに関する設定は

       1) PC 側の設定は ppp コマンドを実行してから show modem で
       2) モデム側の設定は AT コマンドで

   それぞれ参照できます。AT コマンドの詳細はモデムのマニュアルを参照して
   下さい。私の環境では /etc/ppp/ppp.conf の set dial を以下のように
   しました。

        set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" ATLM \
              OK-AT-OK AT&K3 OK-AT-OK ATDP\\T TIMEOUT 40 CONNECT"

   ここで、 "AT&K3" が私のモデム(Diamond Multimedia SupraExpress 336i
   PnP)で RTS/CSフロー制御にするための ATコマンドです。

   また sio の irq に関しては dmesg | grep sio で、見ることができます。
   他の OS (例えば Windows) などがある場合はそちらでも irq を確認して
   みましょう。


管理番号 427 (更新) 更新履歴
Q. CVSup や make world はどのようにしたらいいでしょうか。 

A.   <URL:http://www.kitanet.ne.jp/~sugimura/FreeBSD/cvsup.html>
   をご覧下さい。また CVSup については FreeBSD handbook
     <URL:http://www.jp.FreeBSD.ORG/www.freebsd.org/ja/handbook/>
   にも解説があります。


管理番号 1480 (新規) 更新履歴
Q. FreeBSD 3.3-RELEASE でインストーラから BootEasy をインストールした
   ところ、Windows 用 ウイルスチェックプログラム「SYMANTEC Norton
   AntiVirus(2000.00)」を使用すると、

     「コンピュータに次のウイルスが感染しています」
     「BloodHound.MBR」

   と、警告されました。

A. この件について株式会社シマンテックからは
   「このメッセージは、MBRが別のプログラムに更新されたことに対する警告で
     す。ウイルスに感染した恐れがあるという意味のメッセージであり、感染
     したかどうかの判定ではありません」
   との回答がありました。

   bootinst.exe、boot.bin によるインストールではこの警告はなく、インストー
   ラから BootEasy をインストールしたときに発生する事例のようです。また、
   osbs.exe(osbs20b8) もこの警告は表示されませんでした。3.2-RELEASE では
   警告はありませんでした。

   詳しい状況は不明ですが、FreeBSD の配布サイトや雑誌の付録 CD-ROM などか
   ら bootinst.exe,boot.bin を使用して BootEasy を入れ替えることで解決で
   きます。

   また、この件に関する質問は同社ユーザサポート窓口にて確認することができます。

   	株式会社 シマンテック
   	(英文名称 Symantec Japan, Inc.)
   	ユーザサポート
   	TEL:03(3476)1156 FAX:03(3476)1159


QandA
QandA Project
登録・更新 QandA 一覧