Solaris のシステム管理 (第 2 巻)

第 3 章 プリンタの設定手順

この章では、プリンタを設定してネットワーク上のシステムからアクセスできるようにする手順を説明します。ほとんどのプリンタ設定作業は、Admintool を使用して実行できます。この章で説明する手順は、次のとおりです。

プリンタの概要については、第 1 章「印刷管理の概要」を参照してください。

印刷クライアントを更新して、既存のプリンタにアクセスする

この節では、サイトにある SunOS 5.5.1 またはその互換バージョンを稼動しているシステムのプリンタ構成情報を変換して、その情報を印刷クライアントにコピーすることにより、既存のプリンタにアクセスできるようにする方法を説明します。


注 -

既存のプリンタの台数が少ない場合は、Solstice プリンタマネージャか Admintool を使用してプリンタへのアクセスを追加する方が、プリンタ構成情報を変換して印刷クライアントに配布するよりも簡単です。プリンタへアクセスを追加する方法については、表 3-2 を参照してください。


印刷クライアントを更新して、既存のプリンタにアクセスする作業マップ

表 3-1 に、サイトにある SunOS 5.5.1 またはその互換バージョンを稼動しているシステムのプリンタ構成情報を変換して、その情報を印刷クライアントにコピーすることにより、既存のプリンタにアクセスできるようにする作業の概要を示します。

表 3-1 作業マップ: 印刷クライアントを更新して、既存のプリンタにアクセスする

作業 

説明 

手順の説明 

既存のプリンタ構成情報を変換する 

SunOS 5.5.1 または互換バージョンのシステムのプリンタ構成情報を変換する。

SunOS 5.5.1 または互換バージョンのソフトウェアを使用しているサイトでは、/etc/lp/printers ディレクトリ内のプリンタ構成情報を、/etc/printers.conf 構成ファイルに変換する。通常、この作業は 1 回行うだけでよい。

「SunOS 5.5.1 または互換バージョンのシステムの印刷情報を変換する方法」

 

SunOS 4.1 を稼動するシステムのプリンタ構成情報を変換する。

SunOS 4.1 ソフトウェアを使用しているサイトでは、4.1 システムの /etc/printcap ファイル内のプリンタ構成情報を、/etc/printers.conf 構成ファイルに変換する。通常、この作業は 1 回行うだけでよい。

「SunOS 4.1 システムの印刷情報を変換する方法」

既存のプリンタ構成情報の変換

既存のプリンタ構成情報は、Solaris 7 またはその互換バージョンをインストールあるいはアップグレードするときに自動的に変換されます。この節では、SunOS 5.5.1 またはその互換バージョンのシステム、あるいは SunOS 4.1 のシステムのプリンタ構成情報を、印刷クライアントソフトウェアで使用する /etc/printers.conf プリンタ構成ファイルに変換する方法を説明します。変換作業を自動化するために、2 つの新しい印刷管理コマンドのいずれかを使用します。

ネームサービスを使用していない場合、サイトにある既存のプリンタを含む、/etc/printers.conf のマスターファイルを作成します。次に、このマスターファイルをすべての印刷クライアントにコピーするか、(ネームサービスを使用している場合は)、NIS または NIS+ にロードします。新しい印刷クライアントは、最初から、サイトにある既存のプリンタにアクセスできるようにしておくことを推奨します。


注意 - 注意 -

NIS または NIS+ ネームサービスを使用してプリンタ情報を構成している場合、印刷クライアント上の /etc/printers.conf ファイルは使用しないでください。印刷クライアントは、最初に /etc/printers.conf ファイルを使用してプリンタを検出します。そのときに、/etc/printers.conf ファイル内の情報と、NIS マップまたは NIS+ マップ内のプリンタ情報に矛盾がある場合は、予期せぬ結果が生じることがあります。この問題を回避するために、印刷クライアントが NIS ネームサービスまたは NIS+ を使用してプリンタ情報を構成するときは、印刷クライアント上の /etc/printers.conf ファイルを削除してください。


SunOS 5.5.1 または互換バージョンのシステムの印刷情報を変換する方法

  1. SunOS 5.7 またはその互換バージョンと、Solaris 2.6 または互換バージョンの印刷クライアントソフトウェアがインストールされているシステムに、スーパーユーザーとしてログインします。

  2. そのシステムの /etc/lp/printers ディレクトリ内のプリンタ構成情報を /etc/printers.conf ファイルに変換します。

    # /usr/lib/print/conv_lp
    

SunOS 4.1 システムの印刷情報を変換する方法

  1. SunOS 4.1 システムの /etc/printcap ファイルを、Solaris 7 互換の印刷クライアントソフトウェアをインストールしている SunOS 5.7 または互換システムにコピーします。

  2. /etc/printcap ファイルをコピーした SunOS 5.7 または互換システムに、スーパーユーザーとしてログインします。

  3. /etc/printcap ファイル内のプリンタ構成情報を /etc/printers.conf ファイルに変換します。

    # /usr/lib/print/conv_lpd
    

