ウェブサイト検索

Linuxでコマンドラインのみを使用して印刷する方法


頻繁には必要ないかもしれませんが、必要なときにこのコツは役立ちます。

2000年代初頭、当時の彼女が私の机にいる間に、別の場所からSSHを介してデスクトップコンピュータに接続したことを覚えています。私はプリンタに次のコマンドを送信しました:

echo "私はあなたを愛しています" | lp

プリンターがその一行を印刷しました。しばらくして彼女は私に電話をかけて、私のプリンターが取り憑かれているのか、それとも私がただ可愛いことをしているのかを尋ねました。罪を認めます。

私がLinuxを使用して数十年の間に、いくつかの機会でファイルを印刷しなければならなかったが、デスクトップ環境がないサーバーにログインしているか、リモートでデスクトップにログインして(SSH経由で)コマンドラインのみしか利用できなかったため、GUIデスクトップが利用できなかった。

いずれにせよ、Linuxはコマンドラインからの印刷を非常に簡単にします。さらに良いことに、すべてがあなたのディストリビューションに組み込まれています。プリンターが接続され、設定されていれば、それを行うことができます。

Linuxコマンドラインから印刷する方法

必要なもの:Linuxの稼働中のインスタンス(使用するディストリビューションは何でも構いません)と接続され、設定されたプリンター。

1. プリンターを見つける

これは、あなたのマシンに複数のプリンターが接続されている場合にのみ必要です。私は、Linuxがいくつかの接続されたプリンターを持つ印刷サーバーとして使用されている場合に、そのような状況に遭遇したことがあります。それがあなたのケースであれば、どのプリンターを使用するかを知っておく必要があります。

ターミナルウィンドウを開く必要はありません。おそらく今それを見ているからです(GUIなしで印刷しようとしているので)。コマンドプロンプトが準備できたら、次のコマンドで使用するプリンタの名前を見つける必要があります:

lpstat -p

すべての接続されたプリンターのリストが表示されるはずです。たとえば、私の Pop!_OS デスクトップでは、次のように見えます:

printer HL-L2300D-series is idle.  enabled since Mon 21 Oct 2024 10:24:00 AM EDT

私のプリンターの名前はプリンター HL-L2300Dシリーズです。

2. 印刷キューを表示する

プリンターや印刷キューも見ることをお勧めします。そのためには、次のコマンドを実行できます。

lpstat -p | awk '{print $2}' | xargs -n1 lpq -P

「awk」コマンドはパターンスキャンに使用され、「xargs」は標準入力からコマンドラインを構築して実行するために使用されます。

上記のコマンドの出力は次のようになるかもしれません:

HL-L2300D-series is ready
no entries

今、コマンドラインから印刷する時間です。最初に、1台のプリンターだけがマシンに接続されているときの印刷方法をお見せします。

1台のプリンターで印刷する

ファイルzdnet.txtをデフォルトのプリンターで印刷したいとしましょう。そのためのコマンドは次のようになります:

lp zdnet.txt

出力にはこのようなものが表示されるはずです:

request id is HL-L2300D-series-59 (1 file(s))

ファイルを印刷する必要があります、それで完了です。

複数の接続されたプリンターで印刷する

複数のプリンターが接続されている場合は、まず使用したいプリンターの名前を見つける必要があります(ステップ1を参照)そして、その名前をコマンドに次のように使用します:

lp zdnet.txt -d HL-L2300D-series

-dオプションは宛先を意味しますので、その後にプリンターの名前を追加する必要があります。

あなたのファイルは印刷されるべきであり、次のファイルに進む準備ができています。

関連記事: