FreeBSD
FreeBSDでは、プリントサーバとするマシン(FreeBSD-2.2.8Release)の /etc/rc.conf を以下のように編集します。% cd /etc % su Password: # vi rc.conf 変更前 143> lpd_enable="NO" # Run the line printer daemon. 変更後 143> lpd_enable="YES" # Run the line printer daemon.変更後、再起動し、lpdデーモンが動いていることを確認します。% ps -ax | grep lpd 130 ?? Is 0:00.04 lpdLinux
Linux でも同様に、プリントサーバの設定をするため、システム起動時に lpd が 起動するように設定します。Vine Linux では、ntsysv を使用すると便利です。# ntsysv システム起動時に実行したいサービスを指定(lpdを選択)lpdを起動するには、以下のようにします。# /etc/rc.d/init.d/lpd start 起動 # /etc/rc.d/init.d/lpd stop 停止 # /etc/rc.d/init.d/lpd restart 再起動システム起動時に lpd が起動していることを確認します。% ps ax | grep lpd 14803 ? S 0:00 lpd 25873 p6 R 0:00 grep lpd設定ファイルの編集
- /etc/hosts.equiv または /etc/hosts.lpd
プリント要求を受け付けるホスト名を /etc/hosts.equiv または /etc/hosts.lpd ファイルに記述します。1行に1ホストづつ記述します。
- /etc/hosts
/etc/hostsファイルにプリント要求を受け付けるホスト名とIPアドレスを 記述します。1行に1ホストづつ記述します。
- /etc/printcap
プリンタの設定ファイル /etc/printcap ファイルを編集します。 各項目の意味を説明します。実際に編集したファイルをここ に置いておきます。
- プリンタ名
一番左からプリンタ名を指定します。ここではデフォルトのプリンタ lp に別名として ps、LP8200PS2 と定義しています。# EPSON LP8200PS2 (PostScript Printer) lp|ps|LP8200PS2:- sh:
この項目を加えることによりヘッダページの印刷を禁止します。
- lp=
プリンタデバイス名を指定します。ここではパラレルポート(LPT1)を使用 するので、FreeBSDでは lp=/dev/lpt0 、Linux では lp=/dev/lp0 と指定します。
- sd=
スプールディレクトリを指定します。ここでは sd=/var/spool/output/lpd としました。スプールディレクトリが存在しない場合は作成し、書き込み 権限を与えておきます。# mkdir /var/spool/output/lpd # chown daemon.daemon /var/spool/output/lpd # chmod 777 /var/spool/output/lpd- lf=
エラー記録のログファイル名を指定します。ここでは lf=/var/log/lpd-errs としました。
- mx#0:
この項目を加えることによりスプールサイズの制限を解除します。
- if=
入力フィルタを指定しますが、ここでは指定していません。
次に、lpd をリスタートさせます。# lpc lpc> restart all lp: no daemon to abort lp: daemon startedlpd を起動させたら、実際に PostScript ファイルを印刷して、正常に印刷できる ことを確認します。% lpr postscriptfile以上で、プリントサーバマシンの設定は終了です。
リモートマシンからプリントサーバを経由して印刷する手順を説明します。 Solaris 以外のマシンは /etc/printcap を変更することにより、実現できます。設定ファイルの編集
- /etc/hosts.equiv または /etc/hosts.lpd
プリント要求を受け付けるホスト名と、プリントサーバマシンのホスト名を /etc/hosts.equiv または /etc/hosts.lpd ファイルに記述します。 1行に1ホストづつ記述します。
- /etc/hosts
/etc/hostsファイルにプリント要求を受け付けるホスト名とプリントサーバの ホスト名、およびIPアドレスをとの対応を記述します。 1行に1ホストづつ記述します。
- /etc/printcap
/etc/printcap ファイルを編集します。各項目の意味を説明します。実際に編集したファイルをここに 置いておきます。
プリンタ名
一番左からプリンタ名を指定します。プリントサーバと同じにします。# EPSON LP8200PS2 (PostScript Printer) lp|ps|LP8200PS2:sh:
この項目を加えることによりヘッダページの印刷を禁止します。
- lp=
プリンタデバイス名を指定しますが、リモートマシンは設定不要です。
- rm=
プリントサーバを指定します。プリントサーバのホスト名が server だとしたら、 rm=server: とします。
- sd=
スプールディレクトリを指定します。ここでは sd=/var/spool/output/lpd としました。スプールディレクトリが存在しない場合は作成し、書き込み 権限を与えておきます。# mkdir /var/spool/output/lpd # chown daemon.daemon /var/spool/output/lpd # chmod 777 /var/spool/output/lpd- lf=
エラー記録のログファイル名を指定します。ここでは lf=/var/log/lpd-errs としました。
- mx#0:
この項目を加えることによりスプールサイズの制限を解除しますが、 リモートマシンは設定不要です。
- if=
入力フィルタを指定しますが、ここでは指定していません。
/etc/printcap を編集したら、lpd をリスタートさせます。# lpc lpc> restart all lp: no daemon to abort lp: daemon started
FreeBSD の場合は、/etc/rc.conf ファイルでlpd_enable="YES" # Run the line printer daemon.としておけば、システムの起動時に自動的に lpd が起動します。
lpd を起動させたら、実際に PostScript ファイルを印刷して、正常に印刷できる ことを確認します。% lpr postscriptfile
Linux でも同様に、クライアントの設定をするため、システム起動時に lpd が 起動するように設定します。Vine Linux では、ntsysv を使用すると便利です。# ntsysv システム起動時に実行したいサービスを指定(lpdを選択)lpdを起動するには、以下のようにします。# /etc/rc.d/init.d/lpd start 起動 # /etc/rc.d/init.d/lpd stop 停止 # /etc/rc.d/init.d/lpd restart 再起動システム起動時に lpd が起動していることを確認します。% ps ax | grep lpd 14803 ? S 0:00 lpd 25873 p6 R 0:00 grep lpd
Solaris の場合は、設定方法が異なります。以下で、Solaris2.5.1 での ネットワークプリンタの設定方法を説明します。
まず、root でログインし、admintool を実行します。# admintooladmintool のプルダウンメニューから「Browse」→「Hosts」を選択し、 プリントサーバマシンのホスト名とIPアドレスが入っているかを確認します。 無い場合には、「Edit」→「Add」を選択して追加します。
次に、admintool のプルダウンメニューから「Browse」→「Printers」を選択し、 「Edit」→「Add」→「Access to Printer」を選択します。ここで、各項目の意味は、Printer Name: プリンタ名(lpコマンドで指定するプリンタ名) Print Server: プリントサーバマシンのホスト名 Description: コメント Option: デフォルトのプリンタにしたい場合は、Default Printer をチェックします。となります。各項目を入力して「OK」を選択してプリンタを追加し、admintool を 終了します。
その後、プリンタデーモンを再起動します。# cd /etc/rc2.d # ./K20lp stop # ./K20lp start次に、以下のコマンドを実行し、追加したプリンタを有効にします。# enable プリンタ名(Printer Name に記述した名前) # accept プリンタ名(Printer Name に記述した名前)以上で Solaris のプリントクライアントの設定は終了です。
Windows マシンから UNIX マシンにつながっている PostScript プリンタに印刷 するためには UNIX 側に Samba をインストールし、プリンタを Windows マシンと 共有できるようにする必要があります。ここでは、プリントサーバマシン (FreeBSD2.2.8-Release)に Samba をインストールし、プリンタを共有できるように する手順を説明します。Sambaのインストール
Samba のインストールですが、FreeBSD には package/ports が用意されているので、 そちらを使う事にします。/stand/sysinstall もしくは pkg_add コマンド等で FreeBSD2.2.8-Release 用に用意されている samba-1.9.18.10.tgz をインスト=ル します。# pkg_add samba-1.9.18.10.tgz
- smb.conf ファイルの作成
Samba の設定ファイルである /usr/local/etc/smb.conf ファイルを編集します。 プリントサーバマシン上で実際に編集したファイルを ここに置いておきます。 以下に、このファイルの設定項目について説明します。
なおここでは、プリンタの共有に関する設定内容のみを簡単に説明します。 smb.conf ファイルの詳細な記述方法に関しては、 Sambaの項で詳しく記述する予定ですので、 そちらを御覧ください。
- [global]セクション
全体で共通する設定を記述します。設定項目の説明を以下に示します。[global] comment = FreeBSD - Samba %v # Windows ホストに表示する文字列 workgroup = FUNADA_LAB # Windows マシンのワークグループを指定 server string = Samba Server # サーバが返すコメント dont descend = /dev, /proc,/root,/stand # クライアントから中身を見せないファイルシステム allow hosts = 133.28.116.*, ... # アクセスを許可するホストの IP アドレスを指定 interface = # 複数のNICが存在するとき、プライマリなNICを指定 load printers = yes # FreeBSD 側のプリンタを全て Windows 側に公開 printcap name = /etc/printcap # printcap ファイルの場所を指定 printing = bsd # 印刷システムのタイプを指定、FreeBSD では bsd browseable = yes # ブラウズリストにサービスを表示するかどうか print command = /usr/bin/lpr -r -P%p %s # プリントコマンド lpq command = /usr/bin/lpq -P # lpq コマンド printer name = lp # スプール先のローカルプリンタ名を指定 log file = /var/log/samba.log # アクセスログを保存するファイル max log size = 50 # ログファイルの細大容量 public = yes # 全てのユーザに公開するかどうか guest ok = yes # ゲストアクセスを許可するかどうか guest account = nobody # ゲストアクセスの際のUNIXアカウント- [homes]セクション
ホームディレクトリの共有の設定ですが、ここでは設定しません。
- [printer]セクション
プリンタ共有の設定をします。[printers] comment = All Printers # サーバが返すコメント printable = yes # プリンタの設定であることを指定 postscript = yes # 印刷ジョブをPostScriptとみなす public = yes # 全てのユーザに公開するかどうか writable = yes # 書き込み可能にするかどうか create mode = 0700 # ファイル作成時のモード printer name = lp # プリンタ名を指定 browseable = yes # ブラウズリストにサービスを表示するかどうか path = /var/spool/output/lpd # スプールディレクトリの指定- [public]セクション
共有ディレクトリの設定ですが、ここでは設定しません。
- lmhostsファイルの作成
Windowsな世界のコンピュータとIPアドレスの対応表の設定を行います。 /usr/local/etc/lmhosts ファイルとして作成します。実際に編集したファイルを ここに置いておきます。
このファイルの書式は以下のようになっています。#行はコメントです。# 所属するワークグループを指定 0.0.0.0 ワークグループ名 G # b-node での使用の指定 ブロードキャストアドレス ワークグループ名 G # 自ホストの指定 IPアドレス ホスト名 Mこれらの設定ファイルの編集が終わったら、Samba を起動します。 起動は以下のようにして行います。# /usr/local/sbin/smbd -D # /usr/local/sbin/nmbd -Dシステムの起動時に自動的にSambaデーモンが起動するようにするために、 /etc/rc.local ファイルに以下の内容を追加します。# # Starting Samba Server # if [ -f /usr/local/sbin/smbd -a -f /usr/local/etc/smb.conf ]; then echo -n 'Starting smbd:' /usr/local/sbin/smbd -D echo ' smbd.' fi if [ -f /usr/local/sbin/nmbd -a -f /usr/local/etc/lmhosts ]; then echo -n 'Starting nmbd:' /usr/local/sbin/nmbd -D echo ' nmbd.' fi編集後、再起動すれば Samba デーモンが起動します。Windowsの設定
Sambaの設定が終了したら、次はクライアントである Windows マシンの設定を 行います。まず「コントロールパネル」→「ネットワーク」を選択し、 「ネットワークの設定」で TCP/IP が組み込まれていることを確認します。 また NIC に TCP/IP がバインドされていることを確認します。
次に、「識別情報」のワークグループで、 Sambaサーバで指定したワークグループと 同じ名前を入力します。
以上でコンピュータを再起動し、ネットワークコンピュータ、もしくは 「検索」→「ほかのコンピュータ」で Sambaサーバが表示され、共有プリンタが 表示されることを確認します。
共有プリンタが表示されるようなら、「プリンタの追加」でプリンタを追加します。 このとき、Sambaサーバのホスト名と server、プリンタ名を printer とすると、 プリンタのネットワークパスは \\server\printer となります。後はプリンタドライバ をインストールすれば、印刷することができます。