Raspberry Pi 4をプリントサーバにする
2023年1月11日追記
最新版のRaspberry Pi OS Bullseyeでもほぼ同じ手順で設定できることを確認した。
最近事務室のCanonレーザー複合機にMacから出力しようとすると、両面/片面の選択ができなかったり、USレター以外の大きさの紙を用紙設定できなかったりする不具合が発生した。複数Macが同時に発症したが、プリンタのファームウェア更新やMacのアップデートを契機にした異常ではないし、Windowsからの印刷も問題ない。同じバージョンのMacOSなのにうまく印刷できる機体もある。ドライバーを再インストールしてもダメ。なんだかよくわからない。埒が明かないので元々あったRaspberry Pi 4をプリントサーバにして中継させてみようと思い立った。
1日の作業でプリントサーバ化に成功した。失敗を繰り返しながら行きつ戻りつ進んだ工程を整理して以下に記録する。この通りにやれば効率いいはず。しかし紆余曲折の中にこそ成功の鍵があったのに気づいてないという可能性もある。いちからやり直す気はないので確認できない。
いくつか要件ある。まだβ版の64 bit版Raspberry Pi OSを使わなければならない。Canonのドライバーが32 bit版Raspberry Pi OS(というか32 bit版Debian 10)に対応していないからである。また、プリンタの設定のためにデスクトップ環境が必要、よってマウスもないと困る(ネットワークからCUPSを設定すればCUIで済むのかも)。
64 bit版Raspberry Pi OSのインストール
- https://downloads.raspberrypi.org/raspios_arm64/images/から202x-MM-DD-raspios-buster-arm64.zipといった名前の最新イメージをダウンロードする。
- Raspberry Pi Imagerを使いマイクロSDカードにインストールする。 Raspberry Pi Imager を開いて Ctrl + Shift + X の同時押しすることによりインストール前にSSHやWi-Fiを設定できる。
Raspberry Piの設定
- Raspberry Piを立ち上げる。なんと初期設定のRaspberry Pi 4はモニターがつながっていないと起動しない(ソース)。HDMIケーブルでモニターにつないでから電源を入れよう。
2021年10月8日追記
- パスワードを変更し、
sudo raspi-config
でいろいろ設定する。 - OSを最新にする。こちらを参考にした。
sudo apt update
sudo apt full-upgrade -y
sudo apt autoremove -y
sudo apt clean
sudo reboot
- こちらの手順の通りにデスクトップ環境を構築。特に理由なくMATE GUIを選択した。以後GUIデスクトップのターミナルで操作する。
CUPSとSambaのインストール
CUPSのインストールについてここを参考にした。
sudo apt-get install cups
でCUPSをインストール。- ローカルネットワークの他端末から使えるようCUSP設定ファイルを編集。
sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.org
で取り返しがつかなくなる前の設定を別名保存。sudo pico /etc/cups/cupsd.conf
でファイルを開き、Listen localhost:631
の行をListen 631
に書き換える。- ローカルネットワーク内からのアクセスを許すため
<Location />
の段落を見つけて次のように書き換え保存する。
<Location />
Allow from all
Order allow,deny
</Location>
sudo systemctl restart cups
でCUPS再起動。sudo apt-get -y install samba
でSambaをインストール。
Canonプリンタドライバのインストール
Linux用のドライバを入手する。キャノンのウェブサイトからPCにダウンロードして、sftpでRaspberry Piに渡すのが楽。 CUPSが先にインストールされていないとエラーが出て進めない。
- インストーラーファイルのディレクトリで
tar -xvf linux-lipslx-drv-vXXX-jp-XX.tar.gz
と打って展開。 cd linux-llipslx-drv-vXXX-jp-XX
,sudo ./install.sh
でインストール。- インストールが終わると「プリンタ設定もしてしまう?(超訳)」と聞かれるのでYesと答えると、設定画面のウィンドウが立ち上がる。Wi-Fiで接続しているならプリンタのローカルIPアドレスを指定すればよろしい。この時デスクトップ環境がないと詰む。と言っても後からデスクトップ環境をインストールしメニュー画面からプリンターを設定することは可能だろうし、ネットワークのブラウザーからのCUPS設定でも済むことかもしれない。
結果
Macのシステム環境設定>プリンタとスキャナからCanon-MF-642C-644C-CARPS2 @ raspberrypi を設定し、みごと印刷できるようになった。Macから直接プリンタに接続するより時間は掛かる。
番外編
CUPSの設定に必要かとRaspberry PiにChromiumをインストールしたが、ウインドウが真っ黒で文字が読めない。