2007-12-13 (Thu) [長年日記]

_ [obsd][srv]OpenBSD マシンに繋がっているプリンタを Windows XP と CUPS IPP 経由で共有する

以前は「ファイルに出力」して /dev/ulpt0 に scp していたけど、ちゃんとした方法にしようと思った。

  • pkg_add -i cups
  • CUPS の調整
    • まず /etc/cups/mime.convs の末尾にある raw filter を有効にしておく
    • /usr/local/sbin/cups-enable を実行 (printcap や lpr などを置き換えてくれる)
    • あとは cupsd を起動すればブラウザから http://localhost:631/ で設定できる
    • 設定ファイル cupsd.conf では Listen と <Location />Allow</Location> に許可ネットワークを追加
    • 手で書き換えたなら、pkill -HUP cupsd する必要があると思う
  • PF で許可ネットワークから port ipp へのアクセスを pass in して pfctl -f /etc/pf.conf

これでできるはず。

  • Windows XP からは、コントロールパネル -> プリンタ -> プリンタの追加
    • ネットワーク上のプリンタとして「http://サーバ:631/printers/プリンタ名」と指定
    • 何か選べと言われるが、デフォルトの General Network Card で OK なはず

たとえば mime.convs の設定を忘れているとき、 ローカルから lpr すれば unsupported type などとエラー表示が出るのに、 リモート Windows からはエラーが表示されない (静かにスプールで「エラー」として溜まっていくだけ) みたい。 トラブルシューティングは面倒な感じ。

ただ、Samba とかに比べるとシンプルで安心できる設定方法だ。 今は何でも http なんだなぁ。

[]