Linux でプリンタ・スキャナ共有をしてみる
部屋の模様替えにてプリンタの USB ケーブルが届かなくなったため、Linux サーバをプリンタサーバにして、ネットワーク越しに印刷を行うように収容変更をしてみる。
Linux の印刷管理システム “CUPS” を使うといい感じに出来るようなので早速インストール & 設定。 ターゲットプリンタは EPSON の CC-600PX というプリンタスキャナ複合機です。
とりあえず、Linux の USB に差し込んでみると、、
- usb 4-1: new full speed USB device
- using ohci_hcd and address 2
- drivers/usb/class/usblp.c:
- usblp0: USB Bidirectional printer
- dev 2 if 1 alt 0 proto 2 vid 0x04B8 pid 0x0801
- usbcore: registered new driver usblp
- drivers/usb/class/usblp.c: v0.13:
- USB Printer Device Class driver
ということであっさり認識している様子。
/etc/cups/cupsd.conf を以下のように設定して、管理画面とプリンタの共有を内部のネットワークに対して許可。
- <Location /admin>
- AuthType Basic
- AuthClass System
- Order Deny,Allow
- Deny From All
- Allow From 127.0.0.1
- Allow From 192.168.0.0/24
- </Location>
- <Location />
- Order Deny,Allow
- Deny From All
- Allow From 127.0.0.1
- Allow From 192.168.0.0/24
- </Location>
- #Listen 127.0.0.1:631
- Port 631
Windows の印刷データを素通しして印刷するように、CUPS ドライバを設定。 /etc/cups/mime.convs と /etc/cups/mime.types で RAW モードを ON に。
- application/octet-stream
あとは、
http://[サーバIP]:631/
にブラウザからアクセスして、管理画面から USB に認識しているプリンタを add すれば OK です。
クライアントの Windows からは、
http://[サーバIP]:631/printers/[プリンタ名]
でネットワークプリンタの追加が出来ます。
これで2台の PC から印刷が出せるようになりました。 うーん簡単になったものだ、としばし感動。 しかし、このままだと複合されているスキャナが使えないのです。
調べてみると Linux でスキャナを使うには “SANE” というソフトウェアを使うらしい。 しかも、バックエンドとフロントエンドが別れているのでネットワーク越しでも使えそう。 ということで早速インストール。
サイトからソースを落としてきて、 configuer; make; make install 。
でもって、
- # scanimage -L
- device `epson:libusb:004:002' is
- a Epson Unknown model flatbed scanner
- # sane-find-scanner
- found USB scanner
- (vendor=0x04b8 [EPSON],
- product=0x0801 [USB MFP])
- at libusb:004:002
- # scanimage -T -d epson:libusb:004:002
でローカル接続確認。 Unknown ってでていますが、ヘッドがちゃんとぐぃーんって動き高まる期待。 :-) この Linux には X Window いれていないので、ローカル確認はここまで。 次に Windows からネットワーク越しに使う設定をしてみる。
sane のデーモン、saned を xinit.d から呼び出すように設定。
- # cat /etc/services | grep 6566
- sane 6566/tcp # SANE network scanner daemon
- # cat /etc/xinetd.d/sane
- service sane
- {
- port = 6566
- socket_type = stream
- server = /usr/sbin/saned
- user = root
- wait = no
- disable = no
- }
ポート起動がうまくできることを確認して、Windows の SANE クライアントから接続します。 最初、sanetwain という SANE と Twain のブリッジドライバを使ってみたのですが、 “Time out writing bytes to socket” というメッセージが途中で出てうまくいかず。 惜しい。
気を取り直して、xsane という SANE クライアントの Windows 版をいれて接続してみたところうまくいきました!
-
C ドライブのルート直下の sane ディレクトリ にファイルを展開
-
C:\sane\etc\sane.d\net.conf に接続先サーバの IP アドレスを書く
-
C:\sane\bin\xsane.exe を起動
するとサーバの saned に接続し操作できるようになります。
Build in Gimp テクノロジーのようで、下手なスキャナクライアントよりずっと高性能と思われます。 GTK ベースなので 他のWindows ソフトと比べるとユーザーインターフェースにちょっと違和感ありますが、実用に耐える動きをみせていました。
いままでスキャナの共有はできていなかったので、今回の収容替えでレベルアップです。 開発者の皆さんに感謝します。
From: 雑日記&ブログ - 2005/12/15 Thursday (Trackback)
PC Linuxで複合プリンタの利用…
PC プリントサーバのできることで少し書いた、「Linuxでのスキャナ共有」ですが。
どうやら、み…
[続きを読む]
From: links for 2007-10-25 -> As a Futurist... - 2007/10/26 Friday (Pingback)
[…] hiromasa.zone :o) ≫ Linux でプリンタ・スキャナ共有をしてみる […]