Skip to main content.
Google custom search

NetBSD ドキュメンテーション: NetBSD からリモート SMB プリンターへの印刷

NetBSD マシンから、MS Windows マシン(あるいは、プリンターを共有するために SMB を使用しているマシン)に接続されたプリンターへ印刷する方法。

NetBSD からリモート SMB プリンターへの印刷


NetBSD からリモート SMB プリンターへの印刷

概要 (トップ)

今から説明する設定は、ポストスクリプトドキュメントを、NetBSD マシンから MS Windows PC に接続された HP Laserjet 4L で印刷するために、数年間使われ ているものです。この設定は、1) GhostScript を使い、PS 出力を 非 PS プリ ンター(この場合は HP-PCL)が理解できる形式に変換し、2) /etc/printcap を 設定し、lpr で印刷したものを SMB を話すプリンターへ送信する例です。

事前準備 (トップ)

まだ準備が完了していなければ、以下の手順を、NetBSD からリモート SMB プリンターに印刷するための設定をおこなう前に実行しておいてください。

  1. net/samba パッケージのインストール
  2. もし、ポストスクリプトでないプリンターでポストスクリプトファイル (つまり、アプリケーションがポストスクリプトを出力するという事です)を 印刷したい場合、print/ghostscript パッケージをインストール してください。

samba を使ったリモート印刷のための設定 (トップ)

以下の手順で、プリンター共有のために samba を使い、NetBSD からリモート プリンターへ印刷できるようになります。

  1. ファイル 「smbprint」を /usr/local/bin に置き、 実行パーミッションを設定してください。
  2. リモートプリンター毎に、printcap のエントリーを作成してください。ここ にあるファイル「printcap」の例が参考になるでしょう。
  3. リモートプリンター毎に、 /etc/lpd/PRINTERNAME ディレクトリーを作成し、 そこに config ファイルを置いてください。ここにあるファイル「 config」が参考になるでしょう。
  4. printcap のエントリーで指定したスプールディレクトリーを作成して ください。
  5. リモートマシン上のプリンターに接続できるかどうか、手動で確認して ください:
    smbclient //machinename/printername
    もし、smb: \> プロンプトが表示されれば、たぶん大丈夫です。もし、表示 されない場合は、/usr/local/bin/smbprint の中の smbclient コマンドの引数 に、「-I IPアドレス」を追加する必要があります。できれば、nmblookup を 使ってリモートマシンの SMB 名から IP アドレスを求める方法を使うことを お勧めします。そうすれば、アドレスをハードコードしなくてすみます(ハード コードすると、スクリプトはある一台のプリンター専用になってしまいます)。
  6. 何か印刷してみてください。もし、config ファイルの中で gs デバイスを 指定している場合は、lpr で PostScript ファイルを印刷 しなければ ならない 事を覚えておいてください。a2ps のようなプログラムの出力を パイプで lpr に渡すか、Ghostscript のディストリビューションに含まれる サンプルを印刷するとよいでしょう。
  7. printcap の中の二つの異なるエントリーを指定することができる事に注意 してください。ひとつは Ghostscript で変換され、もうひとつは 変換なしです (これらの config ファイルは異なるディレクトリーにおいて、同じ「server=」 オプション、異なる「device=」オプションを使用してください)です。これに より、プリンターのネイティブ言語(例えば PCL)や、必要なら単なる ASCII を送信することができ、かつ PostScript を出力するプログラムのための デバイスも使用することができます。

Back to NetBSD ドキュメンテーション: Miscellaneous