LPC(8)

名称
lpc - ラインプリンタの制御を行う

書式
lpc [command [argument ...]]

解説
lpc ユーティリティは、 システム管理者がラインプリンタの動作を制御するために使われます。 各ラインプリンタの設定は /etc/printcap で行います。 lpc は以下の目的で利用します。

•   プリンタの利用可能/不可能の設定を行う

•   スプールキューへのジョブ投入可能/不可能の設定を行う

•   スプールキュー内のジョブの順番を並べ直す

•   プリンタ、スプールのキュー、およびプリンタデーモンのステータスを調べる

•   プリンタキューのステータスメッセージを変更する (ステータスメッセージは、 lpq(1) ユーティリティを使用してユーザが見ることができます)

引数なしの場合、 lpc は標準入力からコマンドを読むためにプロンプトを出します。 引数をつけた場合、第 1 引数をコマンドとし、残りの引数を そのコマンドのパラメータと解釈します。 標準入力をリダイレクトして、 lpc にファイルからコマンドを読み込ませることもできます。 コマンドは略して書くことができます。 利用可能なコマンドを以下に列挙します。

? [command ...]
help [command ...]
    引数で指定したコマンドの簡単な説明を表示します。引数がないときはコマンド の一覧を表示します。

abort {all | printer}
    ローカルホスト上の動作中のスプールデーモンをただちに終了させ、指定した プリンタをプリントアウトできないように ( lpr(1) が新しいデーモンをスタートさせないように) します。

bottomq printer [jobspec ...]
    指定されたジョブを指定された順序で受け付け、 それらをプリンタキューの末尾に移動します。 各 jobspec は複数のプリントジョブにマッチし得ます。 jobspec の完全な記述については後述します。

clean {all | printer}
    ローカルマシン上の指定したプリンタのキューから、出力できない (すなわち、 完全なプリンタジョブの形になっていない) テンポラリファイル、データファイル、 コントロールファイルをすべて削除します。 本コマンドは、各プリンタキューに対し、 スプールディレクトリ中の core ファイルも探し、 発見されたものを列挙します。 本コマンドは core ファイルを削除しません。 tclean コマンドも参照してください。

disable {all | printer}
    指定したプリンタのキューをオフにします。これにより、 lpr(1) によって新しいプリンタジョブがキューに入らないようになります。

down {all | printer ...} -msg message ...
down {all | printer} message ...
    指定したプリンタのキューをオフにし、プリントアウトできないようにし、 プリンタのステータスファイルに message を書きます。 複数のプリンタキューを指定する場合、 新規ステータスメッセージとなるテキストとプリンタリストを分離するために、 -msg 引数が必要です。 メッセージは引用符で囲む必要はなく、残りの引数は echo(1) と同様に扱われます。通常、この コマンドはプリンタをダウンさせ、ユーザに対しそのダウンの理由を lpq(1) ユーティリティによって説明させるために使われます。

enable {all | printer}
    指定したプリンタ用のキューのスプーリングを行うようにします。これは、 lpr(1) で新しいプリンタジョブをスプールキューに挿入することができるよ うにします。

exit
quit
    lpc を終了させます。

restart {all | printer}
    新しいプリンタデーモンの再スタートを試みます。このコマンドは、異常な 状態になって突然デーモンが死に、キュー内にジョブが残ったままになった場合に 有効です。この状態が起きたときには、 lpq(1) は現在デーモンが動いていないことを報告します。 もしあなたがスーパユーザなら、現在動いているデーモンを先に殺してください (つまり、動かなくなったデーモンを殺してから再スタートさせるわけです)。

setstatus {all | printer} -msg message ...
    指定したプリンタのステータスメッセージを設定します。 新規ステータスメッセージとなるテキストとプリンタリストを分離するために、 -msg 引数が必要です。 印刷を無効化した後にプリンタキューがもはやアクティブではなく、 lpq(1) ユーティリティの出力中にユーザが見るメッセージを変更したい場合、 通常このコマンドを使用して、ステータスメッセージを変更します。

start {all | printer}
    指定したプリンタを出力可能にしてスプールデーモンをスタートさせます。

status {all | printer}
    ローカルマシン上のデーモンとキューの状態を表示します。

stop {all | printer}
    現行のジョブが終了したあとでデーモンのスプーリングをストップさせ、 プリントアウトできないようにします。

tclean {all | printer}
    本コマンドは、 clean コマンドのテスト実行を行います。 同じチェックが行われますが、同様の clean コマンドが入力された場合に実行する事柄を、本コマンドは表示します。 本コマンドは、いかなるファイルも削除しません。 clean は特権コマンドですが、 tclean は制限がありません。

topq printer [jobspec ...]
    指定されたジョブを指定された順序で受け付け、 それらをプリンタキューの先頭に移動します。 各 jobspec は複数のプリントジョブにマッチし得ます。 jobspec の完全な記述については後述します。
up {all | printer}
    すべての状態を可能状態(enable)にし、新しいプリンタデーモンをスタートさせます。 down の逆です。

topq および bottomq のコマンドは、コマンドの操作対象のジョブを指定するために、1 個以上の jobspec を受け付けます。 jobspec は次のいずれかです:

•   単一のジョブ番号。 プリンタキュー中の、同一のジョブ番号を持つすべてのジョブにマッチします。 例えば 17 です。

•   ジョブ番号の範囲。 ジョブ番号が最初の番号と最期の番号の範囲に入る (両端を含む) ジョブが マッチします。 例えば 21-32 です。

•   特定のユーザ ID。 そのユーザが送ったすべてのジョブにマッチします。 例えば jones です。

•   ホスト名。 前に `@ ' を付けると、キューの中の、 そのホストから送られたすべてのジョブにマッチします。 例えば @freebsd.org です。

•   ジョブ番号の範囲とユーザ ID を `:' で区切ったもの。 ジョブ番号の範囲と指定したユーザの両方がマッチする すべてのジョブにマッチします。 例えば jones:17 や 21-32:jones です。

•   ジョブ番号範囲やユーザ ID の後にホスト名を続けたもの。 指定したすべての条件にマッチするジョブがマッチします。 例えば jones@freebsd.org や 21-32@freebsd.org や jones:17@freebsd.org です。

ユーザ ID やホスト名の値には、パターンマッチ文字を使用可能です。 これは、 ほとんどのシェルでファイル名のマッチングに使用されるものと同様です。 lpc コマンドの最初の命令として topq または bottomq を入力する場合、シェルが展開可能なパターンマッチ文字 (カレントディレクトリにあるファイルに依存します) は、 lpc が命令を処理する前にシェルに展開されてしまいます。 このような場合、パターンマッチ文字を含むパラメータはクォートで括り、 シェルが展開しないようにしてください。

関連ファイル
/etc/printcap
    プリンタの設定を記述するファイル
/var/spool/*
    スプールディレクトリ
/var/spool/*/lock
    プリンタキューの制御を行うためのロックファイル

関連項目
lpq(1), lpr(1), lprm(1), printcap(5), chkprintcap(8), lpd(8)

診断

?Ambiguous command コマンド指定が省略し過ぎのため、複数のコマンドにマッチしています。

?Invalid command マッチするコマンドがありません。

?Privileged command "operator" グループのメンバか root でなければこのコマンドは 実行できません。

歴史
lpc ユーティリティは 4.2BSD から登場しました。