コマンドラインと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版プリンタドライバは以下からダウンロードできる。
ESC/P Driver (full feature)
ESC/P-R Driver (generic driver)
の2種類あった。前者はB5の選択肢あり。後者は無しだった。
余談:EPSONプリンタドライバをARM用にビルド
こちらのブログに情報が書かれていたので今度ためしてみる。
以上
参考サイト