印刷の設定の作業マップ

「印刷の設定の作業マップ」は、印刷サーバーの設定 (プリンタの追加) と印刷クライアントの設定 (プリンタへのアクセスの追加) に必要な作業の概要を示しています。ローカルプリンタとは、印刷サーバーに物理的にケーブル接続されたプリンタのことです。ネットワークプリンタとは、ネットワークに物理的に接続されたプリンタのことです。プリンタへのアクセスを追加する (つまり、リモートアクセスを追加する) とは、印刷クライアント (サーバー以外のすべてのマシン) がプリンタにアクセスできるようにする手順のことです。

印刷の設定の作業マップ

表 3-2 作業マップ: 印刷の設定

作業 

説明 

手順の説明 

1. ローカルプリンタの追加 

Admintool を使用する

プリンタをシステムに物理的に接続した後で、Admintool を使用してプリンタを使用できるようにする。 

「Admintool を使用してローカルプリンタを追加する方法」

 

LP コマンドを使用する

プリンタをシステムに物理的に接続した後で、LP コマンドを使用してプリンタを使用できるようにする。 

「LP コマンドを使用してローカルプリンタを追加する方法」

2. プリンタへのアクセスの追加 

Admintool を使用する

Admintool を使用して、プリンタへのアクセスを印刷クライアントに追加する。 

「Admintool を使用して印刷クライアントにプリンタアクセスを追加する方法」

 

LP コマンドを使用する

lp コマンドを使用して、プリンタへのアクセスを印刷クライアントに追加する。

「LP コマンドを使用して、印刷クライアントにアクセスを追加する方法」

 

ネームサービスを使用する

NIS または NIS+ ネームサービスの /etc/printers.conf ファイルを設定して、プリンタへのアクセスを印刷クライアントに追加する。

「ネームサービスを使用して、リモートプリンタへのアクセスを追加する」

3. 既存のプリンタへのアクセスの追加 

マスターファイル /etc/printers.conf をクライアントにコピーする

ネームサービスを使用していない場合は、変換したシステムの /etc/printers.conf ファイル内のプリンタ構成情報を、他の印刷クライアントにコピーする。

「印刷クライアントの既存のプリンタへのアクセスを有効にする」

 

/etc/printers.conf ファイルを使用して、NIS にロードする

NIS ネームサービスを使用する場合は、変換したシステムの /etc/printers.conf ファイルのプリンタ構成情報を NIS マスターファイルにコピーする。

/etc/printers.conf ファイルを使用して、NIS にロードする方法」

 

/etc/printers.conf ファイルを使用して、NIS+ にロードする

NIS+ ネームサービスを使用する場合は、変換したシステムの /etc/printers.conf ファイルのプリンタ構成情報を NIS マスターファイルにコピーする。

/etc/printers.conf ファイルを使用して、NIS+ にロードする方法」

4. .printers ファイルの設定

(省略可能) $HOME/.printers ファイルを使用して、ユーザーが独自のカスタムプリンタ別名を設定できるようにする。

.printers ファイルの設定」

5. ネットワークプリンタの追加 

プリンタベンダー提供のツールを使用する

プリンタをネットワークに物理的に接続した後、ベンダー提供のソフトウェアを使用してネットワークプリンタを構成する。 

「プリンタベンダー提供のツールを使用してネットワークプリンタを追加する方法」

 

LP コマンドを使用する

プリンタをネットワークに物理的に接続した後、Solaris 7 または互換バージョンのソフトウェアを使用してネットワークプリンタを構成する。 

「LP コマンドを使用して、ネットワークプリンタを追加する方法」

6. バナーページのオフ 

(省略可能) 印刷されないように、バナーページをオフにできる。

「バナーページをオフにする方法」

7. 障害警告の設定  

(省略可能) プリンタ用に Admintool よりも限定的な障害警告を設定できる。

「プリンタの障害警告を設定する方法」

8. 障害回復機能の設定 

(省略可能) Admintool では、障害が起きた後でプリンタを回復させる方法を設定できない。

「プリンタの障害回復を設定する方法」

9. プリンタへのアクセス制限  

(省略可能) Admintool で、許可リストを設定できる。ただし、プリンタへアクセスできるユーザーを制限したい場合には、拒否リストを設定する。

「プリンタへのユーザーアクセスを制限する方法」

Admintool を起動する方法

  1. 次の前提条件を満たしているかどうかを確認します。Admintool を使用するには、以下の条件を満たさなければなりません。

    • ビットマップディスプレイモニター。Admintool は、Sun のワークステーションの標準ディスプレイモニターなど、ビットマップ画面のコンソールを使用するシステムでだけ使用できます。

    • OpenWindows 環境のような X Window System を実行している

    • sysadmin グループ (グループ 14) のメンバーである

  2. プリンタを設定したいシステムにログインします。

  3. 次のコマンドを使用して Admintool を起動します。

    $ admintool &
    

    Admintool のメインウィンドウが表示されます。

  4. 「ブラウズ (Browse)」メニューから「プリンタ (Printers)」を選択します。

    「Admintool: プリンタ (Printers)」ウィンドウが表示されます。

    Graphic

