「印刷キューに溜まったジョブを確認したい」
Linuxサーバーや業務用ワークステーションを運用していると、コマンドラインからプリンタへ印刷ジョブを投入する場面が稀にあります。GUIに頼れないリモートサーバーやスクリプトからの自動印刷では、
lpr / lpq / lprm といった印刷系コマンドが今でも現役です。この記事では、
lpr コマンド でファイルを印刷する方法と、印刷キューを確認する lpq、ジョブを取り消す lprm を一通り解説します。現代のCUPS(Common Unix Printing System)前提で、プリンタ指定オプションやPDF印刷、トラブルシュートまでまとめました。・-Pオプションで出力プリンタを指定する方法
・-#オプションで部数指定、-oオプションで両面・用紙サイズ指定
・印刷キュー確認(lpq)とジョブ取り消し(lprm)
・CUPS時代の代替コマンド lp / lpstat / cancel
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
※本記事は現代のCUPS(Common Unix Printing System)環境を前提としています。RHEL系9系・Ubuntu 22.04 / 24.04 LTS で動作確認できます。lprはBSD系の歴史あるコマンドですが、現在のLinuxではCUPSが提供するBSD互換コマンド(cups-bsdパッケージ)として動作しています。
lprコマンドとは(CUPSへ印刷ジョブを送る基本コマンド)
lpr(line printer)は、ファイルをプリンタへ送信する標準コマンドです。引数にファイル名を指定するだけで、デフォルトプリンタへジョブが投入されます。・BSD系コマンド:lpr / lpq / lprm(古くからの書式)
・System V系コマンド:lp / lpstat / cancel(CUPS推奨の新書式)
現在のLinuxではどちらもCUPSが処理するため、好みで使い分けて構いません。本記事ではBSD系のlprを軸に解説します。
基本的な使い方(ファイルをプリンタに送信する)
もっとも単純な使い方は、ファイル名を引数に渡すだけです。デフォルトプリンタへ印刷ジョブが投入されます。# report.txt をデフォルトプリンタへ印刷 $ lpr report.txt # 標準入力からも印刷可能 $ cat /var/log/messages | lpr # PDFやPostScriptもそのまま渡せる $ lpr manual.pdf
主要オプション一覧
| オプション | 意味 | 例 |
|---|---|---|
-P プリンタ名 | 出力するプリンタを指定 | lpr -P HP_LaserJet report.pdf |
-# 部数 | 印刷部数を指定 | lpr -#3 report.pdf |
-o sides=two-sided-long-edge | 両面印刷(長辺綴じ) | lpr -o sides=two-sided-long-edge report.pdf |
-o media=A4 | 用紙サイズをA4に指定 | lpr -o media=A4 report.pdf |
-o number-up=2 | 1枚に2ページ集約 | lpr -o number-up=2 manual.pdf |
-T タイトル | ジョブ名(バナーに表示) | lpr -T "月次レポート" report.pdf |
プリンタ名を確認する
-Pに渡せるプリンタ名は、lpstat -pで一覧を取得できます。# 利用可能なプリンタ一覧と状態を表示 $ lpstat -p printer HP_LaserJet is idle. enabled since 2026-04-07 printer Brother_DCP is idle. enabled since 2026-04-07 # デフォルトプリンタを確認 $ lpstat -d system default destination: HP_LaserJet
印刷キューを確認する:lpq
lpq(line printer queue)は、現在キューに溜まっている印刷ジョブの一覧を表示します。複数人が同じプリンタを使う環境では「自分のジョブが何番目に並んでいるか」を確認するのに使います。# デフォルトプリンタのキューを表示 $ lpq HP_LaserJet is ready and printing Rank Owner Job File(s) Total Size active alice 42 report.pdf 245760 bytes 1st bob 43 sales-202604.xlsx 102400 bytes 2nd alice 44 meeting-notes.txt 12288 bytes # 特定プリンタのキューを表示 $ lpq -P Brother_DCP # 自分のジョブだけ表示(ユーザー名指定) $ lpq alice
lpstat -o でも同じ情報が確認できます。印刷ジョブを取り消す:lprm
誤って大量のジョブを投入してしまった、間違ったファイルを送ってしまった、といった時はlprmでジョブを取り消します。lpqで表示されたジョブ番号を指定するのが基本です。# ジョブ番号42を取り消す $ lprm 42 # 自分のジョブを全部取り消す(番号省略) $ lprm # 特定プリンタの全ジョブを取り消す(root権限が必要) $ sudo lprm -P HP_LaserJet -
cancel ジョブ番号 も同じ動作をします。System V系コマンド(lp / lpstat / cancel)
CUPSは伝統的にSystem V系のコマンドも提供しています。スクリプトでの安定性や新しいオプションが使いたい場合はこちらが便利です。| BSD系(lpr系) | System V系(CUPS推奨) | 用途 |
|---|---|---|
lpr file | lp file | 印刷ジョブを投入 |
lpq | lpstat -o | 印刷キューを確認 |
lprm 42 | cancel 42 | ジョブを取り消す |
lpr -P 名前 | lp -d 名前 | プリンタを指定 |
lpr -#3 | lp -n 3 | 部数指定 |
トラブルシュート
① 「lpr: command not found」と言われる
最近のディストリビューションではlprコマンドはデフォルトで入っていない場合があります。CUPSのBSD互換コマンドパッケージを追加で導入してください。# RHEL系(Rocky / AlmaLinux / RHEL 9) $ sudo dnf install cups-client cups-bsd # Ubuntu / Debian $ sudo apt install cups-client cups-bsd
② ジョブを投入してもプリンタから出てこない
CUPSサービスが動いていない、プリンタが論理的に停止状態(disabled)になっている、ネットワーク経路の問題、などが考えられます。# CUPSサービスの状態確認 $ systemctl status cups # プリンタの状態詳細 $ lpstat -p -d # プリンタが「disabled」だった場合は有効化 $ sudo cupsenable HP_LaserJet $ sudo cupsaccept HP_LaserJet # CUPSのエラーログを確認 $ sudo journalctl -u cups -n 50
③ 文字化けする
日本語テキストファイルをそのままlprに渡すと、プリンタ側のフォントによっては文字化けします。一度nkfやiconvでエンコーディングを変換するか、PDFに変換してからlprに渡すのが確実です。# UTF-8 → PDF(pandocやenscriptを利用) $ enscript --font=Courier10 -o report.ps report.txt $ ps2pdf report.ps report.pdf $ lpr report.pdf
本記事のまとめ
| やりたいこと | コマンド |
|---|---|
| ファイルを印刷する | lpr ファイル名 |
| プリンタを指定して印刷 | lpr -P プリンタ名 ファイル |
| 部数を指定して印刷 | lpr -#3 ファイル |
| 両面印刷 | lpr -o sides=two-sided-long-edge ファイル |
| 印刷キュー確認 | lpq または lpstat -o |
| ジョブ取り消し | lprm 番号 または cancel 番号 |
| プリンタ一覧 | lpstat -p |
| CUPSの状態確認 | systemctl status cups |
Linuxの印刷ジョブを確実に制御できていますか?
コマンドの使い方を一つひとつ覚えていくのは時間がかかります。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
