端末からテキストを印刷する

端末からテキストを印刷する

デスクトップ環境なしでLinuxディストリビューションを使用したいが、入力したジョブを印刷する必要があります。

print homework.txtいつでも私に電子メールで送信したり、別のコンピュータから印刷したりすることができますが、bashプロンプトで同様のことを行うことができれば良いでしょう。誰でもこれを行う方法はありますか?

答え1

CUPSは、テキスト、PostScript、PDF、画像ファイルなど、さまざまな種類のファイルを直接認識します。これにより、アプリケーション内またはコマンドラインの中で最も便利な方法で印刷できます。ファイルをシステムのデフォルト(または唯一の)プリンタに印刷するには、次のいずれかのコマンドを入力します。

lp filename 
lpr filename

特定のプリンタに印刷するには、コマンドと-d一緒にオプションを使用します。lp

lp -d printer filename

または、-P次のlprコマンドオプションを使用します。

lpr -P printer filename

プログラム出力印刷

lpとコマンドはどちらもlpr標準入力からの印刷をサポートします。

program | lp
program | lp -d printer
program | lpr
program | lpr -P printer

プログラムが出力を提供しない場合、何も印刷キューに追加されません。

次のコマンドを使用して、印刷ジョブにさらに高度なオプションを追加できます。-o オプション。バインディングを例に挙げましょう。

lpr -P printer -o StapleLocation=UpperLeft

ソースと詳細。

答え2

最後に、このようなシステムを使用したときにもっと気に入りましたenscript...時間が経過しましたが、lprすべてを実行し、lprその後はいくつかを行うより洗練されたバージョンであったことを覚えているようです。仕組みは次のとおりです。

enscript foo.file

プリンタに直接印刷したり、テキストをPostScriptに変換したりできます。すべての主要なディストリビューションのリポジトリで利用できる必要があります。

答え3

これは私にとって効果的です。

私は、プリンタネットワーキングと印刷サポートを含むManjaroの「フルバージョン」をインストールすることにしました。過去の経験によると、「最小」インストールには何でも印刷するには多くの労力が必要です。

プリンタ名がわかりません。試してみましたが、lpstat -t次のように表示されます。

scheduler is running
no system default destination
lpstat: No destinations added.
lpstat: No destinations added.
lpstat: No destinations added.
lpstat: No destinations added.

最初はGeany接続を介してlpstatを動作させることができましたが、数分後にプリンタがタイムアウトしました。

私は比較的新しいプリンタを持っているので、"IPP"標準を使用します。ippfind -lこの回答のおかげで使用しましたhttps://unix.stackexchange.com/a/490827/8234

私の場合、アドレスはipp://whatever.local:631/ipp/printです。

それからこの答えを見つけました。https://unix.stackexchange.com/a/683993/8234良い結果lpadmin -p Cool -v ipp://whatever.local:631/ipp/print -m everywhere

これでlpstat -t期待どおりに動作します。

Cool 2023年3月19日日曜日午前2時23分37秒以降、リクエストを受け付けています。 CDT Printer Coolがアイドル状態です。 2023年3月19日日曜日午前2時23分37秒(CDT)から適用されます。

だから私は簡単にできますecho "test" | lp -d Cool

PS:たぶんより簡単な方法があるかもしれません。ippfind -sスペースをアンダースコアに変更することはできますが、アンダースコアecho "test" | lp -d Canon_Cool_seriesなしでは機能しません。基本的にGeanyでプリンターを有効にしてチートしたところ、プリンターが見えますね。lpstat -t

後で参照できるように、より単純な「アンダースコア」メソッドを最初に試してみてください。タイムアウトまたは機能しない場合は、より長い「lpadmin」メソッドを使用してください。

関連情報