印刷サーバーの設定

システムにローカルプリンタまたはネットワークプリンタを追加すると、そのプリンタにローカルシステムからアクセスできるようになります。プリンタをインストールするシステムが「印刷サーバー」になります。

プリンタは、Admintool と LP 印刷サービスコマンドのどちらでも追加できます。次に、それぞれを使用する方法を説明します。

Admintool を使用してローカルプリンタを追加する方法

  1. プリンタサーバーにするシステムを選択します。

    pkginfo(1) コマンドを使用して、印刷サーバーに印刷パッケージ SUNWpcrSUNWpcuSUNWpsrSUNWpsuSUNWscplp、および SUNWpsf がインストールされているか確認します。

    # pkginfo package_instance
    
  2. プリンタをプリンタサーバーに接続し、プリンタの電源を入れます。

    ハードウェアのスイッチとケーブルの要件については、プリンタのインストールマニュアルを参照してください。

  3. プリンタを接続したプリンタサーバー上で Admintool を起動します。

    詳細は、「Admintool を起動する方法」の手順を参照してください。

  4. 「編集 (Edit)」メニューから「追加 (Add)」、「ローカルプリンタ (Local Printer)」の順に選択します。

    「ローカルプリンタの追加 (Add Local Printer)」ウィンドウが表示されます。

  5. ウィンドウに情報を入力します。

    フィールドに情報を入力する必要がある場合は、「ヘルプ (Help)」ボタンをクリックして、このウィンドウのフィールド定義を表示します。

  6. 「了解 (OK)」をクリックします。

    プリンタが Admintool のプリンタウィンドウに表示されます。

  7. Admintool を終了します。

    左上隅にあるボタンをクリックし、「終了 (quit)」を選択します。

  8. 新しいプリンタへのアクセスをクライアントに追加します。

    これでプリンタは追加されました。プリンタへのアクセスをクライアントで作成します。詳細は、「印刷クライアントの設定」を参照してください。

  9. オプションの作業を完了します。

    プリンタを設定するときは、オプションの (省略可能な) 作業がいくつかあります。残りの作業の参照先については、「印刷の設定の作業マップ」を参照してください。

「Admintool: ローカルプリンタの追加 (Add Local Printer)」ウィンドウの入力例

この例では、プリンタ luna が印刷サーバー krypton に追加されています。

Graphic

LP コマンドを使用してローカルプリンタを追加する方法

ローカルプリンタの追加は、コマンド行インタフェースを使用しても行えます。

  1. プリンタサーバーにするシステムを選択します。

    pkginfo(1) コマンドを使用して、印刷サーバーに印刷パッケージ SUNWpcrSUNWpcuSUNWpsrSUNWpsuSUNWscplp、および SUNWpsf がインストールされているか確認します。

    # pkginfo package_instance
    
  2. プリンタをプリンタサーバーに接続して、プリンタの電源を入れます。

    ハードウェアのスイッチとケーブル接続の要件については、プリンタのインストールマニュアルを参照してください。

  3. lp の所有権を設定して、ポートデバイスに対する読み取り権と書き込み権を設定します。

    # chown lp /dev/term/device
    # chmod 600 /dev/term/device
    
  4. lpadmin(1M) コマンドを使用して、プリンタ名、デバイス、プリンタタイプ、および内容形式を定義します。

    1. プリンタ名とプリンタが使用するポートデバイスを定義します。

      # lpadmin -p printer-name -v /dev/term/device 
      
    2. プリンタのプリンタタイプを設定します。

      # lpadmin -p printer-name -T printer-type 
      
    3. プリンタのファイル内容形式を指定します。

      # lpadmin -p printer-name -I content-type
      
  5. lpfilter(1M) コマンドを使用して、フィルタを印刷サーバーに追加します。

    1. 必要なフィルタがインストールされているかどうかを決定します。

      #	lpfilter -l -f all 
      

      フィルタがインストールされていない場合は、次のメッセージが表示されます。

      エラー : No filter by the name "" exists.
    2. フィルタのインストールが必要な場合は、lpfilter コマンドを使用して、フィルタをインストールします。

      #	cd /etc/lp/fd
      # for filter in *.fd;do
          > name=`basename $filter .fd`
          > lpfilter -f $name -F $filter
          > done
      
  6. プリンタがプリンタ要求を受け入れて、その要求を印刷できるようにします。

    #	accept printer-name
    #	enable printer-name
    
  7. lpstat(1) コマンドを使用して、プリンタが正しく構成されているか確認します。

    #	lpstat -p printer-name
    
  8. (省略可能) プリンタの説明を追加します。

    # lpadmin -p printer_name -D "description"
    
  9. 新しいプリンタへのアクセスをクライアントで追加します。

    これでプリンタは追加されました。プリンタへのアクセスをクライアントで作成します。詳細は、「印刷クライアントの設定」を参照してください。

  10. オプションの作業を完了します。

    プリンタを設定するときは、オプションの (省略可能な) 作業がいくつかあります。残りの作業の参照先については、「印刷の設定の作業マップ」を参照してください。

