« ctags日本語対応版のportを5.7j1に更新 | トップページ | るりまの野良Portfileを20090329版に更新 »

2009.03.28

rabrickをBonjour経由で公開してみる

プレセンテーションツールRabbitには、webインターフェイスでスライドを公開・操作できるrabrickというコマンドがある(使い方は[ruby-list:40844]参照)。 これをBonjourにのせてみることにする。

gemからdnnsdeasyjourをインストールして、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 追記)

ちなみにこんな感じ。

SafariのBonjourにrabrickを表示

|

« ctags日本語対応版のportを5.7j1に更新 | トップページ | るりまの野良Portfileを20090329版に更新 »