Raspberry Pi jessieでプリンターを利用する

Raspberry Pi(jessie)でプリンターの設定をしてみたいと思います。

今回はまだsambaの設定をしていないのでwindows共有は試していません。

ip2700
プリンタ Canon iP2700
(当サイトでは相変わらず激安プリンタを使用しています)

Raspberry Pi(Rev2)
Raspberry Pi 2
以上の2台で確認します。(カードを差し替えるだけですが)

osイメージは2016-03-18-raspbian-jessie.imgを新規インストール、日本語環境など最低限の設定をしています。
参考 CUPS-ArchWiki

プリンタを利用、接続している形態は様々と思いますのでまずは基本から。

1.Piディスクトップにプリンタを直接接続してみます。
ソフトのインストール

# apt install cups system-config-printer

インストールが終わるとメニュー–>設定に印刷設定が登録されます。
etc/cups/cupsd.confはデフォルト
cups01
すでにiP2700が登録されています。

jessieになってとても簡単になりました...

iP2700を右クリック、プロパティを開きます。
cups02
テストページの印刷をします。

Pi(Rev2)では印刷速度が遅いです。
Pi2ではまあまあそこそこって感じ。

もしプリンタ追加や変更の場合root権限が必要になるかもしれません。
その際は下記の要領でlpadminにpiを追加します。

2.上記のPiをサーバーにする
上記のPiをプリンタサーバーにしてプリンタの接続していないPiからサーバーのプリンタを利用します。
サーバー(上記1.のPi)の設定
/etc/cups/cupsd.confの編集

# vi cupsd.conf
# Only listen for connections from the local machine.
#Listen localhost:631 # コメント
Port 631 # -------------追記
Listen /var/run/cups/cups.sock

# Restrict access to the server...
<Location />
  Order allow,deny
  Allow @Local # --------追記
</Location>

# Restrict access to the admin pages...
<Location /admin>
  Order allow,deny
  Allow @Local # --------追記
</Location>

# Restrict access to configuration files...
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
  Allow @Local # --------追記
</Location>

lpadminにユーザPiを追加(root権限のあるユーザ)

# gpasswd -a pi lpadmin
ユーザ pi をグループ lpadmin に追加

cups.serviceをリスタート

# systemctl restart cups.service

再起動します。

クライアント
プリンタのないPiのほうです。
cupsとsystem-config-printerのインストール

# apt install cups system-config-printer
# gpasswd -a pi lpadmin

インストールしたら再起動します。
メニュー–>設定–>印刷設定を実行。
cups07
プリンタが見えています。

X環境ではcups+system-config-printerで簡単ですね。

3.XのないPiをCUPSサーバーにする(当サイトのPi
osイメージは2016-03-18-raspbian-jessie-lite.img
ここではcupsのみインストールします。

# apt install cups

/etc/cups/cupsd.confの編集
2.で設定した内容と同様に編集をします。

lpadminにユーザPiを追加(root権限のあるユーザ)

# gpasswd -a pi lpadmin
ユーザ pi をグループ lpadmin に追加

cups.serviceをリスタート

# systemctl restart cups.service

再起動します。

ここからはクライアントから操作します。(cups+system-config-printerインストール済)
webブラウザから192.168.xx.xx:631(サーバのアドレス:631)
cups00
cups version 1.7.5-11+deb8u1

cups08
管理タブを開いてプリンターの追加をクリック

ssl03
httpssの認証画面がでます
危険性を・・・・クリック、開いて例外を追加
次の画面でセキュリティ例外を承認をクリック

httpss接続しないという時は
DefaultEncryption IfRequested
をcupsd.confの適当な位置に書くとこの画面をスキップします。

cups04
ユーザー名とパスワードを入力

cups09
エラーが出たらpiユーザーがlpadminに所属してるか確認

$ id pi

cups10
うまく行けばこの画面

プリンタを選択 続ける

cups11
適当に入れて

共有をチェック

続ける

cups12
プリンターを選択して 続ける

この画面ではちゃんとプリンタを選択をしていますが結果的に全く別のプリンタが割り当ててありました。ブラウザのキャッシュによるいたずらと思います。エラーも出ずにうんともすんとも言わない時は確認してみます。

cups13
デフォルトオプションの設定をクリック

画面が切り替わります
プリンタータブに出てればOK

サーバーにsshで接続して

# systemctl restart cups.service

クライアントから印刷設定を見てみましょう。
cups14
無事現れました。
raspbianの設定ではcups-files.confで
# Administrator user group…cupsd.conf…
SystemGroup lpadmin
が設定されています。
この辺がキーでしょうか。