例 - LP コマンドを使用してローカルプリンタを追加する

この例では、ローカルの PostScript プリンタを印刷サーバーで印刷できるようにする方法を示しています。この例のコマンドは、プリンタが接続されている印刷サーバーで実行しなければなりません。この例では次の情報を使用していますが、これらの情報は状況によって異なります。

印刷クライアントの設定

印刷クライアントは、プリンタ用のサーバーではないが、プリンタにアクセスできるシステムのことです。印刷クライアントは、印刷サーバーのサービスを使用して、印刷ジョブのスプール、スケジュール、およびフィルタリングを実行します。1 つのシステムがあるプリンタの印刷サーバーになり、同時に他のプリンタの印刷クライアントになることも可能です。

リモートプリンタへのアクセスは、ドメイン単位またはマシン単位で構成できます。これら 2 つの組み合わせも利用できます。マシン単位でリモートプリンタへのアクセスを追加する方法については、「Admintool を使用して印刷クライアントにプリンタアクセスを追加する方法」または 「LP コマンドを使用して、印刷クライアントにアクセスを追加する方法」を参照してください。ドメイン単位でアクセスを追加する方法については、「ネームサービスを使用して、リモートプリンタへのアクセスを追加する」の手順に従ってください。

Admintool を使用して印刷クライアントにプリンタアクセスを追加する方法

  1. リモートプリンタへのアクセスを追加したいシステム上で Admintool を起動します。

    詳細は、「Admintool を起動する方法」の手順を参照してください。

  2. 「編集 (Edit)」メニューから「追加 (Add)」、「プリンタへのアクセス (Access to Printer)」の順に選択します。

    「プリンタへのアクセス (Add Access to Printer)」ウィンドウが表示されます。

  3. ウィンドウに情報を入力します。

    フィールドに情報を入力する必要がある場合は、「ヘルプ (Help)」ボタンをクリックして、このウィンドウのフィールドの定義を表示します。

  4. 「了解 (OK)」をクリックします。

    プリンタが Admintool メインウィンドウに表示されます。

  5. Admintool を終了します。

    左上隅にあるボタンをクリックし、「終了 (quit)」を選択します。

例 - 印刷クライアントにプリンタアクセスを追加する

次の例では、印刷クライアント rogue が、印刷サーバー enterprise 上のプリンタ rocket にアクセスできるようにします。

Graphic

LP コマンドを使用して、印刷クライアントにアクセスを追加する方法

  1. 必要な情報を収集します。

    必要な情報は、プリンタ名とそのプリンタのサーバー名です。

  2. lpadmin コマンドを使用して、プリンタを定義します。

    # lpadmin -p printer_name -s server_name
    
  3. (省略可能) プリンタ記述を追加します。

    # lpadmin -p printer_name -D "description"
    
  4. lpstat コマンドを使用して、プリンタが正しく構成されていることを確認します。

    #	lpstat -p printer-name
    

例 - LP コマンドを使用して、印刷クライアントにアクセスを追加する

リモートプリンタで印刷する場合、リモートプリンタにアクセスを追加しなければなりません。次の例は、印刷サーバー saturn のプリンタ luna にアクセスを構成する方法を示しています。システム saturn は、プリンタ luna の印刷クライアントになります。

 [ プリンタと印刷サーバーを指定する。] # lpadmin -p luna -s saturn
 [ プリンタの説明を追加する。] # lpadmin -p luna -D "Room 1954 ps"
 [ プリンタをシステムのデフォルトのプリンタ宛先として設定する。] # lpadmin -d luna
 [ プリンタが用意できていることを確認する。] # lpstat -p luna
		printer luna is idle. enabled since Jun 16 10:25 1998. available.

ネームサービスを使用して、リモートプリンタへのアクセスを追加する

NIS または NIS+ マップを使用している場合、プリンタへのアクセスはドメイン単位で設定します。詳細は、NIS+(1) のマニュアルページを参照してください。

NIS を使用して、ドメイン単位のアクセスをプリンタに追加する方法

NIS マスターサーバー上で lpset コマンドを実行しprinters.conf ファイルを作成します。次に、マップを作成して、そのマップをプッシュします。これで、ドメイン内のすべてのメンバーに、マップ内で定義されたプリンタへのアクセスを与えます。lpset(1M) のマニュアルページを参照してください。

  1. NIS マスターサーバー上でスーパーユーザーになります。

  2. プリンタごとに lpset コマンドを使用して、printers.conf ファイルを作成します。

    # lpset -a bsdaddr=server1,printer1,extensions printer1
    
    -a bsdaddr=server1,printer1,extensions

    印刷サーバーとプリンタ宛先を追加して、Solaris プロトコル拡張を有効にする 

    printer1

    プリンタ名を指定する 

  3. NIS マップを作成してプッシュします。

    # make -f /var/yp/makefile -f /usr/lib/print/Makefile.yp printers.conf
    
    -f /var/yp/makefile

    NIS Makefile を指定する

    -f /usr/lib/print/Makefile.yp

    NIS 印刷 Makefile を指定する。これは、両方の Makefile の暗黙のルールや定義済みマクロが連結されることを意味する

    printers.conf

    作成または更新するファイルを指定する 

