B2G デスクトップクライアントを使用する

Firefox OS デスクトップクライアントは、B2G デスクトップクライアントとも呼ばれており、実際のデバイスにいくらか似た Gecko ベースの環境で Gaia やウェブアプリを実行することができます。デバイスのハードウェアをエミュレートしないので、デバイス API のテストをするには不適切ですし、実際のハードウェア上でのテストの代替にはなりません。いくつかの API は有効ですが、例えば Firefox 上の Contacts API と Settings API は利用できません。しかし、アプリケーション開発の間や Gaia ユーザインタフェース自体を動かしている間は有益でしょう。

この記事では Firefox OS デスクトップクライアントのダウンロード、もしくはビルド、同様に使用方法を取り扱います。

ナイトリービルドをダウンロードする

注意 v1 は Aurora としてリリースされており、mozilla central に基づいたナイトリービルドもこちらにあります。
(http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-central/)

Firefox ナイトリー のように、Firefox OS デスクトップクライアントは最新のソースコードから毎日ビルドされます。最新のビルドは FTP サーバから利用可能です。必ずあなたの OS 向けの最新バージョンのアーカイブを選択してください。これで自分でビルドしなくてすむようになりますし、Gaia のダウンロードもする必要がなくなります。

アプリケーションは、必ず書き込み可能な場所にインストールしてください。アプリケーションはインクルードされた Gaia プロファイルを更新できる必要があります。

では、スキップしてデスクトップクライアントを実行するに進みましょう。

デスクトップクライアントをビルドする

初めにやらなければいけないことは、標準 Mozilla ビルド環境をセットアップすることです。これを一旦行えば、必要なコードをプルダウンして、Firefox OS デスクトップクライアントをビルドする構成を行えるようになります。

初回用コードをダウンロードする

ソースコードを置きたいディレクトリに行き、Gecko が全て入っている mozilla-central リポジトリを複製しましょう :

hg clone http://hg.mozilla.org/mozilla-central

コードを更新する

後で追加でビルドする場合、確実に最新版のコードで make したいと思うでしょう。これが最新の変更をプルする方法です :

cd mozilla-central
hg pull -u

mozconfig を作成する

次に、Firefox の代わりに Boot to Gecko クライアントをビルドするビルドシステムを構成するために、mozilla-central ディレクトリに mozconfig ファイルを作成する必要があります :

mk_add_options MOZ_OBJDIR=../build
mk_add_options MOZ_MAKE_FLAGS="-j9 -s"

ac_add_options --enable-application=b2g
ac_add_options --disable-libjpeg-turbo

# このオプションは Gaia のテストを実行可能にしたい場合に必要になります
ac_add_options --enable-tests

# mozTelephony/mozSms インタフェースを有効にする
# 転送したい開発スマートフォンを実際に所有している場合のみ
# この行を有効にしてください。起動時にクラッシュしたら、
# この行がコメントになっているか確認してください
#ac_add_options --enable-b2g-ril

ビルドする

さて、デスクトップクライアントをビルドする準備ができましたので、以下のコマンドを mozilla-central ディレクトリの中で実行してください :

make -f client.mk

ビルドクライアントは ../build/dist ディレクトリ(mozconfig ファイルの MOZ_OBJDIR で指定した値に基づきます)の中にあります。

Gaia をダウンロードする

デフォルトではデスクトップクライアントは空のスクリーンを表示します。というのはシステムアプリとしてどのウェブアプリを最初に読み込むのか知らないからです。システムアプリとデフォルトアプリは Gaia と呼ばれる Firefox OS に搭載されています。

Gaia を初めてダウンロードするには、GitHub にあるソースコードリポジトリを複製しましょう :

git clone https://github.com/mozilla-b2g/gaia
cd gaia

既に存在する Gaia のクローンを更新するには、GitHub から最新の変更をプルできます :

cd gaia
git pull

プロファイルを生成する

次に、デスクトップクライアント用に Gaia のアプリをセットアップする必要があります。これは パッケージングされた Gaia アプリを、デバイスにインストールするのと同じやり方でインクルードし、特権のあるシステムアプリ用のパーミッションを設定します。我々はこれをプロファイルを生成することで行います。以下のコマンドはその処理を行います : 新しいプロファイルにはカスタマイズされた拡張機能と、B2G が正しく実行されるのに必要となるその他の構成が含まれています。それでは、gaia ディレクトリでこれを実行してください :

make

これで gaia ディレクトリの下に profile ディレクトリが作成されたはずです。

デスクトップクライアントを実行する

一旦クライアントをビルドしてGaia をダウンロード(もしくはナイトリーデスクトップアプリケーションをダウンロード、インストール)すれば、Firefox OS デスクトップクライアントを起動する準備が整います。

Linux で実行する

組み込まれた Gaia プロファイルを使用して、Linux でデスクトップクライアントを実行するには、単に b2g 実行可能ファイルを実行するだけです。もし、異なる Gaia プロファイルを指定したい場合は、b2g ラッパープログラムを使用しないで、b2g-bin バイナリを実行する必要があります。そのバイナリは、前にダウンロードしたアーカイブの中、もしくは、クライアントを自分でビルドした場合は ../build/dist/bin ディレクトリにあります。

