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のインストール

  1. https://downloads.raspberrypi.org/raspios_arm64/images/から202x-MM-DD-raspios-buster-arm64.zipといった名前の最新イメージをダウンロードする。
  2. Raspberry Pi Imagerを使いマイクロSDカードにインストールする。 Raspberry Pi Imager を開いて Ctrl + Shift + X の同時押しすることによりインストール前にSSHやWi-Fiを設定できる。

Raspberry Piの設定

  1. Raspberry Piを立ち上げる。なんと初期設定のRaspberry Pi 4はモニターがつながっていないと起動しない(ソース)。HDMIケーブルでモニターにつないでから電源を入れよう。

2021年10月8日追記

最近数週間のOS更新によりモニター無しのheadless運用ができるようになった。しかし10月8日現在上記リンクの最新イメージはまだ5月版なので、やはりStep 3でOSをアップデートするまではモニターが必須と思われる。

一方、こちらの記事によるとLite版はインストール時からモニター不要な模様。

  1. パスワードを変更し、sudo raspi-config でいろいろ設定する。
  2. OSを最新にする。こちらを参考にした。
    1. sudo apt update
    2. sudo apt full-upgrade -y
    3. sudo apt autoremove -y
    4. sudo apt clean
    5. sudo reboot
  3. こちらの手順の通りにデスクトップ環境を構築。特に理由なくMATE GUIを選択した。以後GUIデスクトップのターミナルで操作する。

CUPSとSambaのインストール

CUPSのインストールについてここを参考にした。

  1. sudo apt-get install cupsでCUPSをインストール。
  2. ローカルネットワークの他端末から使えるようCUSP設定ファイルを編集。
    1. sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.org で取り返しがつかなくなる前の設定を別名保存。
    2. sudo pico /etc/cups/cupsd.conf でファイルを開き、Listen localhost:631 の行を Listen 631 に書き換える。
    3. ローカルネットワーク内からのアクセスを許すため <Location /> の段落を見つけて次のように書き換え保存する。
<Location />
Allow from all
Order allow,deny
</Location>
  1. sudo systemctl restart cups でCUPS再起動。
  2. sudo apt-get -y install samba でSambaをインストール。

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

Linux用のドライバを入手する。キャノンのウェブサイトからPCにダウンロードして、sftpでRaspberry Piに渡すのが楽。 CUPSが先にインストールされていないとエラーが出て進めない。

  1. インストーラーファイルのディレクトリでtar -xvf linux-lipslx-drv-vXXX-jp-XX.tar.gz と打って展開。
  2. cd linux-llipslx-drv-vXXX-jp-XX, sudo ./install.sh でインストール。
  3. インストールが終わると「プリンタ設定もしてしまう?(超訳)」と聞かれるのでYesと答えると、設定画面のウィンドウが立ち上がる。Wi-Fiで接続しているならプリンタのローカルIPアドレスを指定すればよろしい。この時デスクトップ環境がないと詰む。と言っても後からデスクトップ環境をインストールしメニュー画面からプリンターを設定することは可能だろうし、ネットワークのブラウザーからのCUPS設定でも済むことかもしれない。

結果

Macのシステム環境設定>プリンタとスキャナからCanon-MF-642C-644C-CARPS2 @ raspberrypi を設定し、みごと印刷できるようになった。Macから直接プリンタに接続するより時間は掛かる。

番外編

CUPSの設定に必要かとRaspberry PiにChromiumをインストールしたが、ウインドウが真っ黒で文字が読めない。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です