例 - NIS を使用して、ドメイン単位のアクセスをプリンタに追加する

この例は、印刷サーバー saturn に接続されているプリンタ luna 用の printers.conf エントリを作成しています。make コマンドは、printers.conf マップをプッシュします。

# lpset -a bsdaddr=saturn,luna,Solaris -a description="Room 1954 ps" luna
# make -f /var/yp/makefile -f /usr/lib/print/Makefile.yp printers.conf

NIS+ を使用して、ドメイン単位のアクセスをプリンタに追加する

NIS+ マスターサーバー上で lpset コマンドを実行します。プリンタ構成情報を XFN 経由で NIS+ に追加するには、lpset(1M)fns(5) のマニュアルページを参照してください。

  1. NIS+ マスターサーバー上でスーパーユーザーになります。

  2. (省略可能) FNS が初期化されていない場合、NIS+ ルートドメイン用のルート組織コンテキストと下位コンテキストを作成します。

    # fncreate -t org org//
    
  3. NIS+ マップを作成します。

    # lpset -n fns -a bsdaddr=server1,printer1,extensions printer1
    
    -n fns

    FNS コンテキストを作成または更新する 

    -a bsdaddr=server1,printer1,extensions

    印刷サーバーとプリンタ宛先を追加して、Solaris プロトコル拡張を有効にする 

    printer1

    プリンタ名を指定する 

例 - NIS+ を使用して、ドメイン単位のアクセスをプリンタに追加する

この例は、印刷サーバー saturn に接続されているプリンタ luna 用の printers.conf エントリを作成しています。

# lpset -n fns -a bsaddr=saturn,luna,Solaris -a description="Room 1954 ps" luna

印刷クライアントの既存のプリンタへのアクセスを有効にする

サイトにある既存のプリンタを含む /etc/printers.conf のマスターファイルを作成すると、次の 2 つの方法で、すべての印刷クライアントが既存のプリンタにアクセスできるようになります。

/etc/printers.conf ファイルを使用して、NIS にロードする方法

  1. NIS マスターサーバーにコピーする /etc/printers.conf ファイルを持つシステムにスーパーユーザーとしてログインします。

  2. そのシステムの /etc/printers.conf ファイルを NIS マスターサーバーの /etc ディレクトリにコピーします。

  3. /usr/lib/print/Makefile.yp を NIS マスターサーバーの /var/yp ディレクトリにコピーします。

  4. NIS マスターサーバーにスーパーユーザーとしてログインします。

  5. このシステム上で、ファイルを処理する方法を指定します。

    # make -f /var/yp/makefile -f /var/yp/Makefile.yp printers.conf
    
    -f /var/yp/makefile

    NIS Makefile を指定する

    -f /usr/lib/print/Makefile.yp

    NIS 印刷 Makefile を指定する。これは、両方の Makefile の暗黙ルールや定義済みマクロが連結されることを意味する

    printers.conf

    作成または更新するファイルを指定する 

/etc/printers.conf ファイルを使用して、NIS+ にロードする方法

  1. NIS+ の admin グループのメンバーであることを確認します。次の作業を行うには、適切な特権が必要です。

  2. NIS+ マスターファイルにコピーする /etc/printers.conf ファイルを持つシステムにスーパーユーザーとしてログインします。

  3. システムの /etc/printers.conf ファイルを NIS+ マスターファイルにコピーします。

    # fncreate_printer -f /etc/printers.conf thisorgunit/service/printer
    

    このコマンドの入力方法については、『Federated Naming Service Programming Guide』を参照してください。

次に進む手順

印刷クライアントに既存のプリンタへのアクセスを与えた後、ユーザーは自分のホームディレクトリにある .printers ファイルにプリンタ別名を設定できます。設定手順については、次の節を参照してください。

.printers ファイルの設定

プリンタ情報をカスタマイズする必要がなければ、ユーザーのホームディレクトリに .printers ファイルを設定する必要はありません。しかし、.printers ファイルは、ユーザーが独自のカスタムプリンタ別名を設定できる場所です。別名 _default を使用すれば、デフォルトのプリンタを設定できます。また、特殊別名 _all を設定すれば、印刷要求を取り消したりプリンタの情報をチェックしたりするときの対象となるプリンタのリストを定義できます。

LP コマンドは、ネームサービスをチェックする前に、ユーザーのホームディレクトリにプリンタ構成情報があるかどうかをチェックすることを覚えておいてください。つまり、ユーザーのプリンタ構成ファイルを設定することによって、ネームサービスの共有情報ではなく、カスタムプリンタ情報を使用できます。

