[Home] [Kuri] [Sysad] [Internet?] [Blog] [Java] [Windows] [Download] [Profile] [Flash] [+]

UNIX とプリンタのやりとり

概要

Windows と UNIX の両方を使用していると、UNIX から Windows の プリンタを使いたくなったり、Windows から UNIX のプリンタを使い たくなったりします。
ここでは、そんなあなたのために、相互で使用するための方法について 書きました。といってもたいそうなことはしておりません。 (というか、いい加減にしか書いておりません。すみません。)

UNIX から Windows のプリンタを使う

まずは
samba のインストール および設定をしましょう。(割愛)
あとは、以下の手順で印刷するだけです。

  % smbclient '\\サーバ名\プリンタ名' -P
  Added interface ip=ほげほげ bcast=ほげほげ nmask=ほげほげ
  Password: (パスワードを打ち込む)
  Domain=[なんとか] OS=[なんとか] Server=[なんとも]
  smb: \> print ファイル名
  ...略
  smb: \> quit

ちなみに、PS プリンタじゃないのに PS ファイルを送るといやなことに なります。といっても、PS じゃないプリンタへの出力方法は、実はよく わかっておりません。たぶん ghostscript に噛ませればいいと思うのです が…。といっても、ghostscript がそのプリンタに対応していないと話に ならないと思います。
Linux のパッケージには smbprint というのが入ってまして、.config に サーバやプリンタを書いておけば同様のことをしてくれます。 実際のスクリプトはもっと長いですが、基本的には以下ようになっており ました。下記は FreeBSD で動作しました。(プリンタが固定ですが…。)

  #!/bin/sh
  (echo "print -"; cat)|smbclient '\\サーバ名\プリンタ名' -P
  

Windows 側でパスワード不要にしてあるのでしたら、-P のあとに -N を 入れておけば、いちいち聞いてきません。 (smbprint も -N がついていました。)

Windows から UNIX のプリンタを使う

今度は逆の場合です。 samba を使う方法と、Windows から lpd を参照させる方法があります。 後者は NT か 2000 でないとできないと思います。
前者は smb.conf が以下のようになっていればいいと思います。

  [global]
  ...略
    load printers = yes
    printcap name = /etc/printcap
  ...略
  [printers]
   comment = All Printers
   path = /var/spool/samba
   browseable = no
   guest ok = no
   writable = no
   printable = yes
  ...略

たぶんデフォルトで上記のような設定があると思いますので、ほとんど 触る必要はないと思います。
気になるのが printcap name ですが、BSD 系なら /etc/printcap で問題ないと思います。 SystemV 系の場合は、例えば Solaris だと、2.6 以降ですと /etc/printers.conf というファイルがあり、これを指定するだけで 一覧にプリンタが出てきました。(印刷までは試していません。) Solaris2.5.1 以前の場合は、自力で printcap を書く必要があった ように思います。(昔やったのですが、もう忘れてしまいました…。)

あと Windows から lpd を参照させる方法ですが、プリンタの追加の ところでローカルプリンタを選択し、次に新しいポート(NT の場合 はポートの構成)を押下して LPR を選択します。あとはサーバとプリ ンタ名を指定するくらいです…よね。もし選択肢に LPR が出てこない 場合は、アプリケーションの追加と削除の Windows のコンポーネント の追加と削除(2000 の場合です)で追加してください。
また、UNIX 側が BSD 系の場合は、/etc/hosts.lpd に登録するのを 忘れないでください。でないと一生印刷されません。 逆に Solaris などの lp 系の場合は、inetd に in.lpd などが登録 されていることを確認してください。 (私はこれで2時間ほど悩みました。)

Powered by Apache PostgreSQL Usupi Logo Kuri Logo
[Home] [Kuri] [Sysad] [Internet?] [Blog] [Java] [Windows] [Download] [Profile] [Flash] [-]
usu@usupi.org Last modified : Wed Jun 6 14:35:23 2001