Flashで作ったフリーのVNCクライアント「fvnc」をビルドしてみた

こんにちはarashoです。巷ではGIGAZINEでFlashで作ったフリーのVNCクライアント「FlashVNC」が話題になっていますがエントリ中に

また、FlashVNCの後継がオープンソースで現在開発中です。

という記載があったので調べてみました。

後継はfvncというソフトで、作者のブログにアナウンスがありました。
サイトを見てみたのですが、それなりに開発は進んでいるように見受けられます。
ダウンロードできるリンクもあったのですが、subversionのリポジトリ構成を変えたようでリンク切れとなっていましたのでビルドしてみました。

前準備

ビルドに必要なのはFlex SDKですが、せっかくなのでFlex Builderを試用させていただきました。
ソースコードは現在のtrunk(http://svn1.cvsdude.com/osflash/fvnc/trunk/)を使用します。

まず、ソースコードをsvnから取得します。trunkにはFVNC、FVNC-appの2つのディレクトリがあります。FVNCはライブラリ、FVNC-appはアプリケーションです。

次にソースコードをFlex Builderにインポートします。Flex Builderを起動後、二つのプロジェクトを作ります。ひとつはFlexプロジェクト、もうひとつはFlexライブラリプロジェクトです。プロジェクト作成後、FSVN、FSVN-appそれぞれのsrc以下のファイルをプロジェクトに放り込むと下準備は完了です。

ビルド

いよいよビルドです。インポートした状態では

<fvnc:FVNC> をコンポーネントの実装に解決できませんでした。

というよく分からない日本語のエラーが出るので、これを解決する必要があります。Flexライブラリプロジェクトのプロパティの、Flexライブラリコンパイラの部分で、名前空間URLにhttp://www.osflash.org/fvnc、マニフェストファイルにmanifest.xmlを指定します。
次にFlexプロジェクトのプロパティのFlexビルドパスのライブラリパスにFlexライブラリプロジェクトを追加するとビルドのための設定は完了し、無事binディレクトリ以下にビルドされます。このあたりはjavaでの開発と似ていますね。

使ってみる

FVNC.htmlもしくはFVNC.swfを開くと以下のような画面が表示されます。
fvnc screenshot
ここでvncサーバのIPアドレス、ポート番号を指定すると
fvnc screenshot
のようにパスワードを聞かれますので、パスワードを入力してログイン。
fvnc screenshot

無事、画面が表示されました。java appletでもブラウザで動くvncクライアントはありますが、Flashで表示されるとちょっと感動しますね。右クリックはマウスホイールの上方向にマッピングされていますので右クリックを使うこともできます。もちろんマウスホイールの上方向は使えませんが。
ただし、自分の環境では入力ができませんでした。レスポンスは非常に良いだけに(LANだからかもしれませんが)残念なところです。環境依存かもしれませんが追っていないのでわかりません。

それにしても、スクリプト言語でここまでやれる事、Flex Builderの使いやすさには感動しました。Flexは初めてだったのですが以外にさっくりビルドすることができました。
最後にビルドしたswfファイルを掲載しておきます(WindowsのFirefoxでしか試していません)。ブラウザでそのまま表示しているとセキュリティの都合でダウンロードしたホスト以外には接続できないので、一度ダウンロードしてローカルで実行するかサーバにアップロードしてみてください。

コメント / トラックバックはありません

コメントする