.printers ファイルの詳細は、printers(4) のマニュアルページを参照してください。

(省略可能) .printers ファイルを設定する方法

  1. スーパーユーザーとしてシステムにログインします。

  2. 任意のエディタで、.printers ファイルをユーザーのホームディレクトリに作成します。

  3. (省略可能) _default 別名を設定して、特定のプリンタをデフォルトプリンタに指定します。次の例に示すようなエントリを使用します。

    _default printer_name
    
  4. (省略可能) _all 別名を設定して、印刷要求を取り消したりプリンタの状態をチェックしたりするときの対象となるプリンタを定義します。次の例に示すようなエントリを使用します。

    _all printer1 printer2 printer3
    
  5. そのファイルを .printers として保存します。

ネットワークプリンタの追加

「ネットワークプリンタ」とは、印刷サーバーに接続せずに印刷クライアントに印刷サービスを提供するハードウェアデバイスのことです。ネットワークプリンタは専用のシステム名と IP アドレスを持ち、ネットワークに直接接続されます。ネットワークプリンタが印刷サーバーに接続されていない場合でも、専用の印刷サーバーを設定しておく必要があります。印刷サーバーは、ネットワークプリンタの待ち行列化機能と印刷管理機能を提供します。

1 つ以上の独自のプロトコルを使用するので、ネットワークプリンタは、ベンダー提供の印刷プログラムが必要です。ベンダーから提供される印刷プログラムの設定手順は、それぞれ異なることがあります。プリンタにベンダー提供サポートが付いていない場合は、ネットワークプリンタサポートを使用できます。可能な限りプリンタベンダー提供のソフトウェアを利用することを強く推奨します。

ベンダーは、SVR4 プリンタインタフェーススクリプトを提供して標準プリンタインタフェーススクリプトを置き換えている場合があります。その場合、SVR4 インタフェーススクリプトはベンダー提供の印刷プログラムを呼び出して、ジョブをプリンタに送ります。このスクリプトが提供されない場合は、標準インタフェーススクリプトを変更してベンダー提供の印刷プログラムを呼び出す必要があります。この作業は、標準インタフェーススクリプトのプリンタごとのコピーをベンダー提供の印刷プログラムを呼び出すように編集することで実行できます。

ネットワークプリンタ構成で使用する用語を説明します。

ネットワークプリンタ用のプリンタベンダー提供のソフトウェア

多くの場合、ネットワークプリンタには、プリンタベンダー提供のソフトウェアサポートが提供されます。プリンタにプリンタベンダー提供のソフトウェアがある場合は、プリンタベンダー提供のソフトウェアを利用することを強く推奨します。プリンタベンダー提供のソフトウェアは、そのプリンタの特性をサポートするように設計されていて、プリンタの能力をフルに活用します。プリンタのマニュアルをよく読んで、プリンタを LP 印刷システムにインストールおよび構成してください。

Sun のネットワークプリンタのサポート

ネットワークプリンタベンダーがソフトウェアサポートを提供していない場合、Sun が提供するソフトウェアを利用できます。このソフトウェアは、ネットワークプリンタの汎用サポートを提供するもののため、必ずしもプリンタで利用できるすべての機能を使用できません。

ネットワークプリンタを追加するための一般的な説明については、第 3 章「プリンタの設定手順」を参照してください。次は、Sun 提供のソフトウェアを使用したプリンタの管理を説明します。

ネットワークプリンタサポートの呼び出し

ネットワークプリンタ用のソフトウェアサポートは、インタフェーススクリプト経由で呼び出されます。ネットワークインタフェーススクリプト netstandard でネットワークプリンタを構成すると、ネットワークプリンタサポートモジュールが呼び出されます。次に、ネットワークサポートでプリンタを構成するコマンドを示します。

lpadmin -p printer_name -i /usr/lib/lp/model/netstandard 

プロトコルの選択

印刷サブシステムは、BSD 印刷プロトコルと raw TCP を使用してプリンタと通信します。プリンタのマニュアルには、使用するプロトコルについての情報が提供されています。一般に、プリンタに使用するのは TCP プロトコルです。

プロトコルを選択するコマンドは次のいずれかです。

lpadmin -p printer_name -o protocol=bsd

または

lpadmin -p printer_name -o protocol=tcp

選択したプロトコルが BSD 印刷プロトコルの場合、さらにコントロールファイルをプリンタに送信する順番を選択できます。一部のプリンタは、コントロールファイルの後にデータファイルという順番を仮定しますが、その逆を仮定するプリンタもあります。この情報については、プリンタベンダーのマニュアルを参照してください。デフォルトでは、コントロールファイルを先に送信します。

順番を選択するコマンドは次のいずれかです。

lpadmin -p printer_name -o bsdctrl=first

または

lpadmin -p printer_name -o bsdctrl=last

プリンタノード名の選択

