rabrickをBonjour経由で公開してみる
プレセンテーションツールRabbitには、webインターフェイスでスライドを公開・操作できるrabrickというコマンドがある(使い方は[ruby-list:40844]参照)。 これをBonjourにのせてみることにする。
gemからdnnsdとeasyjourをインストールして、rabrickをちょこっと修正。
Index: bin/rabrick =================================================================== --- bin/rabrick (revision 1227) +++ bin/rabrick (working copy) @@ -13,6 +13,7 @@ Rabbit::Console.parse!(args, logger) do |opts, options| options.druby_uri = "druby://localhost:10101" options.port = 10102 + options.bonjour = false options.debug = false @@ -31,6 +32,12 @@ options.port = port end + opts.on("--[no-]bonjour", + _("Specify whether bonjour enable or not."), + "(#{options.bonjour})") do |bool| + options.bonjour = bool + end + opts.on("--[no-]debug", _("Specify whether debug mode or not."), "(#{options.debug})") do |bool| @@ -57,6 +64,11 @@ trap("INT") {server.shutdown} server_thread = Thread.new {server.start} + if options.bonjour + require 'easyjour' + jour_title = 'Rabbit - ' + rabbit.title + jour = Easyjour::Service.new(jour_title, 'http', options.port) + end if options.debug while gets logger.info(_("reloading ERB templates..."))
これで、
- Safariの環境設定>ブックマークで「Bonjourを表示」にする
- rabrickを--bonjourオプションをつけて開始
とすると、Safariのブックマークに"Rabbit - (スライドのタイトル)"と表示されるので、それを選択するとrabrickにアクセスできる。ホスト名やport番号がBonjour経由で解決されるので自分で入力しなくてよい。かんたん。
URLがhttp ://(Macの名前).local.:(rabrickのport)/となっていて、"local"の後ろにドットがあるのがキモチワルイけど気にしないように努力。 あと、プロキシが間に入るとダメだったりするので注意。
Safari以外のブラウザでにBonjour経由でサービスにアクセスできるか、確認してみたけど
- OmniWeb 5.9.1 - ブックマークの「ローカルウェブサーバ」から
- iCab 4.5.0 - 該当機能が見当たらない
- Firefox 3.0.3 - 該当機能が見当たらない
という残念な結果。Firefoxは拡張がありそうだけど探してない。 それにしても、iPod touchのSafariにも見当たらないのはどーゆーことだろう…さすがに自分の見落としだと思うんだけど。
(2009/03/28 追記)
ちなみにこんな感じ。
| 固定リンク
最近のコメント