最近ファイルサーバー用に新しいマシンを組み立てたついでに、心機一転でプリンタやスキャナも共有しちゃえと思いやってみた。
プリンタの共有はsystem-config-printerを開いて、メニューのサーバー->設定に共有する旨のチェックボックスがあるのでOnにすればよい。
スキャナなんて本体から近いところでしか使わないから共有の必要なんてないんじゃないかと思うかもしれないけれど、ノートにいちいちUSBを繋いで行動範囲が制限されるのがなくなるのは意外と良い。
ぐぐって出てくる情報だと微妙にうまくいかない点があるので、Ubuntu12.04 Precise用にまとめておく。
当方ではスキャナは複合機EPSON PX-A720を使用。ドライバはデフォルトで入っているようだ。
サーバー
必要なパッケージをインストール。
sudo apt-get install sane sane-utils xsane xinetd
スキャナを認識しているか確認してみよう。
sane-find-scanner scanimage -L # output device `epson2:libusb:002:006' is a Epson CX6000 flatbed scanner
許可する接続元IPアドレスを記述。
sudo -e /etc/sane.d/saned.conf
開くと英語の注意書きでIPアドレスはCIDR表記が使えるとある。大学の講義で習った気がするがよく覚えてなかった。Wikipediaが参考になる。(Classless Inter-Domain Routing)
ローカルネットワーク内のアドレス全部許可したいと思い、192.168.*.*に該当するアドレスに許可したければ、192.168.0.0/16と記述すれば良いようである。
接続先アドレスを記述する。
sudo -e /etc/sane.d/net.conf
このファイルにlocalhostを書いておこう。自分のアドレスを参照することで、問題発生時に直接スキャナにアクセスする機能に問題があるのか、それともネットワーク共有に問題があるのか切り分けできて便利だといっているサイトがあり、その通りなのでそうすることを勧める。
参考までにnet.confにlocalhostを記述した状態でのscanimage -Lの結果は
device `epson2:libusb:002:006' is a Epson CX6000 flatbed scanner
device `net:localhost:epson2:libusb:002:006' is a Epson CX6000 flatbed scanner
となった。
追記 2014/03/29
間違えてました。net:localhostの方は下記のxinetdの設定までやらないと出ないハズです。
ちなみにMacのlaunchdの場合は こちら を使ってください。
これを参考にしました。 Portfile.diff on Ticket #27791 – Attachment – MacPorts
追記終わり。
xinetdにsaneを対応させる
sudo -e /etc/xinetd.d/saned
ここに
service sane-port
{
disable = no
port = 6566
socket_type = stream
wait = no
user = root
server = /usr/sbin/saned
}
と記述。
/etc/default/sanedを編集
sudo -e /etc/default/saned
RUNをyesに、USERはsanedではうまくいかないので、rootにする。
RUN=yes
RUN_AS_USER=root
以上で準備完了なのでdaemonを作動させよう。
sudo service saned restart sudo service xinetd restart
クライエント
勝手ながらとりあえずMac OS X Lionの場合のみ記します。あとで追記するかもです。
MacPortsでsane関係のportをインストール。
sudo port install sane-backends sane-frontends twain-sane xsane
接続先アドレスをnet.confに記述。
sudo -e /opt/local/etc/sane.d/net.conf
開いたらどこかにサーバーのIPアドレスかホスト名など記述しておこう。bonjourホスト名でも解決がうまく行っていれば大丈夫のようだ。
そしたら共有スキャナを認識していることを確認。
scanimage -L #output device `net:some_server:epson2:libusb:002:006' is a Epson CX6000 flatbed scanner
これで準備完了だ。
xsaneを使えばちょっとした機能付きでスキャンできる。scanimageを使うとコマンドライン上でスキャンできるようだ。LibreOfficeやGimpでもスキャンできるようだ。Macの標準アプリではできなかった。(そのためのtwain-saneのはずなのに・・・)
まぁxsaneでほぼ用が足りそうなので良しとしよう。