スーパーユーザーまたは lp としてログインします。
プリンタタイプが正しくないと、正しく出力されないことがあります。たとえば、プリンタタイプ PS を指定してページを逆順に印刷する場合は、プリンタタイプ PSR を試してください (この 2 つのタイプ名は大文字で指定しなければなりません)。また、プリンタタイプが正しくないと、テキストの欠落、読みづらいテキスト、または間違ったフォントのテキストが出力されることがあります。プリンタタイプを判別するには、terminfo データベース内のエントリを調べます。terminfo データベースの構造については、「プリンタタイプ」を参照してください。
プリンタサーバー上で、プリンタの特性を表示します。
$ lpstat -p luna -l printer luna is idle. enabled since Mon Jul 12 15:02:32 MDT 1999. available. Form mounted: Content types: postscript Printer types: PS Description: Connection: direct Interface: /usr/lib/lp/model/standard 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 オプションを表 42-2 に示します。
表 42-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" |
表 42-3 を使用して、印刷出力に影響する様々な問題を解決する stty オプションを選択します。
表 42-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 |