システム管理者はプリンタノード名を選択します。ネットワーク上のノードと同様に、この名前は一意でなければなりません。プリンタノード名は、プリンタの IP アドレスと関連付けられます。

ネットワークプリンタアクセス名の選択

印刷サブシステムはプリンタのアクセス情報を必要とします。これは、プリンタへのネットワーク接続を行うときにサブシステムが使用する名前です。この名前は、システム管理者が lpadmin コマンドで印刷サブシステムに提供します。これは、プリンタ構成データベースの一部になります。プリンタアクセス名はプリンタノード名であり、ポート名で修飾される場合もあります。ポート指定はプリンタベンダー間で異なります。ポート指定については、プリンタのマニュアルを参照してください。次に、プリンタアクセス名の書式を示します。

printer_node-name[:port_designation]

例 1 - ポート指定 (番号) 付きネットワークプリンタアクセス名

TCP の共通ポート指定は 9100 です。プリンタノード名が pn1 で、プリンタベンダーがそのポートを 9100 と定義していた場合、プリンタアクセス名は pn1:9100 になります。この場合にプリンタを構成するには、次のコマンドを使用します。

lpadmin -p printer_name -o dest=pn1:9100

例 2 - ポート指定 (名前) 付きネットワークプリンタアクセス名

BSD プロトコルを使用するとき、ポート指定は番号でなく、プリンタベンダーが定義した名前です (例: xxx_parallel_1)。プリンタノード名が cardboard の場合、プリンタアクセス名は cardboard:xxx_parallel_1 になります。この場合プリンタを構成するには、次のコマンドを使用します。

lpadmin -p printer_name -o dest=cardboard:xxx_parallel_1

例 3 - ポート指定なしのネットワークプリンタアクセス名

ポート指定がなく、プリンタノード名が newspaper の場合、プリンタアクセス名はプリンタノード名 newspaper になります。この場合にプリンタを構成するには、次のコマンドを使用します。

lpadmin -p printer_name -o dest=newspaper

タイムアウト値の設定

タイムアウトオプションは、プリンタに接続しようとする試行間で待機する時間 (秒数) を個別に選択するためのものです。ウォームアップ時間が長いプリンタの場合は、タイムアウト値を大きくします。デフォルトは 10 秒です。

タイムアウト値は、印刷プロセスが成功するか失敗するかには影響を与えません。これは、ソフトウェアが初期タイムアウトカウントとして使用するシード値です。失敗が続くと、このカウントは増えます。プリンタへの接続の試行が連続して失敗すると、メッセージがスプーラに送信されます。これによって、ユーザーの介入が必要であることをユーザーに警告します。プリンタの電源が入っていなかったり、用紙がなくなっていたりするときにも、このメッセージが生成される可能性があります。たとえば、プリンタがウォームアップしているときに、このようなメッセージが頻繁に生成されるようであれば、タイムアウト値を増やすことで間違ったメッセージを減らすことができます。

システム管理者は最適なタイムアウト値を探してください。次に、タイムアウト値を設定するコマンドを示します。

lpadmin -p printer_name -o timeout=n

ネットワークプリンタアクセスの管理

各ネットワークプリンタは、そのプリンタへのアクセスを提供するサーバーを 1 つだけ持っています。これによって、サーバーはそのプリンタへのアクセスを管理して、ジョブの一貫性を保つことができます。

ネットワークプリンタのデフォルトデバイスは /dev/null です。プリンタに待ち行列が 1 つしかない場合はこれで十分です。複数の待ち行列が必要であれば、そのデバイスをファイルに設定します。これによって、印刷システムはプリンタへのアクセスを待ち行列間で制限できます。次のコマンドは、デバイスファイルを作成して、ネットワークプリンタデバイスとして構成しています。

touch /path/filename
chmod 600 /path/filename
lpadmin -p printer_name -v /path/filename

次の例では、devtreedown というデバイスファイルを作成しています。

# touch /var/tmp/devtreedown
# chmod 600 /var/tmp/devtreedown
# lpadmin -p treedown -v /var/tmp/devtreedown

プリンタベンダー提供のツールを使用してネットワークプリンタを追加する方法

  1. プリンタをネットワークに接続し、電源を入れます。

    ハードウェアのスイッチとケーブルの要件については、プリンタのインストールマニュアルを参照してください。IP アドレスを取得して、プリンタノード名を選択します。これは、ネットワークにノードを追加することと同じです。

  2. プリンタのマニュアルに従って、SVR4 LP 印刷スプーラのある SunOS 5.7 システムにネットワークプリンタを追加します。

    プリンタのマニュアルを使用して、ネットワークプリンタを構成してください。手順は、ベンダーやプリンタに固有です。

  3. 新しいプリンタへのアクセスをクライアントに追加します。

    これでプリンタは追加されました。プリンタへのアクセスをクライアントに作成します。詳細は、「印刷クライアントの設定」を参照してください。

  4. オプションの作業を完了します。

    ネットワークプリンタを設定するときは、オプションの作業がいくつかあります。残りの作業の参照先については、「印刷の設定の作業マップ」を参照してください。

