22
OpenSolaris OpenSolaris デスクトップ デスクトップ 印刷技術についての 印刷技術についての 調査・中間報告 調査・中間報告 おがさわらなるひこ おがさわらなるひこ naruoga at gmail, twitter, hatena naruoga at gmail, twitter, hatena 2010.02.13 Koedo-LUG meeting 2010.02.13 Koedo-LUG meeting

OpenSolaris Printing Environment

Embed Size (px)

Citation preview

Page 1: OpenSolaris Printing Environment

OpenSolarisOpenSolaris ののデスクトップデスクトップ

印刷技術についての印刷技術についての調査・中間報告調査・中間報告

おがさわらなるひこおがさわらなるひこ

naruoga at gmail, twitter, hatenanaruoga at gmail, twitter, hatena

2010.02.13 Koedo-LUG meeting2010.02.13 Koedo-LUG meeting

Page 2: OpenSolaris Printing Environment

OpenSolaris とは

SunSun の主力の主力 OS SolarisOS Solaris のオープン版のオープン版

ZFSZFS 、、Zone/SRM (= Container)Zone/SRM (= Container) 、、CrossbowCrossbowなどユニークな機能を持つなどユニークな機能を持つコアシステムとしての意味と、ディストリコアシステムとしての意味と、ディストリビューションとしての意味の両方を持つビューションとしての意味の両方を持つ

今回はディストリビューションとしての話今回はディストリビューションとしての話

小江戸「小江戸「LLUGUG 」なのに」なのにLinuxLinux じゃないけど許じゃないけど許してください(ちょっとだけ関係あるしてください(ちょっとだけ関係あるし……)し……)

Page 3: OpenSolaris Printing Environment

Distro として見た openSolaris

DebianDebian 創始者の創始者の Ian MardockIan Mardock がリーダーがリーダー「俺が今作っているのは、世界で最高の「俺が今作っているのは、世界で最高のLinuxLinuxディストリビューションだ」ディストリビューションだ」

SolarisSolaris といえばサーバなイメージだが、実はといえばサーバなイメージだが、実はかなりデスクトップ指向かなりデスクトップ指向

スローガンは「打倒スローガンは「打倒UbuntuUbuntu 」」

ZFSZFS の機能を使ったの機能を使った TimesliderTimeslider など、デスクなど、デスクトップユーザにも割とうれしいトップユーザにも割とうれしい

Page 4: OpenSolaris Printing Environment

現状 (2009.06) の印刷環境

微妙に残念微妙に残念

素直に打てるのは素直に打てるのは PostscriptPostscript プリンタぐらプリンタぐらいかもいかも

ちょっと頑張るとちょっと頑張ると HPHP 、、EpsonEpson 、、CanonCanon の一の一部ぐらいはいける部ぐらいはいける

Page 5: OpenSolaris Printing Environment

伝統的な Unix 印刷システム (PS 以前 )

LPDLPR

Text

$ cat hogehoge.txt | lpr -P <printer> -

Page 6: OpenSolaris Printing Environment

伝統的な Unix 印刷システム (PS 以後 )

LPDLPR

platexTeX

Text

DVIplatex dvips

a2psPS

$ platex hogehoo.tex$ dvips hogehoge.dvi | lpr -P <printer> -

Page 7: OpenSolaris Printing Environment

伝統的なシステムでは

プリンタの食えるデータを作るのはユーザのプリンタの食えるデータを作るのはユーザの責任責任

とはいえ作れるデータと言ったら限られているとはいえ作れるデータと言ったら限られている

最初は、テキストが直接出せる言語最初は、テキストが直接出せる言語PCL5 以前。ESC/P 、RPDL など