.../b2g-bin -profile gaia/profile

あなたはうっとうしいレンダリングの問題で悩まされるかもしれません。それを回避するには、gaia/profile/prefs.js ファイルに以下の行を追加してください

user_pref("layers.acceleration.disabled", true);

Mac で実行する

ナイトリービルドをダウンロードした場合は、いつものように Finder から簡単に起動することができます。コンソールの出力は Mac に含まれている標準コンソールユーティリティプログラムを実行すれば見ることができます。

もし、異なる Gaia プロファイルを指定したい場合は、b2g ラッパープログラムを使用しないで、b2g-bin バイナリを実行する必要があります。b2g-bin バイナリの場所と、プロファイルディレクトリの指定の際に絶対パスが必要な為に、コマンドラインは少し複雑です :

.../B2G.app/Contents/MacOS/b2g-bin -profile /full/path/to/gaia/profile

Windows で実行する

Windows でナイトリービルドを実行するには、b2g.exe を起動するだけです。バンドルされた Gaia を自動的に使用するラッパープログラムを使用せずに、代わりに b2g-bin.exe 実行可能ファイルを実行すると、実行内容のカスタマイズが可能です。

注意 : Bug 795484 が原因で、現在アプリケーションは Windows での起動時にクラッシュします。

コマンドラインオプション

デスクトップクライアントを使っている間の、ランタイムエクスペリエンスを調整するのに、使用可能なコマンドラインオプションが多数存在します。-help オプションを使用することでオプションリストが取得できます。このセクションでは特に興味深いオプションのいくつかを取り上げます。

スクリーンサイズを指定する

--screen オプションを使用することでシミュレートしたいデバイスのスクリーンサイズを指定できます :

b2g --screen=<width>x<height>[@<dpi>]

<width><height><dpi> は、ほとんど見た目通りのパラメータです : デバイスのスクリーンの幅と高さはピクセルで、DPI でデバイスの解像度を指定します。例えば :

b2g --screen=320x480
b2g --screen=320x480@160

オプションで、シミュレートしたいスクリーンサイズと解像度を特定のデバイスの名前で指定可能です :

  • iphone
  • ipad
  • nexus_s
  • galaxy_nexus
  • galaxy_tab
  • wildfire
  • tattoo
  • salsa
  • chacha

JavaScript コンソールを開く

コマンドラインからの起動時に -jsconsole フラグを付けて起動すると、B2G デスクトップクライアントで JavaScript コンソールを開くことができます。ビルドが終わったら、実行するだけです :

.../b2g -jsconsole -profile /path/to/your/profile

Mac にナイトリービルドをインストールした場合は、こんな感じに実行します :

/Applications/B2G.app/Contents/MacOS/b2g-bin -jsconsole -profile /path/to/your/profile

起動時に指定したアプリケーションを起動する

デスクトップクライアントで b2g が起動する際に自動起動するアプリケーションを指定することも可能です。これはシステムが読み込みを完了した後、すぐに実行されます。これを行うには、--runapp オプションを使用して、実行するアプリケーションの名前をパラメータとして指定するだけです。例えば :

 .../b2g-bin -profile /path/to/your/gaia/profile --runapp email

起動するアプリを探す前に、指定された名前は正規化が行われ、全て小文字へ変換され、全ダッシュと全スペースは削除されます。正規化された名前は、その後、利用可能なアプリのマニフェストのマニフェストから、同様に正規化された名前と比較されます。

例えば、電子メールアプリの名前が現在 "E-mail" の場合、この正規化のおかげで --runapp email で動作します。

引数無しで、もしくは空の引数で --runapp オプションを指定した場合、B2G クライアントは、使い方に関する概要として既知のアプリケーションのリストをターミナルに出力します。

注意 : --runapp オプションを使用する際は、副作用としてロックスクリーンが無効になり、再有効化することができません。ロックスクリーンをテストしたいプロファイルでは、このコマンドを使用しないか、設定アプリケーションを使用して手動で元に戻すことが前提になっています。もしそれが問題であれば、遠慮なくこの振る舞いを変更するパッチをコントリビュートしてください。

使用法のヒント

このセクションは、B2G デスクトップクライアントを使用する 2、3 の役立つヒントを提供します。

  • ESC キーは "back" ボタンと同じ機能を実行します。
  • Home キーは "home" ボタンと同じ機能を実行します。もし使っているのが Mac で、キーボードにない場合は、Fn + ← (左矢印で、バックスペースではありません)で使用できます。

次のステップへ

これで、Boot to Gecko が動作するデスクトップビルドが手に入りましたので、テストしたり、開発したり、その他のことを実行させたりできるようになります :

Document Tags and Contributors

タグ:
Contributors to this page: naihsi, ethertank, taguchi-ch
最終更新者: ethertank,