Raspberry Pi Zero WをAirPrintサーバにする手順

IT

コマンドラインとWebだけで設定できた。

前提

Raspberry PiにRaspbian OSのインストール初期設定が済んでいること。

手順

CUPSのインストール

$ sudo apt-get install -y cups

プリンタドライバのインストール

$ sudo apt-get install -y printer-driver-all
$ lpinfo -m | grep epson | grep 503          # 自分のプリンターを確認
escpr:0/ppd/epson-inkjet-printer-escpr/Epson-PX-503A-epson-escpr-en.ppd Epson PX-503A, Epson Inkjet Printer Driver (ESC/P-R) for Linux

piユーザにプリンタ管理権限を付与

$ id pi    ## 現在piユーザが属しているグループを表示
uid=1000(pi) gid=1000(pi) groups=1000(pi),4(adm),20(dialout),24(cdrom),27(sudo),29(audio),44(video),46(plugdev),60(games),100(users),105(input),109(netdev),999(spi),998(i2c),997(gpio)

$ sudo gpasswd -a pi lpadmin    ## piユーザをlpadminグループに紐付け
ユーザ pi をグループ lpadmin に追加

$ id pi    ## piユーザがlpadminグループに紐付いたことを確認
uid=1000(pi) gid=1000(pi) groups=1000(pi),4(adm),20(dialout),24(cdrom),27(sudo),29(audio),44(video),46(plugdev),60(games),100(users),105(input),109(netdev),999(spi),998(i2c),997(gpio),115(lpadmin)

CUPS設定

トンネル経由でネットワーク設定変更

MacからポートフォワードつきでRaspberry PiにSSH接続する。

[Mac] % ssh -L 1631:localhost:631 pi@raspberrypi.local

ポートフォワードで繋いだローカル側ポートを指定してMacブラウザを開く。

http://localhost:1631/

こんな画面が表示される。

※この後の操作でIDとパスワードを求められた場合は「pi」ユーザとパスワード(デフォルトはraspberry)を入力する。

管理 → サーバー → サーバー設定で以下にチェックを入れる。

・このシステムに接続されているプリンターを共有
・リモート管理を許可
・所有者以外のユーザーにもジョブのキャンセルを許可

「設定の変更」ボタンを押すとリダイレクトに失敗して表示が崩れる。もういちどlocalhost:1631を開き直してもよいが、先程「リモート管理を許可」に設定変更したことでトンネルは不要になっており、ここからは以下のようなURLでもCUPSの設定画面にアクセスできる。

http://raspberrypi.local:631/

プリンタの追加

ホーム → CUPS 管理者向け → プリンターとクラスの追加 → プリンター → プリンターの追加

余談:B5版の選択

うちではB5版をよく使うのだが、ドライバによっては選択できないことがあった。

Epson PX-503A, Epson Inkjet Printer Driver (ESC/P-R) for Linux (en)
Epson PX 503A - CUPS+Gutenprint v5.3.1 (en)

前者は日本語にも対応していたがB5の設定が入っていなかった。
後者は日本語非対応だが細かな設定が可能で、うちでよく使うB5サイズなども選べるというメリットがあった。

以下のパスにあるppdファイルを編集すればもっとカスタマイズできるかもしれない。試してない。

/etc/cups/ppd/

余談:EPSON公式Linux用ドライバ

EPSONのLinux版プリンタドライバは以下からダウンロードできる。

セイコーエプソン株式会社のLinuxドライバーダウンロードについて|他社製品動作確認情報|サポート&ダウンロード|エプソン
製品対応OS情報をご紹介しています。日本国内のEPSON(エプソン)製品にアフターサポートに関する公式サイト。

ESC/P Driver (full feature)
ESC/P-R Driver (generic driver)
の2種類あった。前者はB5の選択肢あり。後者は無しだった。

余談:EPSONプリンタドライバをARM用にビルド

こちらのブログに情報が書かれていたので今度ためしてみる。

以上

参考サイト

Command-Line Printer Administration
Raspberry Pi OS (32-bit) with desktop CUPS Server
Raspberry PiをAirPrintサーバーにして親孝行する - Qiita
私の両親は共にiPhoneユーザーですが、残念ながらプリンターがAirPrintに対応していません。 そのため、Raspberry PiをAirPrintサーバーにしてプレゼントして親孝行をする作戦です。 準備するもの Ras...
Raspberry PiをAirPrintサーバ化して、iPadでAirPrint非対応プリンタで印刷するまで - Qiita
iPad用の業務アプリ開発中で、印刷させる必要があるのですが、プリンタがAirPrint非対応なのでラズベリーパイをAirPrintサーバ化しました。 Mac、WindowsPCをサーバ化すればもっと簡単にできそうなのですが、できるだ...
IT
広告
一郎くんどっとこむ