Linuxで印刷という行為をすることも徐々に増えてきているだろう。ただし、Linuxは印刷のシステムをそれ自身で持っているわけではない。
このページではLinuxでの印刷の仕組みについてお伝えした。参考にしてほしい。
目次
Linuxでの印刷
現在一般的なLinuxディストリビューションもしくは、モダンなUnixLikeSystemではCUPSを使用してプリンタを設定、印刷することになる。
CUPSはUnixLikeSystemに対して「プリンタの認識と印刷システムの強力な基盤」を提供している。
そもそもLinux自身は印刷システムを持ち合わせているわけではないので、別途CUPSを導入し、プリンタを認識、設定、印刷することになる。
CUPS登場以前はWindowsと比べると、お世辞にも「プリンタをシームレスに扱えるシステム」とはいいがたい状態であった。CUPSの普及により印刷環境は劇的に改善されている。
CUPSについて
「CUPS」(CommonUnixPrintingSystem)(通称:カップス)はUnixLikeSystemに「共通の印刷システム基盤」を構築するために作成された。
現在Apple社がオープンソースとして開発している。ローカルホストに接続されたUSBプリンタを始め、ネットワーク上に存在するプリンタも検出してくれる。
CUPSは「印刷スプーラおよびスケジューラ」(キューの管理など、IPP)「フィルタシステム」(ドライバまわり,PPD)「バックエンド・システム」(プリンタへ情報を送信)この3つのシステムからなりたっている。ほかWebベースのGUIユーティリティ、サードパーティなGUIユーティリティが存在する。
IPP(InternetPrintingProtocol)
IPPは、ネットワーク上のプリンタとやりとりするためのプロトコルとして、代表的なものだ。印刷ジョブ、キューを取り扱う基盤として使用される。比較的あたらしいプロトコルである。
PPD(PostScript Printer Description)
Windowsでいうところのプリンタドライバに近いものだが、厳密にはPostScript形式を理解出来るプリンタへのプリンタ定義ファイルである。このプリンタは、両面印刷ができるか?フォントの種類はどういったものなのか?などが記述されるファイルである。
印刷までの流れ
- ユーザがプリントの依頼をする
- スケジューラに依頼がもちこまれ、キューになげこまれる
- ポストスクリプトドライバとPPDや、GhostScriptによりプリンタが解釈できるものに変換される
- バックエンドへ情報がひきわたされ、プリンタへ情報がわたされる
- 印刷がなされ、完了となる
Postscript(ポストスクリプト)について
PostScriptは、アドビシステムズが開発しているページ記述言語である。プリンタが解釈できるプログラム言語と思えばよい。
コンピュータ黎明期、アップルのプリンタ(コンピュータとプリンタが合体したようなもの)の上で走る印刷用のインタプリタ言語として使用されていた。
昨今はレーザプリンタなどで採用されている事例が多い、またポストスクリプトを解釈できるプリンタを「PSプリンタ」とよぶことがある。
GhostScript(ゴーストスクリプト)について
Ghostscriptはページ記述言語用のインタプリタであるPostScriptファイルを、ラスター画像に変換するツール群であり、ラスター画像に変換したものをプリンタに送ることで、ポストスクリプトに対応していないプリンタでもlpdやCUPSなどでプリンタを使用することができる。
PostScriptを解釈できないプリンタで印刷するときは十中八九このGhostScriptごしに印刷することになる。
プリンタの設定と印刷コマンド
プリンタの設定と印刷コマンドは下記ページで詳しく解説している。
まとめ
このページではLinuxの印刷の仕組みについてお伝えをした。
CUPSにより大分使いやすくなっている。仕組みまで覚えておく必要がない部分もあるが、こういう話は知っておいて損はない。ざっくりと把握しておこう。
お世話になります。
早速で恐縮です。
印刷のリクエストをして『データは正常に送信されました』と表示されますが、給紙はされるのですがプリンターヘッドが動かず印字がされません。また、エプソンのサポートによるとプリンターやドライバーには問題は無いそうです。
OS:LinuxMint17.2
プリンター:エプソン EW-M530F
解決方法はありますか?
ご愛読ありがとうございます。
こちらのリストには該当機種が無いので近い物を使うしかないと思うのですが、LinuxMint17自体が7~8年以上前のリリースですので去年出たばかりのプリンタが使用できるかと言えば……どうでしょうか。
https://www.epson.jp/support/taiou/os/linux_selist.htm
LinuxMintは現在20.1まで出ていますので、もしそちらでの動作・検証可能であれば試された方が良いかと思います。