普段は、あまり紙と関わりのない業務が多いので、自分のメインPCにプリンターの設定をしていなかったのですが、そんなある日のこと。
「このドキュメントを印刷したいのでプリンターの設定を教えてください!」
「そのうち誰かがラズベリーパイでプリントサーバ作ってくれるから、そのときね」
上司の目線の先にあったのは私のラズベリーパイでした。(印刷は代わりにしてくれました。笑)
そんなわけで、社内便利化計画第2弾!プリントサーバを作ります!
(ちなみに第1弾の社内NASは元気に稼働中です!)
プリントサーバって?
プリントサーバ – Wikipedia
プリントサーバは、コンピュータネットワーク上に配置されたあるプリンターを、複数のクライアントコンピュータから利用する際に用いられる、制御用コンピュータである。プリントサーバは複数のクライアントから同時に印刷要求があっても、これを適切に処理し、プリンターが順序よく印刷をこなすための管理を行う。
最近のプリンターには、プリントサーバが内蔵されているものがほとんどとのこと。Wikipediaでも利点として取り上げられていますが、プリンターを直接接続しなくてもドライバーのインストールができるのがとても便利!知らず知らずのうちに、プリンターを便利にしてくれていたのですね。
ラズベリーパイとプリンターの準備!

写真1
今回は、Raspberry PiとプリンターをUSBで接続したいので、USBポートが4つある「Raspberry Pi Model B+」を使用します。プリンターは、「Canon PIXUS iP100」を使用しました。後述しますが、Raspberry Piをプリントサーバにする場合は、Linux用のドライバーが提供されている必要があります。
プリンターとRaspberry PiをUSBで接続して、電源をオンにしておきましょう。(とてもコンパクトなプリンターなのですが、Raspberry Piと並べると大きく見えますね……)
CUPSのインストール
CUPS
Common Unix Printing System(コモン・ユニックス・プリンティング・システム)はUnix系オペレーティングシステム (OS) 用のモジュール化された印刷システムである。普通CUPS(カップス)と略称される。CUPSは、Mac OSやWindowsの印刷機構に遅れをとっていたUnix系OSに強力な印刷機能をもたらすことになった。
Linuxをプリントサーバとして使うためには、「CUPS(カップス)」というパッケージを使用します。ブラウザを使ってプリンターの管理を行うことができる便利なツールです。ありがたいことに日本語にも対応!
それではいつものようにインストールしていきましょう!
apt-get update apt-get install cups
インストールが完了したら、一度再起動します。そしてブラウザのアドレスバーに「 http://localhost:631/ 」と入力し、CUPSの設定画面にアクセスします。

図1
こんな画面が表示されたら成功です!
CUPSの設定画面からプリンターを登録
続いて、CUPSの設定画面からプリンターを登録します!
このままRaspberry Piのブラウザから操作することもできますが、Samba(サンバ)というパッケージをインストールしておくと、Windowsから設定画面を操作することができるのでとても便利です。私の環境ではWindowsから操作した方がRaspberry Piのブラウザに比べ処理が速かったです。
Sambaのインストール方法については「第6回 ラズベリーパイの中にNASを詰め込む! 」を参考にしてください。
Windowsからアクセスするには、ネットワークにつながった状態で、「 http://(ラズベリーパイのIPアドレス):631 」とアドレスバーに入力します。「 http://raspberrypi:631 」のようにネットワーク名でも大丈夫でした。(管理画面に移動する際に、自動的にIPアドレスに変換してくれます)。
管理画面が日本語で分かりやすかったので、ここから先は、資料なしで挑戦してみました!

図2
画面中央の「管理者向け」の1つ目に、「プリンターとクラスの追加」というリンクがあるのでこちらをクリックします。上部のグローバルメニューの「管理」をクリックしても同じページに遷移します。

図3
こちらが「管理」の画面です。左上の「プリンター」という項目の「プリンターの追加」ボタンをクリックします。

図4
ユーザー名とパスワードを入力するボックスが表示されますので、Raspberry PiのユーザーIDとパスワードを入力します。

図5
「プリンターの追加」画面では、設定を行なうプリンターを選択することができます。
今回はUSB接続のプリンターを使用するので、「ローカルプリンター」の中から「Canon ip100 series」を選択して「続ける」ボタンをクリックします。先に電源を入れておかないと、一覧に表示されない場合があるので注意が必要です。

図6
続いて、追加するプリンターの「メーカー」と「モデル」を選択します。メーカーが正しく表示されていない場合は、「他のメーカー/製造元を選択」ボタンをクリックすると、メーカー一覧のページに移動することができるので、その中から選択しましょう。「プリンターの追加」ボタンをクリックすれば、登録完了です!
ここでトラブル発生!今回使用している「IP100」という型番が見当たりません!
調べてみると、「MX850」という機種のドライバーと互換性があるようなので、こちらを選択して進めてみることにしました。(結論から言うときちんと設定できたので大丈夫そうです)

図7
こちらが登録完了後の画面です!プリンターの情報が表示されています。

図8
それではテスト印刷をしてみましょう。
左上の「メンテナンス」と書かれたリストボックスから「テストページの印刷」をクリックします。

写真2
無事に印刷されました!
CUPSのロゴ、Linuxのマスコットキャラクターのペンギンちゃん(タックスって名前なんですね!)、そしてプリンターの情報が出力されています。CUPSの管理画面から印刷したので、WindowsではなくRaspberry Piから直接印刷されたテストページということですね。
次は「プリントサーバ」として、Windows側から印刷してみましょう!
プリントサーバ、できたかな?
次はWindowsの設定です。
[コントロールパネル]-[ハードウェアとサウンド]-[デバイスとプリンター]画面を表示します。右クリックメニューから「プリンターの追加」を選択して、プリンター情報を登録します。

図9
追加可能なプリンターの一覧が表示されるので、先程CUPSから登録した「Canon_iP100_series」を選択します。

図10
「ドライバーが見つかりません」というポップアップが表示されるので、「OK」ボタンで次へ。

図11
プリンターの追加ウィザード画面で、該当するプリンターを選択します。今度は型番と同じプリンター名が表示されましたね!

図12
無事にインストールが終わると、

図13
新しいプリンターが追加されました!
今度はここからテスト印刷をしてみましょう。プリンターのプロパティ等から「テストページの印刷」を実行します。

写真3
テストページ、出力されました!
ブラウザやWordから印刷のテストを行ないました(写真3)。いろいろなソフトからもテストして、問題なく使えれば成功!プリントサーバの完成です!
まとめ
CUPSでは複数のプリンターを登録することができるので、Raspberry Piひとつで一括管理ができそうです。プリンターの種類やドライバーの状態など、環境に左右される部分が多かった分、自力で作った達成感が味わえますね。これで社内での印刷がもっと便利になっちゃうかも!?
さてさて次回(第12回)は、ずっとやってみたかった「音」に関する工作に挑戦したいと思います!
実は最初の記事にも書いていたのですが、最終目標はインターネットラジオの受信です!
……の前の第一歩として、まずは音楽を聴けるように工作をしてみたいと思います。オーディオ端子にスピーカーを差せば音が……あれ、鳴らない!?(次回もトラブル続きの予感!)