testprns は簡単なテスト・プログラムで、 与えられたプリンタ名が、 smbd が提供するサービスとして有効かどうかを判定する。
この場合の「有効」とは、「指定された printcap で見つけられる」ことを意味する。 このプログラムはかなりまぬけである。 したがって、用いる printcap ファイルは常に指定するようにするのが賢明である。
プリンタ名は printcap ファイルの各レコードの最初のフィールドから得られ、 正式なプリンタ名 1 つと、縦棒('|')で区切られているいくつかの別名が識別される。 このプログラムは、指定されたプリンタ名の抽出しか行わない。 printcap の構文の確認や検査は行われない。 プリント・スプール・システム (lpr システム) のチェックは testprns より甘いかもしれないし、辛いかもしれない。 いずれにせよ、 testprns がプリンタを見つけられるなら smbd も同じように見つけられるはずである。
printcapname
printcap 名が指定されないと、 testprns はコンパイル時に指定された printcap (PRINTCAP_NAME) を調べようとする。
testprns プログラムは /usr/local/samba 階層下のディレクトリにインストールし、 そのディレクトリは全ユーザから読み出し可能、root のみ書き込み可能に するのが良いだろう。 プログラムはすべてのユーザから実行可能にするべきである。 プログラムに setuid または setgid を付けないように!
プリンタが無効とわかると、 メッセージ「Printer name <printername> is not valid」が表示される。
このプログラムにより、 smbd の動作中に通常記録されるすべてのメッセージと同じものが 現在の作業ディレクトリの test.log に記録される。 プログラムはデバッグ・レベル 3 で動作するため、 かなり詳細なログ情報が出力される。 エラーや警告が出た場合には、ログを注意深く調べてみると良い。
そのほかのメッセージは読めばわかるだろう。
testprns プログラムとこのマニュアルは Karl Auer によって記述された。 バグ報告は samba-bugs@samba.org まで。
貢献者の完全な一覧、バグレポートやコメントなどの提出方法の 詳細については samba (7) を参照してほしい。