この節では、次の手順について説明します。
出力されない問題を解決する方法
出力が正しくない問題を解決する方法
LP コマンドのハングを解除する方法
アイドル状態になった (ハングした) プリンタの問題を解決する方法
矛盾した状態メッセージを解決する方法
この作業には、次の問題解決の手順が含まれています。印刷要求をプリンタに出したのに何も印刷されない場合は、これらの手順を試してください。
ハードウェアのチェック (「ハードウェアをチェックするには」)
ネットワークのチェック (「ネットワークをチェックするには」)
LP 印刷サービスの基本機能のチェック (「LP 印刷サービスの基本機能をチェックするには」)
SunOS 5.x 印刷クライアントから SunOS 5.x 印刷サーバーへの印刷チェック (「SunOS 5.x クライアントから SunOS 5.x 印刷サーバーへの印刷をチェックするには」)
SunOS 5.x 印刷クライアントから SunOS 4.1 印刷サーバーへの印刷チェック (「SunOS 5.x クライアントから SunOS 4.1 印刷サーバーへの印刷をチェックするには」)
SunOS 4.1 印刷クライアントから SunOS 5.x 印刷サーバーへの印刷チェック (「SunOS 4.1 クライアントから SunOS 5.x 印刷サーバーへの印刷をチェックするには」)
該当する印刷クライアント/サーバーのケースに進む前に、上記のうち最初の 3 つの手順をリストの順に試してください。ただし、バナーページは印刷されても他に何も印刷されない場合は、「出力が正しくない場合の問題を解決する方法」の説明に進んでください。
プリンタがコンセントに接続され、電源がオンになっているかどうかを確認します。
ケーブルがプリンタのポートと、システムまたはサーバーのポートに接続されているかどうかを確認します。
そのケーブルが正しいケーブルであり、欠陥がないことを確認します。
ハードウェア付属のマニュアルを参照してください。プリンタがシリアルポートに接続されている場合は、そのケーブルでハードウェアフロー制御がサポートされることを確認してください。NULL モデムアダプタでは、この機能がサポートされます。表 72-1 は、NULL モデムケーブル用のピン構成を示しています。
表 72-1 NULL モデムケーブル用のピン構成
ホスト |
プリンタ |
|
---|---|---|
Mini-Din-8 |
25-Pin D-sub |
25-Pin D-sub |
- |
1(FG) |
1(FG) |
3(TD) |
2(TD) |
3(RD) |
5(RD) |
3(RD) |
2(TD) |
6(RTS) |
4(RTS) |
5(CTS) |
2(CTS) |
5(CTS) |
4(RTS) |
4(SG) |
7(SG) |
7(SG) |
7(DCD) |
6(DSR)、8(DCD) |
20(DTR) |
1(DTR) |
20(DTR) |
6(DSR)、8(DCD) |
ポート用のハードウェアスイッチが正しく設定されていることを確認します。
正しい設定については、プリンタのマニュアルを参照してください。
プリンタが動作するかどうかを確認します。
プリンタにセルフテスト機能が付いている場合は、それを使用します。プリンタのセルフテストの詳細は、プリンタのマニュアルを参照してください。
コンピュータとプリンタのボーレートの設定値が正しいかどうかを確認します。
コンピュータとプリンタのボーレートの設定値が一致しなければ、何も印刷されないことがあり、さらに正しく出力されない場合もあります。詳細は、「出力が正しくない場合の問題を解決する方法」を参照してください。
ping コマンドを使用すると、印刷サーバーと印刷クライアント間のネットワークが正しく設定されているかどうかを確認できます。
print_client# ping print_server print_server is alive print_server# ping print_client print_client not available
システムが動作していることを示すメッセージが表示されれば、そのシステムにアクセスできることがわかるので、そのネットワークは正常です。また、このメッセージは、入力したホスト (システム) 名が、ネームサーバーまたはローカルの /etc/hosts ファイルによって IP アドレスに変換されたことを示します。変換されていない場合は、IP アドレスを入力する必要があります。
「not available」というメッセージが表示された場合は、次の 3 点を確認してください。まず、NIS または NIS+ はサイトでどのように設定されているか。次に、印刷サーバーと印刷クライアントが相互に通信できるように付加的な作業が必要か。最後に、サイトが NIS または NIS+ を実行していない場合、各印刷クライアントの /etc/hosts ファイルに印刷サーバーの IP アドレスを入力し、印刷サーバーの /etc/hosts ファイルにすべての印刷クライアントの IP アドレスを入力したか確認します。
(SunOS 5.0 - 5.1 印刷サーバーのみ) listen ポートモニターが正しく構成されているかどうかを確認します。
(SunOS 5.0 - 5.1 印刷サーバーのみ) ネットワーク待機サービスが印刷サーバー上のポートモニターに登録されているかどうかを確認します。
この手順では、基本 LP 印刷サービス機能をチェックする例として、プリンタ luna を使用しています。
印刷サーバー上と印刷クライアント上で、LP 印刷サービスが動作していることを確認します。
このコマンドは、LP スケジューラが動作しているかどうかを表示します。
# lpstat -r scheduler is running
スケジューラが動作していない場合は、スーパーユーザーまたは lp になり、スケジューラを起動します。
# /usr/lib/lp/lpsched
スケジューラを起動できない場合は、「LP 印刷サービスのハングを解除する方法」を参照してください。
印刷サーバー上と印刷クライアント上で、プリンタが要求を受け付けていることを確認します。
プリンタが要求を受け付けていることを確認します。
# lpstat -a mars accepting requests since Jun 04 16:13 1997 luna not accepting requests since Jun 04 08:10 1997 unknown reason
このコマンドは、LP システムがシステム用に構成された各プリンタの要求を受け付けているかどうかを確認します。
プリンタが要求を受け付けていない場合は、スーパーユーザーまたは lp になり、プリンタが印刷要求を受け付けるようにします。
# accept luna
これで、指定したプリンタは要求を受け付けます。
印刷サーバー上と印刷クライアント上で、プリンタが依頼された印刷要求の印刷で使用可能になっているかどうかを確認します。
プリンタが使用可能になっていることを確認します。
# lpstat -p luna printer luna disabled since Jun 04 09:40 1997. available. unknown reason
このコマンドは、プリンタの状態に関する情報を表示します。プリンタ名を省略すると、システム用に設定されたすべてのプリンタに関する情報を表示できます。次の例は、使用不可になっているプリンタを示しています。
プリンタが使用不可になっている場合は、スーパーユーザーまたは lp になり、プリンタを使用可能にします。
# enable luna printer "luna" now enabled.
指定したプリンタが、印刷要求の処理に使用可能になります。
印刷サーバー上で、プリンタが正しいシリアルポートに接続されていることを確認します。
プリンタが正しいシリアルポートに接続されていることを確認します。
# lpstat -t scheduler is running system default destination: luna device for luna: /dev/term/a
「device for printer-name」というメッセージは、ポートアドレスを示します。LP 印刷サービスの接続先のポートにケーブルが接続されているかどうかを確認します。ポートが正しければ、手順 5に進みます。
スーパーユーザーまたは lp になります。
ポートを表すデバイスファイルのファイル所有権を変更します。
# chown lp device-filename
このコマンドは、特殊なユーザー lp をデバイスファイルの所有者として割り当てます。このコマンドで、device-filename はデバイスファイル名です。
プリンタポートのデバイスファイルのアクセス権を変更します。
# chmod 600 device-filename
このコマンドにより、root または lp だけがプリンタポートデバイスファイルにアクセスできます。
印刷サーバー上と印刷クライアント上で、プリンタが正しく構成されていることを確認します。
プリンタが適切に設定されていることを確認します。
# lpstat -p luna -l printer luna is idle. enabled since May 20 17:39 1997. available. Content types: postscript Printer types: PS
上の例は、正しく設定された PostScript プリンタと、そのプリンタを印刷要求の処理に利用できることを示しています。プリンタタイプとファイル内容形式が正しい場合は、手順 6 に進みます。
プリンタタイプまたはファイル内容形式が違っている場合は、印刷クライアント上で、プリンタタイプを unknown に設定し、内容形式を any に設定してください。
# lpadmin -p printer-name -T printer-type -I file-content-type
印刷サーバー上で、プリンタがプリンタ障害のために待機していないことを確認します。
プリンタ障害のためにプリンタが待機していないことを確認します。
# lpadmin -p printer-name -F continue
このコマンドは LP 印刷サービスに対して、障害のために待機していない場合は続行するように指示します。
プリンタを再び使用可能にすることによって、すぐに再試行させます。
# enable printer-name
(省略可能) プリンタ障害をすぐに通知するように、LP 印刷サービスに指示します。
# lpadmin -p printer-name -A 'write root'
このコマンドは LP 印刷サービスに対して、プリンタが障害を起こした場合に、root に書き込むというデフォルトポリシーを設定し、root がログインした端末にプリンタ障害メッセージを送るように指示します。これにより、問題を修正するときに障害通知をすぐに受け取れます。
プリンタがログイン端末として間違った設定になっていないかどうかを確認します。
ログイン端末としてプリンタを設定する作業では誤りをおかしやすいので、当てはまらないように思われる場合にも、必ず設定値を確認してください。
ps -ef コマンドの出力で、プリンタポートのエントリを探します。
# ps -ef root 169 167 0 Apr 04 ? 0:08 /usr/lib/saf/listen tcp root 939 1 0 19:30:47 ? 0:02 /usr/lib/lpsched root 859 858 0 19:18:54 term/a 0:01 /bin/sh -c ¥ /etc/lp/ interfaces/luna luna-294 rocket!smith "passwd¥n## #
このコマンドの出力で、プリンタポートのエントリを探します。上の例で、ポート /dev/term/a はログイン端末として間違って設定されています。この行の最後に "passwd¥n## 情報が付いているのでわかります。ポートが正しく設定されている場合は、この手順の最後を飛ばしてください。
印刷要求を取り消します。
# cancel request-id
このコマンドで、request-id は取り消したい印刷要求の要求 ID 番号です。
プリンタポートをログインデバイス以外のものとして設定します。
# lpadmin -p printer-name -h
ps -ef コマンドからの出力をチェックして、プリンタポートがログインデバイスではなくなったことを確認します。
基本的な LP 印刷サービス機能に印刷時の問題の原因が見つからない場合は、次の中から該当するクライアント/サーバーの手順に進んでください。
まだチェックしていない場合は、印刷サーバー上で LP 印刷サービスの基本機能をチェックします。
基本機能をチェックする手順については、「LP 印刷サービスの基本機能をチェックするには」を参照してください。印刷クライアントから要求が出されたときに何も印刷されない原因を探す前に、プリンタがローカルで正しく動作することを確認してください。
まだチェックしていない場合は、印刷クライアント上で LP 印刷サービスの基本機能をチェックします。
基本機能をチェックする手順については、「LP 印刷サービスの基本機能をチェックするには」を参照してください。クライアントからの要求が印刷される前に、印刷クライアント上で LP スケジューラが動作していなければならず、またプリンタが使用可能であり、要求を受け付けられる状態になっていなければなりません。
次の手順のほとんどは、root または lp としてログインして実行しなければなりません。
SunOS 5.1 印刷クライアント上でのみ、Admintool の 「プリンタの変更 (Modify Printer)」ウィンドウを表示して、印刷サーバーのタイプが s5 になっていることを確認します。
このコマンドでは、印刷サーバーが正常に動作しているかどうかが表示されます。
# lpstat -t luna scheduler is running system default destination: luna device for luna: /dev/term/a luna accepting requests since May 20 17:41 1997. available. printer luna now printing luna-314. enabled since May 20 17:41 1997. available. luna-129 root 488 May 20 17:45 #
上の例は、印刷サーバーが起動され、動作していることを示しています。
印刷サーバーが正常に動作していない場合は、手順 1 に戻ります。
まだチェックしていない場合は、印刷クライアント上で LP 印刷サービスの基本機能をチェックします。
手順については、「LP 印刷サービスの基本機能をチェックするには」を参照してください。
印刷サーバーがアクセス可能であることを確認します。
印刷サーバーの lpd デーモンが正しく構成されていることを確認します。
印刷サーバー上でスーパーユーザーになり、lpc コマンドを入力します。
# /usr/etc/lpc lpc>
LP 状態情報を取得します。
lpc> status luna: queuing is enabled printing is enabled no entries no daemon present lpc>
状態情報が表示されます。上の例で、デーモンは動作していないので再起動する必要があります。
lpc> restart luna
デーモンが再起動されます。
lpd デーモンが起動されていることを確認します。
lpc> status
lpc コマンドを終了します。
lpc> quit
シェルプロンプトが再表示されます。
印刷クライアントが印刷サーバーにアクセスできることを確認します。
4.1 印刷サーバー上に /etc/hosts.lpd ファイルがあるかどうかをチェックします。
4.1 印刷サーバー上では、このファイルが存在する場合は、着信印刷要求を受け付けられるかどうかの判定に使用されます。このファイルが存在しない場合、すべての印刷クライアントシステムがアクセスできるため、次の手順 b と c を飛ばしてください。
ファイルが存在する場合は、印刷クライアントがファイルにリストされるかどうかを調べます。
ファイルにリストされていないクライアントシステムからの要求は、印刷サーバーに転送されません。
クライアントがリストされていない場合は、印刷クライアントをファイルに追加します。
ここまでで特に問題点が見つからない場合は、SunOS 4.1 システムは正常に設定され、機能しているはずです。
印刷クライアントからリモート lpd 印刷デーモンへの接続が正しく行われていることを確認します。
リモート印刷サーバーが SunOS 4.1 システムとして正しく識別されていることを確認します。
まだチェックしていない場合は、印刷サーバー上で LP 印刷サービスの基本機能をチェックします。
手順については、「LP 印刷サービスの基本機能をチェックするには」を参照してください。印刷クライアントから要求が出されたときに何も印刷されない原因を調べる前に、プリンタがローカルで動作していることを確認してください。
次の手順で指定されたシステムでは、スーパーユーザーまたは lp としてログインする必要があります。
印刷クライアントにアクセスできることを確認します。
印刷クライアント上で、プリンタが正しく設定されているかを確認します。
# lpr -P luna /etc/fstab lpr: cannot access luna #
このコマンドでは、印刷クライアントが動作しているかどうかが表示されます。上の例は、印刷クライアントが正常に動作していないことを示しています。
印刷クライアント上で lpd デーモンが動作していることを確認します。
印刷クライアント上で、印刷サーバーを識別する printcap エントリが存在することを確認します。
プリンタが認識されていることを確認します。
# lpr -P mercury /etc/fstab lpr: mercury: unknown printer #
上の例は、指定したプリンタのエントリが /etc/printcap ファイルに入っていないことを示しています。
エントリがない場合は、/etc/printcap ファイルを編集して次の情報を追加します。
printer-name|print-server:¥ :lp=:rm=print-server:rp=printer-name:br#9600:rw:¥ :lf=/var/spool/lpd/printer-name/log:¥ :sd=/var/spool/lpd/printer-name:
次の例は、印刷サーバー neptune に接続されたプリンタ luna のエントリを示しています。
luna|neptune:¥ :lp=:rm=neptune:rp=luna:br#9600:rw:¥ :lf=/var/spool/lpd/luna/log:¥ :sd=/var/spool/lpd/luna:
再試行を強制し、印刷クライアント lpd が待機状態になっていないことを確認します。
印刷サーバーが動作し応答している場合は、印刷クライアント lpd は再試行する前に待ち状態になっている可能性があります。
印刷サーバーへの接続をチェックします。
印刷クライアント上でスーパーユーザーになり、プリンタのログファイルを調べます。
# more /var/spool/lpd/luna/log
多くの場合、何も表示されません。
プリンタ状態ログもチェックします。
# more /var/spool/lpd/luna/status waiting for luna to come up #
接続が正常な場合は、印刷サーバー上で印刷サーバーが正しく設定されているかを確認します。
# lpstat -t scheduler is running system default destination: luna device for luna: /dev/term/a luna accepting requests since May 20 17:45 1997 printer luna now printing luna-314. enabled since May 20 17:45 1997. available. luna-129 root 488 May 20 17:47 #
上の例は、印刷サーバーが起動され、動作していることを示しています。
印刷サーバーが動作していない場合は、先に進む前に 手順 1 に戻ってください。
スーパーユーザーまたは lp としてログインします。
プリンタタイプが正しくないと、正しく出力されないことがあります。たとえば、プリンタタイプ PS を指定してページを逆順に印刷する場合は、プリンタタイプ PSR を試してください (この 2 つのタイプ名は大文字で指定しなければなりません)。また、プリンタタイプが正しくないと、テキストの欠落、読みづらいテキスト、または間違ったフォントのテキストが出力されることがあります。プリンタタイプを判別するには、terminfo データベース内のエントリを調べます。terminfo データベースの構造については、「プリンタタイプ」を参照してください。
印刷サーバー上で、プリンタの特性を表示します。
$ lpstat -p luna -l printer luna is idle. enabled since Tue Apr 29 11:55:52 MDT 1997. available. Form mounted: Content types: any Printer types: NeWSprinter20 Description: Connection: direct Interface: /etc/lp/interfaces/alamosa After fault: continue Users allowed: (all) Forms allowed: (none) Banner not required Character sets: Default pitch: Default page size: 80 wide 66 long Default port settings: $
プリンタのマニュアルを参照して、プリンタのモデルを調べます。
プリンタタイプが正しくない場合は、Admintool の「プリンタの変更 (Modify Printer)」オプションを使用して変更するか、次の lpadmin コマンドを使用します。
# lpstat -p printer-name -T printer-type
印刷クライアント上では、プリンタタイプを unknown にしてください。印刷サーバー上では、プリンタタイプは使用するプリンタのモデルをサポートするように定義された terminfo エントリと一致しなければなりません。使用するプリンタのタイプに関する terminfo エントリがない場合は、「サポートされていないプリンタの terminfo エントリを追加する方法」を参照してください。
バナーページは印刷されるが文書の本文が印刷されない場合は、ファイル内容形式を確認します。
プリンタに指定したファイル内容形式は、プリンタがフィルタなしで直接印刷できるファイル形式を示します。ファイル内容形式が正しくなければ、必要なときにフィルタリングがバイパスされることがあります。
前の手順の lpstat コマンドで表示されたファイル内容形式に関する情報をメモします。
印刷クライアント上では、1 つ以上の明示的な内容形式を指定する理由がない限り、ファイル内容形式を any にしてください。クライアント上で内容を指定すると、印刷サーバー上ではなく印刷クライアント上でフィルタリングが実行されます。また、クライアント上の内容形式は、印刷サーバー上で指定した内容形式と一致しなければならず、印刷サーバー上の内容形式はプリンタの機能を反映していなければなりません。
プリンタのマニュアルを参照し、プリンタで直接印刷できるファイルのタイプを判別します。
これらのファイル形式を参照するために使用する名前は、プリンタメーカーが使用している名前と一致しなくてもかまいません。ただし、使用する名前は LP 印刷サービスに認識されるフィルタで使用する名前と一致しなければなりません。
ファイル内容形式が正しくない場合は、Admintool の「プリンタの変更 (Modify Printer)」オプションで変更するか、次の lpadmin コマンドを使用します。
# lpadmin -p printer-name -I file-content-type(s)
必要に応じて、このコマンドを印刷クライアント上、印刷サーバー上、またはその両方で実行します。印刷クライアント上で -I any を試し、印刷サーバー上で -I "" を試してください。-I "" は、NULL のファイル内容形式リストを指定します。これは、プリンタはそのプリンタタイプと正確に一致するファイルしか直接印刷できないので、すべてのファイルをフィルタにかけることを意味します。
ファイルが印刷されないときは、まずこの組み合わせを選択してみるとよいでしょう。それで成功したら、印刷サーバー上で明示的な内容形式を指定し、不要なフィルタリングを減らすことができます。ローカルの PostScript プリンタでは、プリンタでサポートされている場合は、postscript または postscript,simple を使用してください。PS と PSR はファイル内容形式ではなく、プリンタタイプなので注意してください。
-I を省略すると、ファイル内容のリストはデフォルトの simple になります。-I オプションを使用し、simple 以外にもファイル内容形式を指定したい場合は、リストに simple を含めなければなりません。
複数のファイル内容形式を指定するときは、名前をカンマで区切ります。また、名前をスペースで区切り、リストを引用符で囲むこともできます。ファイル内容形式として any を指定すると、フィルタリングは行われないので、プリンタで直接印刷できるファイルタイプのみを送信する必要があります。
フォントのダウンロードに必要なフィルタリングを、印刷要求がバイパスしていないかどうかをチェックします。
ユーザーがコマンド lp -T PS を使用して印刷要求を PostScript プリンタに依頼すると、フィルタリングは実行されません。フィルタリングを強制するコマンド lp -T postscript を使用して要求を依頼しようとすると、文書に必要な非常駐フォントがダウンロードされることがあります。
プリンタポートの stty 設定値が正しいことを確認します。
プリンタのマニュアルを参照して、プリンタポートに合った stty 設定値を判別します。
プリンタがパラレルポートで接続されている場合、ボーレートの設定値は無関係です。
現在の設定値を調べるには、stty コマンドを使用します。
# stty -a < /dev/term/a speed 9600 baud; rows = 0; columns = 0; ypixels = 0; xpixels = 0; eucw 1:0:0:0, scrw 1:0:0:0 intr = ^c; quit = ^|; erase = ^?; kill = ^u; eof = ^d; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^q; stop = ^s; susp = ^z; dsusp = ^y; rprnt = ^r; flush = ^o; werase = ^w; lnext = ^v; parenb -parodd cs7 -cstopb -hupcl cread -clocal -loblk -parext -ignbrk brkint -ignpar -parmrk -inpck istrip -inlcr -igncr icrnl -iuclc ixon -ixany -ixoff imaxbel isig icanon -xcase echo echoe echok -echonl -noflsh -tostop echoctl -echoprt echoke -defecho -flusho -pendin iexten opost -olcuc onlcr -ocrnl -onocr -onlret -ofill -ofdel tab3 #
このコマンドでは、プリンタポートの現在の stty 設定値が表示されます。
LP 印刷サービスの標準プリンタインタフェースプログラムで使用されるデフォルトの stty オプションを表 72-2 に示しています。
表 72-2 標準インタフェースプログラムで使用されるデフォルトの stty 設定値
オプション |
意味 |
---|---|
-9600 |
ボーレートを 9600 に設定 |
-cs8 |
8 ビットバイトを設定 |
-cstopb |
1 バイト当たり 1 ストップビットを送信 |
-parity |
パリティを生成しない |
-ixon |
XON/XOFF (START/STOP または DC1/DC3 ともいう) を使用可能にする |
-opost |
以下にリストされた設定値をすべて使用して「処理後出力」を実行する |
-olcuc |
小文字を大文字に割り当てない |
-onlcr |
改行をキャリッジリターン/改行に変更する |
-ocrnl |
キャリッジリターンを改行に変更しない |
-onocr |
カラム 0 でもキャリッジリターンを出力する |
-n10 |
改行後の遅延なし |
-cr0 |
キャリッジターン後の遅延なし |
-tab0 |
タブ後の遅延なし |
-bs0 |
バックスペース後の遅延なし |
-vt0 |
垂直タブ後の遅延なし |
-ff0 |
用紙送り後の遅延なし |
stty 設定値を変更します。
# lpadmin -p printer-name -o "stty= options"
表 72-3 を使用して、印刷出力に影響する様々な問題を解決する stty オプションを選択します。
表 72-3 印刷出力の問題を解決する stty オプション
stty 値 |
結果 |
間違った設定から起こり得る問題 |
---|---|---|
110, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400 |
ボーレートを指定した値に設定する (ボーレートを 1 つだけ入力する) |
ランダム文字と特殊文字が印刷され、間隔がバラバラになることがある |
oddp evenp -parity |
奇数パリティを設定する 偶数パリティを設定する パリティを設定しない |
文字が欠落または間違った文字がランダムに表示される |
-tabs |
タブを設定しない |
テキストが右マージンにくっついてしまう |
tabs |
8 スペースごとにタブを設定する |
テキストに左マージンがなく、つながってしまうか、くっついてしまう |
-onlcr |
行頭でキャリッジリターンを設定しない |
間違ったダブルスペース |
onlcr |
行頭でキャリッジリターンを設定する |
ジグザグに印刷される |
オプションをスペースで区切り、オプションリストを単一引用符で囲むと、複数のオプションの設定を変更できます。たとえば、奇数パリティを使用可能にし、7 ビットの文字サイズを設定する必要のあるプリンタを仮定します。そのためには、次の例のようなコマンドを入力します。
# lpadmin -p neptune -o "stty='parenb parodd cs7'"
stty オプション parenb でパリティチェック/生成を使用可能にし、parodd で奇数パリティの生成を設定し、cs7 で文字サイズを 7 ビットに生成します。
文書が正しく印刷されることを確認します。
# lp -d printer-name filename
スーパーユーザーまたは lp としてログインします。
LP 印刷サービスを停止します。
# lpshut
このコマンドがハングする場合は、Control-c キーを押して次の手順に進みます。このコマンドが正常に実行された場合は、手順 4 に進みます。
LP のプロセス ID を確認します。
# ps -el | grep lp 134 term/a 0:01 lpsched #
次の手順の pid には、最初のカラムのプロセス ID 番号 (PID) を使用します。
kill -15 コマンドを使用して、LP プロセスを停止します。
# kill -15 134
これで LP 印刷サービスプロセスが停止します。プロセスが停止しない場合は、最後の手段として手順 5 に進みます。
最後の手段として、プロセスを強制終了します。
# kill -9 134
すべての lp プロセスが終了します。
次のコマンドでは、LP 印刷サービスを再起動できるように、SCHEDLOCK ファイルが削除されます。
# rm /usr/spool/lp/SCHEDLOCK
LP 印刷サービスを再起動します。
# /usr/lib/lp/lpsched
LP 印刷サービスが再起動されます。スケジューラが再起動されない場合は、「印刷スケジューラを再起動する方法」を参照してください。
この作業には、プリンタがアイドル状態であってはならないのにアイドル状態になるときに使用する多数の手順が含まれています。通常は各手順を順番に試しますが、順番どおりでなくてもかまいません。
プリンタ状態情報を表示します。
# lpstat -p printer-name
表示される情報は、プリンタがアイドル状態かアクティブ状態か、使用可能か使用不可か、または印刷要求を利用できるか受け付けていないかを示します。すべて正常と思われる場合は、この節の他の手順に進んでください。lpstat コマンドを実行できない場合は、「LP 印刷サービスのハングを解除する方法」を参照してください。
プリンタが利用できない (要求を受け付けていない) 場合は、プリンタが要求を受け付けるようにします
# accept printer-name
プリンタは、その印刷待ち行列に要求を受け付け始めます。
プリンタが使用不可になっている場合は、再び使用可能にします。
# enable printer-name
このコマンドでは、待ち行列にある要求を処理するように、プリンタを再び使用可能にします。
lpstat -o コマンドを使用して、印刷のフィルタリングをチェックします。
$ lpstat -o luna luna-10 fred 1261 Mar 12 17:34 being filtered luna-11 iggy 1261 Mar 12 17:36 on terra luna-12 jack 1261 Mar 12 17:39 on terra $
待機している最初の要求がフィルタリングされているかどうかを調べます。上の例のような出力になる場合は、ファイルがフィルタリングされています。プリンタはハングせず、要求の処理に少し時間がかかっているだけです。
プリンタ障害に関するメッセージを探し、ある場合は、その障害を解決してください。
プリンタ障害の警告がどのように指定されているかに応じて、メッセージを電子メールで root に送らせるか、root がログインした端末に書き出すことができます。
プリンタを再び使用可能にします。
# enable printer-name
プリンタ障害によって要求がブロックされた場合は、このコマンドで強制的に再試行します。このコマンドが動作しない場合は、この節の他の手順を続行します。
印刷クライアント上で、印刷サーバーへの印刷要求を、それ以上待ち行列に入れないようにします。
# reject printer-name
印刷クライアント上で、印刷サーバーに ping 要求 (存在をチェックする要求) を送信します。
print_client# ping print_server print_server is alive
「print_server not available」というメッセージが表示される場合は、ネットワークに問題があります。
問題を解決したら、新しい印刷要求を待ち行列に入れられるようにします。
# accept printer-name
必要であれば、再びプリンタを使用可能にします。
# enable printer-name
印刷サーバー上で、印刷クライアントから印刷サーバーへの印刷要求を、それ以上待ち行列に入れないようにします。
# reject printer-name
lpsched ログファイルを表示します。
# more /var/lp/logs/lpsched
表示される情報を参考にして、印刷クライアントから印刷サーバーへの印刷要求が印刷されない原因を正確に把握できます。
問題を解決したら、新しい印刷要求を待ち行列に入れられるようにします。
# accept printer-name
必要であれば、印刷サーバー上で再びプリンタを使用可能にします。
# enable printer-name
印刷サーバー上でプリンタが使用可能になっており、要求を受け付けているかどうかを確認します。
# lpstat -p printer-name
印刷クライアントが要求を受け付けているのに、印刷サーバーが要求を拒否しているときは、矛盾した状態メッセージが表示されます。
印刷サーバー上で、印刷クライアント上のプリンタの定義が、印刷サーバー上のプリンタの定義と一致するかどうかを確認します。
# lpstat -p -l printer-name
印刷フィルタ、文字セット、印字ホイール、フォームなど、印刷ジョブコンポーネントの定義を調べて、印刷クライアントとサーバー上で一致し、ローカルユーザーが印刷サーバーシステムのプリンタにアクセスできることを確認します。