UbuntuなどのLinuxを使い始めて印刷ができないと戸惑う人が多いようです。 Linuxの印刷システムはWindowsとは異なり、ドライバーのインストールなしにパソコンに接続しただけで印刷できることもあり、便利な反面、Windowsとの違いを理解せず印刷ができないと困惑する人も多いようです。まずは、Linuxの印刷システムを理解しましょう。
Linuxではプリンターが以下の場合ドライバーのインストールなしで印刷できます。
 ➀Postscript対応プリンター
 ②AirPrintやIPP Everywhereに対応プリンター Ubuntu17.04から導入 Raspberry Piでも使えるようになりました。
     デスクトップ用のUbuntuおよびUbuntuMATEなど、Raspberry PiではUbuntuMATE18.04が対応
 ③CUPS (Common Unix Printing System)のデータベースに登録済のプリンター
上記に該当しないプリンターは、メーカーのサイトからLinux用のドライバーをダウンロード
プリンターを購入するときにチェックしておくこと
 (1) CUPSに登録されているか(2,3年前以前に発売されたプリンター)
 (2) AirPrintやIPP Everywhereに対応しているか(新発売のプリンター)

(1)も(2)もドライバーのインストール不要(ドライバレス印刷

Linuxにおける印刷のメカニズム

 Linuxは印刷用データとしてPostScriptを作成、PostScript対応プリンターで印刷できます。
 PostScript非対応の場合、CUPS(Common Unix Printing System)で行います。
 GhostScriptで印刷できるイメージ(ラスタ−データ)に変換して印刷。

 CUPSがインストール済みのOS(Ubuntuなど)、デフォルトでCUPSが入っていないOS(Raspbianなど)があります。
 後者はCUPSをインストールする必要があります。

Linux印刷
 

LinuxはCUPSという印刷システムで以下の3段階の過程で印刷します

  1.スケジューラー・スプーラ
   印刷データを収集・印刷ジョブの管理・監視
  2.フィルター
   印刷データをプリンターの状況に対応した印刷言語に変換、
    PostScript対応プリンターにはそのまま送り、プリンターで印刷データ(ラスタ−データ)に変換
    PostScript非対応プリンターにはGhostScriptで印刷できるラスタ−データに変換
    ラスタ−データはビットマップ形式のデータ
  3.バックエンド
   プリンターに印刷データを渡す

Ubuntu17.04からドライバレスプリントのAir PrintとIPP Everywhereに対応

Raspberry Pi でUbuntu MATE18.04が使えるようになり、 無線ドライバレス印刷ができるようになりました。
Raspberry Pi でUbuntu MATE18.04についての詳細はこちら
Air Print:iOS(iPhone)で使っているドライバレス印刷システム
IPP Everywhere:Androidで使っているドライバレス印刷システム
 Ubuntu18.04をインストールしたパソコンにプリンター(図の例はBrother-DCP-N4215N)とインターネットに接続するとプリンターの制御画面にAirPrintのアイコンが表示され(右側のアイコン)、プリンターのドライバーをインストールすることなく印刷ができるようになります。 <インターネット接続が必須>
Raspberry Pi用のUbuntu MATE 18.04でも同じです

Airprint

Ubuntuを使うときのプリンター選び

プリンターがPostScript対応か、AirPrintかIPP Everywhereに対応しているか、あるいはCUPSのデータベースに登録されているれば、プリンターをつないだだけで(ドライバーのインストールなしに)印刷できます。

Airprint
*1 PostScriptプリンターは高価
*2 インターネット接続が必須 新発売のプリンターは対応しているものが多い
*3 中古プリンターはCUPSのデータベースにあることが多い
*4 新発売のプリンターはLinux対応が多くなった

Raspberry Pi(ラズパイ)を使う時の印刷

ラズパイ用のUbuntu MATEは、バージョンが18.04 LTSになり、ライバレス印刷ができるようになりました。
プリントメーカーサイトで用意されているドライバーはCPUがパソコン用のi386対応で、
CPUがARMのラズパイにはインストールできません。   
CUPSに登録済みのプリンターは、ラズパイにつなぐだけでドライバーのインストールなしで印刷できます。 PostScriptプリンターについては未検証。

Raspbian OSの印刷ではCUPSをインストールする必要があります。
Raspbianは、デフォルトで印刷システムがインストールされていないので、端末からCUPSをインストール
 sudo apt update
 sudo apt install cups
続いて印刷設定アプリをインストール
 sudo apt install system-config-printer

プリンターをラスパイにつないで再起動
ラズパイにプリンターにつないでおくと(USB接続)、プリンターを認識し、すぐ印刷できる。

printer認識


プリンターのアイコンをクリックすると
printer認識