Raspberry Pi 3 Model B でファイルサーバーとプリンタサーバーを構築する(その 2) CUPS とプリンタドライバのインストール
どうも,筆者です.
前回の続きである. workspacememory.hatenablog.com
使用しているプリンタは,「EPSON PX-501A」である.これは,USB 接続であるので,Raspberry Pi に接続し設定をする事で,スマホやノート PC などから印刷を出来るようにするのが目的である.history を参考にしつつ,思い出しながら書いていくので,この通りにやって上手くいくかが怪しい.
CUPS のインストール
まず,CUPS をインストールする.CUPS だけでは足りないらしいので,必要そうなものも一緒にインストールする.
sudo apt-get install -y cups cups-devel cups-pdf python-cups avahi-discover
後から,CUPS の設定の際に,ユーザーが必要になるらしいので,以下のようにして,対応するグループに追加しておく.そして,サービスを開始する.
# ユーザーの追加 sudo usermod -aG lpadmin pi # サービスの開始 sudo /etc/init.d/cups start sudo /etc/init.d/avahi-daemon start
次に,CUPS の設定ファイル「/etc/cups/cupsd.conf」を以下のように変更する.
# # # Sample configuration file for the CUPS scheduler. See "man cupsd.conf" for a # complete description of this file. # # Log general information in error_log - change "warn" to "debug" # for troubleshooting... ###LogLevel warn LogLevel debug # Deactivate CUPS' internal logrotating, as we provide a better one, especially # LogLevel debug2 gets usable now MaxLogSize 0 # Only listen for connections from the local machine. #Listen localhost:631 ### コメントアウト Port 631 ### 追加する Listen /var/run/cups/cups.sock # Show shared printers on the local network. Browsing On BrowseLocalProtocols dnssd # Default authentication type, when authentication is required... DefaultAuthType Basic # Web interface setting... WebInterface Yes # 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>
書き換えが終わったら,サービスを再起動する.
sudo /etc/init.d/cups restart
ここまでは,Raspberry Pi をプリントサーバ化 を参考にした.
これで,CUPS の設定は半分終わった.次に,プリンタを CUPS に追加すればよいのだが,CUPS に「EPSON PX-501A」のドライバが無かったので,この段階でインストールしておく.このドライバのインストールでかなり苦労した.
プリンタドライバのインストール
まず,Raspberry Pi 用のドライバが見つからない.自分で書くわけにはいかないので,EPSON Download Center から頑張ってソースコードを探す.PX-501A の場合は,モジュール名が,「ESC/P-R Driver (generic driver)」であるものをダウンロードする.設定を行っている段階では,「epson-inkjet-printer-escpr-1.6.11-1lsb3.2.tar.gz」であった.今は,1.6.12 が出ているらしい.
次に,make で止まるので,あらかじめ以下をインストールしておく.これは,EpsonのプリンタドライバをRasPi用にビルドしたよー を参考にした.
# configure 用 sudo apt-get install libtool autoconf # cups/cups.h が見つからないときの対策 sudo apt-get install libcups2-dev # cups/raster.h が見つからないときの対策 sudo apt-get install libcupsimage2-dev
後は,解凍して,インストールの準備を行う.この時,PPD ファイルを該当するディレクトリにコピーしておく.
tar zxvf epson-inkjet-printer-escpr-1.6.11-1lsb3.2.tar.gz pushd epson-inkjet-printer-escpr-1.6.11/ # PPD ファイルのコピー sudo cp -f ppd/Epson-PX-501A-epson-escpr-en.ppd /usr/share/ppd/cupsfilters/ # configure を行う ./configure --prefix=/usr # make を行う(しばらく時間がかかる) make # install を行う sudo make install popd
これで,ドライバがインストールされたことになる.後は,Web ブラウザから,プリンタの設定を行えばよい.
CUPS からプリンタを追加
ウェブブラウザ(Windows や Linux など Raspberry Pi 以外でもよい)で「http://[Raspberry Pi の IP アドレス]:631」にアクセスする.ここでは,Raspberry Pi の IP アドレスを「192.168.33.12」にしたので,
http://192.168.33.12:631
とすれば良い.プリンタの電源を入れて,「管理」メニューから「プリンタの追加」からプリンタを追加する.USB で接続されたプリンタ(EPSON PX-501A)が表示されるはずなので,選択し,続ける.
次のページでは,「このプリンターを共有する」にチェックを入れて続ける.
次のページで,ドライバを追加したので,「または PPD ファイルを提供」から,「/usr/share/ppd/cupsfilters/」にある PPD ファイルを選択する.
最後に自動設定を選択し,設定が完了する.試しに,テストページを印刷しておこう.
次回
次回は,Samba の設定を行い,Windows 側で共有が行えるようにする.また,SD にアクセスし続けると寿命が縮むので,外付け HDD にアクセスするよう設定する. このとき,一箇所だけ設定を間違え,Windows で PDF が印刷できない問題が生じたので,そのことについても別の記事で説明する予定である.