PostscriptPostscript ができてからはができてからは PSPS が標準が標準TrueImage なんてものがあったなぁ(トオイメ

Page 8: OpenSolaris Printing Environment

Ghostscript

GPLGPL なな PostscriptPostscript インタプリタインタプリタ

バックエンドにいろんなフォーマットを吐きバックエンドにいろんなフォーマットを吐きたい人のための「ドライバ」という口を用意たい人のための「ドライバ」という口を用意

これでいろんなプリンタに出せるようになったこれでいろんなプリンタに出せるようになった

いろんなドライバをいろんな人が作ってコミットいろんなドライバをいろんな人が作ってコミット

gs --help gs --help とやってみるとすごいよとやってみるとすごいよさすがに耐えかねて「もう新しい仕組みできたからドライバのコミットもバグ FIX も受け付けねー!」となったがそれはまた別の話。

Page 9: OpenSolaris Printing Environment

Solaris 系の印刷シナリオ

基本、伝統的な 基本、伝統的な lp/lpr lp/lpr モデルモデルCUPSCUPS 一辺倒な一辺倒な LinuxLinux とは一線を画してますとは一線を画してます

今時今時 printcapprintcap とかとか lpadminlpadmin はないわー!はないわー!PrestoPresto

ローカルプリンタ接続時に /dev/printers の下にデバイスを作ってくれるバックエンドさらに VID/PID から適切な PPD を引っ張ってくるGUI フロントエンドもあるでよ

デモのスクリーンキャプチャしようとおもったけデモのスクリーンキャプチャしようとおもったけど対応プリンタ持ってません……しくしく。ど対応プリンタ持ってません……しくしく。

Page 10: OpenSolaris Printing Environment

Solaris 系の印刷シナリオ (cont.)

libcups (CUPSlibcups (CUPS からから PPDPPD のデータを受け取っのデータを受け取ったり設定したりするたり設定したりする I/F) I/F) だけだけはデフォではデフォで入ってるのでアプリは対応不要入ってるのでアプリは対応不要

Foomatic (PSFoomatic (PS 向けの向けの PPDPPD を、を、PSPS 以外の言語以外の言語にも拡張してジョブ制御できるフィルタにも拡張してジョブ制御できるフィルタ )) もも標準でいるので標準でいるので GSGS がドライバを持ってるプがドライバを持ってるプリンタは対応可能リンタは対応可能

Page 11: OpenSolaris Printing Environment

今時 lp はちょっと……という人

pfexec pkg install SUNWcups ; \pfexec pkg install SUNWcups ; \print-service -s cupsprint-service -s cups

これでこれで CUPSCUPS が使えるようになるが使えるようになる

PPDPPD の の *cupsfilter *cupsfilter オプションに書いてあるオプションに書いてあるフィルタが動けば道は開けるフィルタが動けば道は開ける

pfexec pkg install SUNWcups-managerpfexec pkg install SUNWcups-managerいわゆる一つのいわゆる一つの gnome-config-printergnome-config-printer

PrestoPresto のの GUIGUI フロントエンドはフロントエンドは CUPSCUPS と話せなと話せないので印刷設定アプリが二個できるいので印刷設定アプリが二個できる

もちろんもちろん localhost:631localhost:631 でもいいけどでもいいけど

Page 12: OpenSolaris Printing Environment

Solaris 印刷環境でうれしい人

もとからうれしい人たちもとからうれしい人たちOpenPrinting.org OpenPrinting.org にドライバを公開しているにドライバを公開しているPS or GSPS or GS 対応してる対応してる (PCL(PCL などなど )) 言語のプリンタ言語のプリンタ

HP 、Brother 、RICOH (海外機に限る ) など

少し頑張ればうれしい人たち少し頑張ればうれしい人たちHPHP のインクジェットプリンタのインクジェットプリンタ

CUPS を入れれば hpijs が使えるから

EPSONEPSON などなど GutenprintGutenprintが対応してるプリンタが対応してるプリンタちゃんと openSolaris のパッケージがある作者は Sun の社員(辞めちゃったけど)

Page 13: OpenSolaris Printing Environment

では幸せでない人は

鬼のような交渉力を持つ人鬼のような交渉力を持つ人ベンダに「ベンダに「OpenSolarisOpenSolaris 用のドライバを作らんか用のドライバを作らんかい!」といって頑張るい!」といって頑張る

でも多分無理

幸いなことに幸いなことに LinuxLinux のドライバはある人のドライバはある人LX ZONELX ZONE !!

それすらない人それすらない人LinuxLinux ドライバすら出せないカスベンダをドライバすら出せないカスベンダを disdis るる

REDMON (Redirect Port Monitor)REDMON (Redirect Port Monitor)今日は割愛。参考文献見てね。

Page 14: OpenSolaris Printing Environment

LX ZONE とは

今日はこの話をします(途中まで)。今日はこの話をします(途中まで)。

ZONEZONE というのはというのは LinuxLinux でいうでいう chrootchroot ののもっとかっこいい版(というと乱暴だな)もっとかっこいい版(というと乱暴だな)

LXZONELXZONE というのはというのは OpenSolarisOpenSolaris のの ZONEZONEの上にの上に LinuxLinux 環境をまるごとぶち込むという環境をまるごとぶち込むというものもの

この上でこの上で LinuxLinux のプリンタドライバを動かしのプリンタドライバを動かして、そのプリントキューに投げ込んで印刷して、そのプリントキューに投げ込んで印刷しましょう、という方法ましょう、という方法

最近噂を聞かなくなった最近噂を聞かなくなった JarisJaris もこの方法もこの方法

Page 15: OpenSolaris Printing Environment

LX ZONE の印刷環境の構築 (1)

まずはまずは Global Zone (Global Zone ( 親元の親元の OpenSolaris)OpenSolaris)のプリンタキューを作成のプリンタキューを作成

USBUSB プリンタの場合はプリンタの場合は PlugPlug すると先ほどのすると先ほどのPresto Presto で検知してくれるで検知してくれる (( スクショ取り損ねたしくしく……)スクショ取り損ねたしくしく……)

ここではプリンタの出口さえできればいいのでプリンタは MFG:GenericMDL:Postscriptとかで OK

これを共有しときますこれを共有しときます

Page 16: OpenSolaris Printing Environment

LX ZONE の印刷環境の構築 (2)

ZoneZone を作るにはを作るには ZFSZFS の領域が必要の領域が必要仮に仮に datatank/lxzonedatatank/lxzone としますとします

ネットワークの準備ネットワークの準備dladm show-link dladm show-link で起きてる物理で起きてる物理 NICNIC を控えるを控える

ZoneZone は固定は固定 IPIP で運用するのでで運用するので

LX ZoneLX Zone 用のイメージを取っておく用のイメージを取っておくCentOS 3.7CentOS 3.7 用用 (( 古っ古っ )) のがここにありますのがここにあります

http://dlc.sun.com/osol/brandz/downloads/

Page 17: OpenSolaris Printing Environment

LX ZONE の印刷環境の構築 (3)

$ pfexec 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=/datatank/lxzone

zonecfg:lxzone> add net

zonecfg:lxzone:net> set address=192.168.xx.100/24

zonecfg:lxzone:net> set physical=bge0

zonecfg:lxzone:net> end

zonecfg:lxzone> commit

zonecfg:lxzone> exit

$

LX Zone 作成用パッケージ

Zone を置くZFS領域

mountpoint ではない

LX Zone 作成用パッケージ

さっき調べた物理 NIC名

Page 18: OpenSolaris Printing Environment

LX ZONE の印刷環境の構築 (4)

あとはあとは参考文献参考文献どおりやっただけですどおりやっただけですので詳細は省略ので詳細は省略

んでドライバをインストールしてみよう!んでドライバをインストールしてみよう!がっ、がっ、LX ZoneLX Zone で通信が確立しませんよ?で通信が確立しませんよ?

調べてみたら /etc/sysconfig/network-script/eth0 の内容がでたらめ直してネットワークサービス再起動したらエラーで怒られる時間切れ。終了……。ちーん。

ぼくはぼくは GUIGUI からから LinuxLinux入ったから管理系弱いの入ったから管理系弱いのです。しくしく。です。しくしく。

Page 19: OpenSolaris Printing Environment

LX ZONE の印刷環境の構築 (5)

参考文献に依ればあとは参考文献に依ればあとはLX ZoneLX Zone 側にドライバをインストールして側にドライバをインストールして

localhost:631localhost:631 でポートをでポートを OpenSolarisOpenSolaris の共有プの共有プリンタに振り向けて リンタに振り向けて (lpd://hostname/printername)(lpd://hostname/printername)

OpenSolarisOpenSolaris 側に戻ってプリンタ作って側に戻ってプリンタ作って

LX ZoneLX Zone 側のプリンタを参照すればいい側のプリンタを参照すればいい

………… らしい。らしい。

Page 20: OpenSolaris Printing Environment

まとめ

デスクトップ環境としてのデスクトップ環境としての OpenSolarisOpenSolaris はかはかなりイケてるけど、印刷はやや残念な感じなりイケてるけど、印刷はやや残念な感じ

直接つないでの使用を検討しているならプリンタ直接つないでの使用を検討しているならプリンタは選んだ方がいいですは選んだ方がいいです (PS(PS プリンタ プリンタ or HP)or HP)

ネットワーク上にほかのネットワーク上にほかの OSOS があるなら手はあるがあるなら手はある

LX ZoneLX Zone はぼくのはぼくの adminadmin 知識が足りなくて知識が足りなくて中途半端に終わってしまいました中途半端に終わってしまいました

GUIGUI から入ったもやしっ子はこれだから!から入ったもやしっ子はこれだから!

続きはブログ 続きはブログ or or 次回のオフで報告します次回のオフで報告します

Page 21: OpenSolaris Printing Environment

参考文献

Nicholas A. Solter, Gerald Jelinek and Devid MinerNicholas A. Solter, Gerald Jelinek and Devid Miner “OpenSolaris Bible”, WILEY“OpenSolaris Bible”, WILEY

瀧瀧 @@ ジャストプレイヤー ジャストプレイヤー as OpenSolaris as OpenSolaris 日本ユーザ日本ユーザ会会長さんのブログ会会長さんのブログ

CUPSを利用したらHP Officejet7410から印刷できたCUPSを利用したらHP Officejet7410から印刷できた

UNIX(FreeBSDなど)から、WindowにしかUNIX(FreeBSDなど)から、Windowにしか繋がらないプリンタ(WPSプリンタ)などに印刷する繋がらないプリンタ(WPSプリンタ)などに印刷する。。

原口さん 原口さん az OpenSolaris az OpenSolaris エバンジェリストのブログエバンジェリストのブログ

三分レシピ プリンター編三分レシピ プリンター編

Page 22: OpenSolaris Printing Environment

参考文献 (2) - SlideShare 用 URL集

PrestoPrestohttp://hub.opensolaris.org/bin/view/Project+presto/http://hub.opensolaris.org/bin/view/Project+presto/

GutenprintGutenprinthttp://gimp-print.sourceforge.net/http://gimp-print.sourceforge.net/

瀧さんブログ 瀧さんブログ (CUPS on OpenSolaris, Redmon)(CUPS on OpenSolaris, Redmon)http://kohju.justplayer.com/diary_2009-12-18.htmlhttp://kohju.justplayer.com/diary_2009-12-18.html

http://kohju.justplayer.com/cgi-http://kohju.justplayer.com/cgi-bin/tdiary/20041006.html#p01bin/tdiary/20041006.html#p01

原口さんブログ 原口さんブログ (LX Zone 3(LX Zone 3 分間レシピ分間レシピ ))http://blogs.sun.com/hara/entry/%EF%BChttp://blogs.sun.com/hara/entry/%EF%BC%93%E5%88%86%E3%83%AC%E3%82%B7%E3%83%94_%93%E5%88%86%E3%83%AC%E3%82%B7%E3%83%94_%E3%83%97%E3%83%AA%E3%83%B3%E3%82%BF%E3%83%97%E3%83%AA%E3%83%B3%E3%82%BF%E3%83%BC%E7%B7%A8%E3%83%BC%E7%B7%A8