2010-12-12
_ Google Cloud Print を試してみた
Google Chrome dev を利用すると,Google Cloud Print が試せるということで早速試してみた.Google Cloud Print を有効にするとローカルにあるプリンタが一覧に表示される.Cloud Print とかいうくらいだから,ローカルのプリンタが表示されるとは思ってもいなかったので驚いた.Google Chrome からはテストページしか印刷できないけど,Chorome OS を利用すると表示しているページを自由に印刷キューに放り込める.もちろんプリンタードライバーなんてインストールする必要もなくて,印刷指示を Google Cloud Print 上のプリンターに出しておくだけ.Google Cloud Print 上に登録したときに接続されている PC が立ち上がっていれば,勝手に印刷ジョブを取得して印刷してくれる.
今後,Google Cloud Print に対応したプリンターが直接ネットワークにつながっていればもちろん PC を立ち上げることなく勝手に印刷をしてくれるようになるんだろう.とはいうものの,自宅にはプリンターは置いてなくて,年に数度ある印刷しする必要があるときは,ネットプリントを利用しているので,自分にはあまり利用する機会がなさそうだけど…
2010-12-13
_ iMac から Flash をアンインストールしてみた
iMac で常用するブラウザはしばらく Safari をメインに利用していて,拡張に ClickToFlash を導入して,必要なときだけ Flash を有効にしてたけど,だいたい必要になるサイトがかなり限られていることがわかってきたので,試しに Flash をアンインストールしてみることにした.アンインストーラーが Adobe のサイトにあるのでダウンロードして実行.
じゃぁ,Flash なサイトを閲覧するときはどうするか,必要なときは Google Chrome を利用します.以前どこかでみかけたけど,Safari の設定で「メニューバーに"開発"メニューを表示」を有効にしておくと,「ページをこのアプリケーションで開く」なんてメニューが利用できるようになって,ここから Google Chrome を呼び出せるようになる.さらにキーボードショートカットのアプリケーションで,ページを Google Chrome で開くためのショートカットを ⌘G あたりに設定しておけば,必要なときに呼び出せるのでこれがなかなか便利.
会社 PC は Windows でブラウザは Google Chrome を使って快適にブラウジングしてるけど,自宅の iMac は 1Password が外せないため,Safari を常用していて,今回,久々に iMac 上で Google Chrome 使ってみたけど,やたら早くなったような気がする,以前は Google Chrome の 1Password 拡張はショートカットが使えないとかの不都合があったので,結局,常用することはなかったけど,先日,1Password の Google Chrome の拡張もまともに使えるようになった感じなので,ここいらで Google Chrome に乗り換えるのもありなのかもしれないな.
2010-12-19
_ QNAP TS-219p で CUPS-PDF を利用した AirPrint 環境を構築しようとしてあきらめた記録
バックアップに利用していた USB HDD の容量が少ないし NAS でも買うか,ということで QNAP TS-219p を先日購入.2 ベイのストレージサーバーで,ソフトウエアも必要なものがそろってる.どうしても気に入らなければ,Debian にのせかえることもできるので,のちのちでも使えそう.HDD には値段も手ごろになってきた 2TB の HDD を.これで当面ストレージに困ることはないだろう.TimeMachine に 1TB の容量を割り当てて,残りは適当に利用できるスペースに.ギガビットで構築された LAN 環境ではネットワーク越しでのファイルのコピーもなかなか快適.
もともとの目的だったストレージとしては買ってきてすぐにできあがってしまったわけで,それ以外にも遊べそうなこと…ということで,QPKG ソフトウエアパッケージを利用して,もう少し機能追加してみることにした.QNAP を選択した理由の一つは標準でこうしたパッケージシステムを利用できるから.そんなわけで,CUPS と CUPS-PDF を利用した PDF 印刷サーバーを構築して AirPrint に対応させてみることにした.先に結論だけ書いておくと,タイトル通り AirPrint で印刷までは実現できていない.まぁ,Mac や Linux なマシンがあれば,簡単に同じような仕組みは作れます.とはいうものの,PC が立ち上がっているということは,印刷するのは PC 使ってしまった方がよっぽど楽だろうというわけで,NAS のように常時稼働している環境なら,こうした仕組みがあると便利なことがあるかもしれない.
前置きが長くなったけど,TS-219p で PDF プリントサーバーを構築した記録へ.
Optware のインストール
まずは QNAP の管理画面から QKPG プラグインのインストールで Optware IPKG(Itsy Package Management System) をインストールします.組み込み向けのパッケジ管理システムで,/opt 以下に導入したアプリケーションがインストールされます.
CUPS,CUPS-PDF のインストール
基本は QNAP NAS Community Forum の [Basic HOW-TO] use CUPS & CUPS-PDF on TS-x09 & x19 series を参照.ただ,この通りに進めても自分の環境ではうまく動作しなかったので,その辺りの記録も含めて.
まずは,先にインストールした Optware を利用して,CUPS と CUPS-PDF をインストール.CUPS の管理画面を日本語で表示する場合は,日本語化のパッケージもインストールしておく.
# ipkg update # ipkg install cups # ipkg install cups-doc # ipkg install cups-pdf
インストールすると /opt/etc/cups 以下に設定ファイルができるので編集する.
# cd /opt/etc/cups # mv cupsd.conf cupsd.conf.orig # cp cupsd.conf.default cupsd.conf
cupsd.conf は Port 631 を追加し,SystemGroup administrators に変更したり,Allow @LOCAL を追加したりします.のちのち Bonjour でネットワーク PDF プリントサーバーとかにする場合は,ServerAlias ホスト名.local も追加しておく必要あり.
cups-pdf.conf は AnonUser admin,Grp administrators を追記します.AnonUser は普通は guest ユーザーとかにするんでしょうが,この環境では admin ユーザー以外は PDF 作成後の permission の設定でエラーになってしまい,どうにもよくわからなかったので,ひとまず admin で出力するようにしています.どっちにしても個人で利用する分にはこれで問題なですけど.
さらに cups-pdf の実行権限を変更します.
# ls -l /opt/lib/cups/backend/cups-pdf -rwxr-xr-x 1 admin administ 22888 Nov 30 08:57 /opt/lib/cups/backend/cups-pdf* # chmod 700 /opt/lib/cups/backend/cups-pdf # ls -l /opt/lib/cups/backend/cups-pdf -rwx------ 1 admin administ 22888 Nov 30 08:57 /opt/lib/cups/backend/cups-pdf*
標準の状態では実行権限がおかしいとかなって印刷実行時にエラーログが出力され動作しません.permission の設定を上記のように指定すると問題なく生成されました.
CUPS の実行とプリンタの追加
とりあえずここまで設定できたら cupsd を実行してみる.
# killall cupsd # cupsd
http://QNAP:631/ にアクセスして CUPS の Web 画面が表示されれば問題なし.まずは Administration でサーバーの設定を変更します."Share printers connected to this system" と "Allow printing from the Internet" にチェックをいれて設定しておく.
そして CUPS-PDF をプリンタとして追加します.Local Printers に CUPS-PDF があるので選択,名前や説明などを入力し,Sharing にチェックをいれる.Generic を選択し,Model は Generic CUPS-PDF Printer にしてプリンタを追加.デフォルト設定は A4 にして 300DPI を選択してみます.試しにテスト印刷をしてみると,テストページが admin の spool に出力されます.
# ls -l /opt/var/spool/cups-pdf/admin -rw------- 1 admin administ 26886 Dec 19 18:22 Test_Page.pdf
AirPrint を利用してこの PDF プリンターの存在を通知するには Bonjour を利用することになる.QNAP TS-219p では mDNSResponderPosix を利用できるわけで,これを利用してみる.AirPrint で必要な内容は,AirPrint with Ubuntu 10.10 に記載されている内容と同じような感じで設定する.実際,VMware 上の Ubuntu で同じようにやってみると,確かに iPhone,iPad から VMware 上の CUPS-PDF プリンタを参照できる.QNAP TS-219p 上でも以下のように実行してみたけど,iMac からは見ることができても,iPhone,iPad からは見つからない.原因は subtype の _universal がついていないから,ということはわかったけど,mDNSResponderPosix において subtype の指定方法がわからない.type にカンマ区切りで続けてみてもエラーとなるし.
# /usr/sbin/mDNSResponderPosix -n "QNAP-219p(AirPrint)" -t _ipp._tcp. -p 631 -x URF=none pdl=application/octet-stream,application/pdf,application/postscript,image/jpeg,image/png,image/urf Transparent=T printer-type=0x801046 printer-state=3 product=virtualprinter priority=0 note=QNAP-219p ty=CUPS-PDF rp=printers/CUPS-PDF qtotal=1 txtver=1
と,ここまでやっていい加減調べるのがしんどくなってきたので終了.ipkg で Avahi もインストールできるっぽいからそっちも試してみてもいいんだろうけど,もともと mDNSResponderPosix で動いているものと共存できるのかよくわからないのでこっちは試していない.さらっと記録としては終わってしまってるけど,CUPS-PDF で結構はまった.はじめは cups-pdf そのものがうまく動作しなかったこと.テストページの印刷指示を出すと,job 自体は完了するけど何も出力されない….ログを見ても何でていないので何が問題なのかさっぱりわからない.フォーラムに記述されているようにスティッキービットをつけると,
E [19/Dec/2010:00:00:00 +0900] Unable to execute /opt/lib/cups/backend/cups-pdf: insecure file permissions (0104755)
といった具合でエラーになる.そんなわけで,ふと思い立って permission を admin のみに実行権限を与えてやったらうまくいったというわけ.これで,管理画面やコマンドラインからの admin での印刷はうまくいくことが確認できた.で,guest ユーザーやら登録済みのユーザーとかでも印刷できるかと試してみたら,
Sun Dec 19 00:00:00 2010 [DEBUG] GID set for current user Sun Dec 19 00:00:00 2010 [DEBUG] UID set for current user (guest) Sun Dec 19 00:00:00 2010 [DEBUG] ghostscript has finished (256) Sun Dec 19 00:00:00 2010 [ERROR] failed to set file mode for PDF file (non fatal) (/opt/var/spool/cups-pdf/ANONYMOUS/210.pdf)
これがまたよくわからなかった.こっちは結局 AnonUser を admin ユーザーとすることで回避できた.
結果としては,結局,AirPrint として利用できる環境までは作れなかったけど,CUPS と CUPS-PDF を利用した仕組みについて知ることができたのはおもしろかったけどね.
2010-12-20
_ 待ちうけカレンダーメーカー for 705NK(9) - サービスのURLが変わります
最近,家のサーバーの調子が悪くなってきていてときたま止まってしまったりすることもあるので,待ちうけカレンダーメーカーを外部のサーバーに移転することにしました.移転後のサービスは Heroku 上で動作することになります.
Heroku 上で動作させるにあたって,これまで cgi ベースで動作していたものを Rack ベースに書き換えることになりました.といっても,カレンダーのイメージを生成する部分はもともとクラスに切り出されているので,フロント部分を書き換えるだけで済みました.
また,画像のリクエストを処理する部分なども jQuery で書き換えました.カラーピッカーが見た目で大きく変わっています.最初にリリースしてから 4 年ほどになるため,もともとのコードも古臭くてなかなかひどいモノでしたが,これで多少ましなコードになったような気がします.
これまで利用されていたブックマークなどは新サーバーの方で改めて取得してください.
新サーバーでの URL は以下になります.
作った本人はすいぶんと前に iPhone に乗り換えてしまって,手元には 705NK もすでにないのですが,それでもこのサービスにはそれなりにアクセスもあるみたいなので,もうしばらく使えるような形にしておきます.
2010-12-21
_ 待ちうけカレンダーメーカー for 705NK(10) - ローカルイメージ利用をサポートしました
移転ついでに新しく実装した機能も.ずいぶんと前にどこかで要望として見かけたような気がして,File API のお試しもかねてローカルイメージを読み込めるようにしてみました.これにより今まで選択が可能だった画像の種類が限られていたものが,実際に壁紙で利用するイメージにあわせてカレンダーの文字色を決めることができるようになりました.
この仕組はローカル画像をサーバーにアップロードはせずにブラウザでローカルファイルにアクセスし画像を表示しています.この File API の FileReader Interface を実装しているブラウザのみ利用が可能な機能となります.一応,Chrome と Firefox 3.6 では動作することを確認しています.Safari 5 や InternetExplorer 8 ではサポートしていない機能です.(未サポートのブラウザではファイル選択のボタンが無効化されます)
壁紙のサイズは 240x320 の画像をアップロードするとちょうどおさまるようになります.自分の壁紙にあったカレンダーをご利用になりたい方は,サポートしているブラウザで利用してみてください
2010-12-31
_ 2010 年の日記を振り返り
毎年,1年の日記を読み返して見て,その年を振り返って見る日記をつけているんですけど,ここ数年は 1 か月に数度しか更新しないので,もう日記じゃなくて月記みたいになってるけど,まぁ,それもまたよしということで,振り返ってみることにしてみます.
- 1月
- 年始から風邪気味スタート.映画「アバター」を観てきた感想が久々な長文だったり(6日)
- 2月
- インターネット接続環境がよくなったり(2日)
- 3月
- 伊豆方面に温泉旅行に行ったり(5日)
- 4月
- 金沢,能登半島方面に温泉旅行に行ったり(5日)
- 5月
- 発売日に出社前にiPadを買いに行ってみたり(4日)
- 6月
- Safariの拡張でちょっとがんばって調べてみたり(2日)
- 7月
- BBモバイルポイントのWEPキーを忘れて新幹線車内で必死に探してみたり(2日)
- 8月
- ここの環境もtDiary3.0へ更新してみたり(2日)
- 9月
- 突如,何か作りたい気持ちになったのかtDiaryのプラグインを2つほど公開してみたり(7日)
- 10月
- テレビとiPhoneを買い替えてみたり(3日)
- 11月
- 今年3度目の温泉旅行に行ってみたり(2日)
- 12月
- カレンダーサービスを外部サーバーで提供するようにしてみたり(6日)
各月毎に日記を書いた日を集計してみたけど,今年もなかなか少ない日記となってしまったねぇ.それにしても,今年はなんだかんだで 3 回も温泉旅行に出かけていたんだ.ん,でも確か日記には書いていない温泉旅行がもう一回あったな.ということは今年は 4 回かな.結構行ってたんだなぁ.
あとは tDiary のプラグインが 3 つほど作成して公開できたりしたので,なかなかよかったんじゃないかな.特に jQuery を使ったプラグインなんかは新しく得られるものが多かったのでよかった.
振り返って見ると,去年のことかと思っていたことが今年のことだったりと,なんとも記憶が曖昧なこと.何にしても今年も大きな怪我や病気もせずに 1 年を過ごせてよかったよかった.