LP コマンドを使用して、ネットワークプリンタを追加する方法


注 -

ここでは、ネットワークプリンタサポートソフトウェアを使用して、ネットワークプリンタを設定するのに必要な手順を説明しています。このソフトウェアを使用するのは、プリンタにベンダー提供のソフトウェアが付いていない場合だけです。


  1. プリンタをネットワークに接続して、プリンタの電源を入れます。

    ハードウェアのスイッチとケーブル接続の要件については、プリンタのインストールマニュアルを参照してください。IP アドレスを取得して、プリンタノード名を選択します。これは、ネットワークにノードを追加することと同じです。

  2. ネットワークプリンタを構成するのに必要な情報を収集します。

    • プリンタ名

    • プリンタサーバー

    • ネットワークプリンタアクセス名

    • プロトコル

    • タイムアウト

    詳細は、「ネットワークプリンタの追加」に説明されている用語を参照してください。

  3. lpadmin(1M) コマンドを使用して、プリンタ名、デバイス、プリンタタイプ、および内容形式を定義します。

    1. プリンタ名とプリンタが使用するポートデバイスを定義します。

      # lpadmin -p printer-name -v /dev/null
      

      使用するデバイスは /dev/null です。

    2. プリンタが使用するインタフェースを指定します。

      # lpadmin -p printer-name -i /usr/lib/lp/model/netstandard 
      

      ネットワークプリンタサポートソフトウェアで提供されるインタフェーススクリプトは /usr/lib/lp/model/netstandard です。

    3. プリンタ宛先、プロトコル、およびタイムアウト値を設定します。

      # lpadmin -p printer-name -o dest=access-name:port -o protocol=protocol -o timeout=value
      
      -p printer-name
      

      ネットワークプリンタ名を指定する 

      -o dest=access-name:port
      

      ネットワークプリンタアクセス名と、プリンタのマニュアルに定義されていれば指定されたプリンタベンダーポートに、プリンタ宛先を設定する。詳細は、「ネットワークプリンタの追加」を参照

      -o protocol:protocol
      

      プリンタとケーブル経由で通信するために使用するプロトコルを設定する。BSD と raw TCP の両方をサポートしている 

      -o timeout:value
      

      プリンタへの接続の試行間で待機する秒数を表す再試行タイムアウト値を設定する。詳細は、「ネットワークプリンタの追加」を参照

    4. プリンタのファイル内容形式とプリンタタイプを指定します。

      # lpadmin -p printer-name -I content-type -T printer-type
      
  4. lpfilter(1M) コマンドを使用して、印刷サーバーにフィルタを追加します。

    #	cd /etc/lp/fd
    # for filter in *.fd;do
        > name=`basename $filter .fd`
        > lpfilter -f $name -F $filter
        > done
    
  5. プリンタがプリンタ要求を受け入れて、その要求を印刷できるようにします。

    # accept printer-name
    #	enable printer-name
    
  6. lpstat(1M) コマンドを使用して、プリンタが正しく構成されていることを確認します。

    #	lpstat -p printer-name
    
  7. 新しいプリンタへのアクセスをクライアントに追加します。

    これでプリンタは追加されました。プリンタへのアクセスをクライアントに作成します。詳細は、「印刷クライアントの設定」を参照してください。

  8. オプションの作業を完了します。

    プリンタを設定するときは、オプションの作業がいくつかあります。残りの作業の参照先については、「印刷の設定の作業マップ」を参照してください。

この例のコマンドは、印刷サーバーで実行しなければなりません。この例では次の情報を使用していますが、これらの情報は状況によって異なります。

1# lpadmin -p luna1 -v /dev/null
2# lpadmin -p luna1 -i /usr/lib/lp/model/netstandard
3# lpadmin -p luna1 -o dest=nimquat:9100 -o protocol=tcp  -o timeout=5
4# lpadmin -p luna1 -I postscript -T PS
# cd /etc/lp/fd
5# for filter in *.fd;do	
	  > name=`basename $filter .fd`	
	  > lpfilter -f $name -F $filter	
	  > done
6# accept luna1	destination "luna1" now accepting requests
# enable luna1	printer "luna1" now enabled
7# lpadmin -p luna1 -D "Room 1954 ps"
8# lpstat -p luna1
		printer luna1 is idle. enabled since Jun 16 10:25 1998. 
available.

1. プリンタ名を定義する。デバイスを /dev/null に設定する。

2. ネットワークプリンタ用のインタフェーススクリプトを定義する。

3. 宛先、プロトコル、およびタイムアウトを設定する。

4. プリンタが直接印刷できるファイル内容形式とプリンタタイプを指定する。

5. 印刷フィルタを印刷サーバーに追加する。

6. プリンタが印刷要求を受け入れて、印刷できるようにする。

7. プリンタの説明を追加する。

8. プリンタが用意できていることを確認する。