今まで古いパソコンから印刷物を印刷するのに最近のプリンターの場合ドライバが提供されていないのでGoogleプリントサービスを介してプリントしていました。
ところが、残念なことに2020年をもってサービスが終了するというではありませんか。
まあ無償で提供されていたものなので文句は言いません。
ということで代替案としてドライバーの無いPCからプリンタ接続するためにRaspberryPiでプリントサーバーを構築することにしました。
図にするとこういうことです。
パソコンにプリンター用ドライバがインストール出来ないのでプリンターへ印刷データを直接送ることが出来ません。
そこで、プリントサーバー(図の場合RaspberryPi)を介して印刷データを送るということです。
今まではGoogleプリントサービスがこのプリントサーバーの役割を担ってくれていたのですが、これをRaspberryPiに置き換えるということです。
RaspberryPiのOSはraspbianですからプリンタドライバも最新のものに対応しているハズです。
<参考>
Raspberry Piでプリントサーバ、Part1 Windows & Mac編 | ものづくりエクスペリメント
まずはお決まりのアップデート作業です。
sudo apt-get update
sudo apt-get upgrade
プリントサーバーのcupsをインストールします。
sudo apt-get cups
インストール出来たらcupsの設定ファイルを弄ります。
sudo nano /etc/cups/cupsd.conf
追加した場所
# Only listen for connections from the local machine.
#Listen localhost:631 #<= コメントアウト
Listen 631 #<=追加
Listen /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グループに追加します。
sudo adduser pi lpadmin
サービスを再起動させて設定を反映させます。
sudo service cups restart
ブラウザからIPアドレスと上で設定した接続ポート番号を打ち込みます。(https接続では無いと警告されます)
[IPアドレス]:[ポート]
無事に接続できたらこのような画面が現れます。
CUPS管理者向けメニューからプリンターとクラスの追加を選択します。
ログイン画面が現れたらRaspberryPiのユーザー名とパスワードを入力しましょう。
プリンターの追加を選択します。
一覧に使用可能なプリンターが現れます。
今回の目的の「Canon TS8130」はワイヤレスで使用可能なようです。
プリンターに解りやすい名前を付けて完了です。
パソコン側で共有プリンターを探すと@raspberrypiというのが見えています。
先ほど設定したものが反映されています。
あとはデフォルトのプリンタとしてプリントサーバーを登録すればパソコンから印刷データが送れます。
ちなみに、古いパソコンからプリンターを見た場合はこうなります。
「ドライバまたはプリンタの機種を選択してください」
と表示され、そのままでは使えないことが解ります。
プリンターを使う場合はRaspberryPiを起動させておく必用がありますがプリントサーバーはそこまで処理能力を問われないのでRaspberryPi Zeroなら消費電力も少ないので常時起動させるにはうってつけでしょう。