Solaris クック・ブック USB プリンター接続デモ編 第1章: インストールと

Solaris クック・ブック USB プリンター接続デモ編
今回は、PC にインストールした Solaris 上で USB インクジェットプリンターを使用する方法をいくつか
紹介致します。
デモ環境一覧:
PC
TOSHIBA dynabook TX550LS, Intel(R) Celoron(R) M 1.40GHz, Memory: 1GB HDD:100GB (20GB を Solaris x86 に使
用)
Printer-1
EPSON PM-850PT
Printer-2
Canon PIXUS MP600
Printer-3
Canon PIXUS iP3100
Print-Server
BUFFALO LPV3-U2-G54
Router
BUFFALO WBR-G54
デモの内容
① PC に USB 接続したプリンターに直接印刷する。
② Solaris コンテナ for Linux を使い、メーカー提供の Linux 用フィルターを使ってきれいに印刷する。
③ 市販の Print-Server (USB->IP 変換) を使い、USB プリンタをリモートプリンタにして印刷する。
第1章: インストールと初期設定
まずは Solaris をインストールしましょう。x86 Platforms: Solaris Express Developer Edition 9/07
(以下 SXDE 9/07) を下記サイトよりダウンロードしインストールします。
http://www.sun.com/software/solaris/solaris-express/get.jsp
今回のデモでは、PC ハードディスク内の 20GB 程の領域に SXDE 9/07 をインストールしました。Solaris イ
ンストール方法については割愛させていただきました。Solaris コンテナ for Linux を設定する必要があ
るため、Solaris のディスク上に最低 2.3GB 以上の空き領域が必要となります。
ネットワークの設定: Solaris コンテナ for Linux (以下 Linux Zone と呼びます) と通信するため最低限
のネットワーク設定が必要です。デモでは簡単にネットワーク設定を行うため、OpenSolaris のプロジェク
ト: inetmenu (グラフィカル・ネットワーク設定ツール)をダウンロードして使いました。
solaris-devx>wget http://www.opensolaris.org/os/community/laptop/downloads/inetmenu-2.3.2.pkg.gz
--12:54:51-- http://www.opensolaris.org/os/community/laptop/downloads/inetmenu-2.3.2.pkg.gz
=> `inetmenu-2.3.2.pkg.gz.1'
Resolving www.opensolaris.org... 72.5.123.5
Connecting to www.opensolaris.org[72.5.123.5]:80... connected.
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 17,223 [application/x-gzip]
100%[====================================>] 17,223
12.92K/s
12:54:53 (12.90 KB/s) - `inetmenu-2.3.2.pkg.gz.1' を保存しました [17223/17223]
solaris-devx> gunzip inetmenu-2.3.2.pkg.gz
solaris-devx> su
# pkgadd -d ./inetmenu-2.3.2.pkg
デモでのネットワーク構成:
hostname: solaris-devx
IP address: 192.168.11.5
Subnet mask: 255.255.255.0
hostname: lxzone
IP address: 192.168.11.10
Subnet mask: 255.255.255.0
Linux Zone の設定:
solaris-devx# zonecfg -z lxzone
lxzone: No such zone configured
Use 'create' to begin configuring a new zone.
zonecfg:lxzone> create -t SUNWlx
zonecfg:lxzone> set zonepath=/export/lxzone_root
zonecfg:lxzone> add net
zonecfg:lxzone:net>set address=192.168.11.10/24
zonecfg:lxzone:net>set physical=skge0
zonecfg:lxzone:net> end
zonecfg:myzone> commit
zonecfg:myzone:net> exit
Linux Zone へ CentOS(RedHat 互換)をインストール:
CentOS tarball を OpenSolaris からダウンロードしてインストールします。
solaris-devx# zoneadm -z lxzone install -d /tmp/centos_fs_image.tar
# centos_fs_image.tar は展開すると約 1.3GB になります。
Linux Zone にログインして、ネットワークの設定を行いましょう。
solaris-devx# zoneadm -z lxzone boot
solaris-devx# zlogin lxzone
[ゾーン 'lxzone' pts/4 に接続されました]
Welcome to your shiny new Linux zone.
- The root password is 'root'.
Please change it immediately.
- To enable networking goodness, see /etc/sysconfig/network.example.
- This message is in /etc/motd.
Feel free to change it.
For anything more complicated, see:
http://opensolaris.org/os/community/brandz/
You have new mail.
-bash-2.05b# vi /etc/sysconfig/network
NETWORKING="yes"
HOSTNAME="lxzone
-bash-2.05b# exit
solaris-devx# zoneadm -z lxzone reboot
以上で、Linux Zone の設定は完了です。次章からさっそく印刷のデモを行います。
第2章 USB プリンター接続デモ
まずは OpenSolaris のプロジェクト: Presto (Automatic Printing Configuration) のデモを紹介します。
参考 URL: http://opensolaris.org/os/project/presto/
現在、SXDE 9/07 で利用可能なのは Phase-1 のみでしてローカルな USB プリンタの自動認識と自動設定の
機能だけ参照することができます。実際にデモ用に用意したプリンターを使って印刷してみましょう。
1) プリンターの電源を入れ、USB を Solaris PC に接続すると下記のウィンドウが現れます
Canon PIXUS MP600 を接続した場合、Name: MP600, Descption: Canon MP600
Manufacture: Canon と自動認識されて "Add Printer Queue" ウィンドウが現れます。
2) "Set as default printer queuue" だけ設定して、(+) 追加(A) ボタンを押します。
"The Printer is online and ready to print." と表示されて、プリンタの設定が
完了します。
3) Web ブラウザや StarSuite 8 から実際に印刷してみましょう。普通の A4 の用紙に印刷するとかなり
小さく印刷されてしまいます。実は、メーカーや形式は自動認識されても、モデルまで正しく自動認識でき
ない場合があります。メニューから [管理]-> [印刷マネージャ] を起動し、MP600 のプリンタのプロパ
ティ
を変更しましょう。
Canon PIXUS MP600 の場合、プリンタモデルを "Canon BJC-8200" に設定すると、A4 用紙で印刷できるよ
うになります。同様に EPSON PM-850PT の場合は "PM-820" に設定すると A4 用紙で印刷できます。
4) USB 接続から外すと、"disconnected or offline" と表示されて、プリンタが自動的にオフライン状態
になります。
Phase-1 で導入された、Presto の機能の紹介は、以上の通りですが、プロジェクトの今後の計画としてプ
リンタモデルの選択の改善や、リモートプリンターを含めた印刷設定など、盛りだくさんの機能追加が予定
されています。
デモ用に用意したプリンターでいろいろモデルを変えて試してみましたが、残念ながらカラーで印刷しよう
とした場合は色がきれいに表示できませんでした。次の章では Linux 用のプリントフィルターを利用して、
Solaris 上でよりきれいなカラー印刷や写真印刷などを行う方法を紹介いたします。
第3章
Linux 用プリントフィルターを使ってきれいな印刷を試してみましょう
OpenSolaris の Blandz プロジェクトから Solaris コンテナ for Linux が、Solaris x86 上で利用可能と
なりました。少し手続きは複雑になりますが、各メーカーより Linux 用に用意された各製品用のプリント
フィルターを利用して Solaris 上で、もっときれいに印刷する方法を試してみましょう。
概略と設定手順は以下の通りとなります。設定環境は、第1章で設定した Linux Zone を使用します。また
今回のデモでは、Canon PIXUS iP3100 か Canon PIXUS MP600 を使用します。
概略:
手順:
1) Canon のサイトより Linux 用のソフトウェアをダウンロードします。使用許諾契約書をよく読んでダウ
ンロードしましょう。Canon PIXUS iP3100 の場合、共通パッケージと PIXUS iP3100 用機種別パッケージの
両方をダウンロードします。
http://cweb.canon.jp/drv-upd/bj/other.html#linux
2) Linux Zone 上で、ダウンロードしたプリントフィルタをインストールします。今回 設定した Linux 環
境では、libxml-1.8.17-*.i386.rpm も必要となりますので、これも一緒にインストールします。
3) solaris-devx(大域 Zone) 側で、接続された USB プリンタに内容をそのままはき出すだけの印刷設定
"canon_usb" の設定を行います。
4) Linux Zone 側で、Linux CUPS 設定機能を使い、各プリンター用のフィルタを使って変換し lpd で
solaris-devx 側の "canon_usb" に渡す "canon_back" プリンタを設定します。
5) solaris-devx(大域 Zone) 側で、印刷内容を Linux Zone 側の "canon_back" に渡すだけの lpd 設定
"canon" を設定します。
solaris-devx 上での印刷の流れは以下の通りとなります。
Web ブラウザ/StarSuite からの印刷 ==> プリンタ "canon" キューへ
"canon" から lpd で 、Linux Zone の "canon_back"
"canon_back"
へ ==>
Linux 上でフィルタ変換し、 solaris-devx 側の "canon_usb" に lpd で渡す、
==> solaris-devx 側のローカルプリンタ "canon_usb" に戻って印刷する。
6) プリンタの用紙設定や解像度の選択は、Linux Zone 上での CUPS 設定か、Linux Zone 上にインストー
ルされた、プリントフィルタのユーティリティを使って設定します。
では実際に設定して、印刷してみましょう。
1-2) Linux 用ソフトウェアのインストール(作業は 第1章で設定した Linux Zone で行います)
-bash-2.05b# rpm -Uvh libxml-1.8.17-9.2.i386.rpm bjfilter-common-2.50-3.i386.rpm bjfilterpixusip3100-2.50-2.i386.rpm
warning: libxml-1.8.17-9.2.i386.rpm: V3 DSA signature: NOKEY, key ID f47bed1d
Preparing...
########################################### [100%]
1:libxml
########################################### [ 33%]
2:bjfilter-common
########################################### [ 67%]
3:bjfilter-pixusip3100
########################################### [100%]
-bash-2.05b#
-bash-2.05b# /etc/init.d/cups start
Starting cups:
-bash-2.05b# chkconfig cups-lpd on
<=== cups デーモンをスタートさせます
[ OK ]
3) Solaris 側で "canon_usb" の設定
solaris-devx# lpadmin -p canon_usb -v /dev/printers/0 -I any -i /usr/lib/lp/model/standard -o
"stty=-opost" -o banner=never
solaris-devx# /usr/sbin/accept canon_usb
solaris-devx# /usr/bin/enable canon_usb
<Solaris Install 時の default は lpd のための rfc1170 が disable になっているので ebable にする>
solaris-devx# svcadm enable svc:/application/print/rfc1179:default
4) Linux Zone 側で "canon_back" の設定
solaris-devx# ssh -X lxzone /usr/bin/mozilla http://localhost:631/
5) Solaris 側で "canon" の設定
solaris-devx# lpadmin -p canon -s lxzone\!canon_back
solaris-devx# lpadmin -d canon
<=== "canon" を default プリンターに設定します
6) プリンタの詳細設定の例
実際に、Web ブラウザや StarSuite からカラーイメージや写真等を印刷してみましょう。
Canon PIXUS MP600 では、 A4 両面印刷 も可能となります。ファイル指定で直接印刷する場合は Solaris
上の Global Zone と Linux Zone で共有可能な共有フォルダーを設定しておくと便利です。
共有フォルダからの印刷の例
solaris-devx# ssh -X lxzone /usr/local/bin/cngpij -P canon_back /opt/local/hara/test.ps
/opt/local/hara は、共有フォルダー
次の章では、PC への USB プリンター直結の代わりにプリント・サーバを経由してリモートプリントする方
法を紹介します。
第4章 プリント・サーバを介した USB プリンターへのリモート印刷
複数の PC や OS でプリンターを共有する場合は、ネットワーク上のネットワーク・プリンターを利用する
と便利です、今回は市販のプリント・サーバを使って、手頃な USB プリンターをネットワークプリンター
して使う方法を紹介します。
今回デモのために用意したプリントサーバは、BUFFALO LPV3-U2-G54 です。市場価格で約1万円前後、無線
LAN にも対応しており、プリンターの設置場所を選びません。特徴としては、Solaris や Linux からも
ネットワーク経由の Web 設定を通して詳細設定が可能です。
今回のデモでは、第3章の応用編として、Linux Zone でフィルタ変換し、IPP でリモート接続した USB プ
リンタに印刷する方法を紹介します。
手順:
1) 同サブネット上に、プリント・サーバを設定、USB プリンタを接続する。
2) Solaris 上に lpd で Linux Zone に渡す新たな "canon_ip" プリンタを設定
3) Linux Zone 上で、フィルタ変換して IPP でリモートプリンタにとばす "canon_ip" を
設定。
4) 第3章での 印刷出力 "canon" の代わりに "canon_ip" にデフォルト設定してリモートプリンター上に
印刷を行う。
作業:
1) プリント・サーバの Web 設定
2) Linux 上で "canon_ip" の設定
3) Solaris 上で "canon_ip" の設定
solaris-devx# lpadmin -p canon_ip -s lxzone\!canon_ip
solaris-devx# lpadmin -d canon_ip
<=== "canon_ip" を default プリンターに設定します
実際に印刷を行うと、プリント・サーバに接続された USB プリンターから印刷されます。
以上で今回のデモは終了です。
<作成: サン・マイクロシステムズ 原口>
参考情報:
Solaris Express Developer Edition:
http://www.sun.com/software/solaris/solaris-express/get.jsp
SXDE のインストール関連: ささの豆知識ブログ:
http://blogs.sun.com/sasanuma/
Printing with Blandz: Osamu Sayama's Web Log:
http://blogs.sun.com/sayama/category/Printing
OpenSolaris Blandz:
http://opensolaris.org/os/community/brandz/install/
OpenSolaris Printing/Project Presto:
http://opensolaris.org/os/community/printing/
Canon ソフトウェアダウンロード
http://cweb.canon.jp/drv-upd/bj/other.html#linux
ESPON Avasys Download Services for Linux
http://www.avasys.jp/linux/dl_ink.html