Macでの仮想デスクトップ

最近、Ubuntuで仮想デスクトップの有用性にようやく気づき、常に使用するようになりました。
そんなこともあり、ではMacでもやってみよう、と思いました。
概念というか操作体系も違っているので以下紹介しておきます。Mountain Lion上でMissionControlという機能の話となります。

まず現状のデスクトップの利用状況をみるためにトラックパッドを指三本で手前から奥へスライドさせます。(逆にスライドさせると元に戻ります。)
すると、

となります。
ここで扱うデスクトップを追加するには、まず、ポインタを画面の端へ持っていくと出現する「+」エリア(下図、赤枠)を表示させます。

そのエリアに中央のウィンドウをドラッグアンドドロップすると、

「デスクトップ2」として追加になりました。
この状態で上部のデスクトップをクリックして画面を切り替えることもできますが、3本指で奥から手前へスライドして元の画面に戻ったあと、3本指で左右にスライドさせることでもデスクトップを切り替えることができます。

ほかにもいろいろできそうですが、試してみてください。

Titanium StudioによるAndroid/iOSアプリ開発事始め

先日、AndroidとiOSの両プラットフォームで動作するゲームを作成することになりました。そこで開発環境を選定を行いました。
当初は、Unityを使用することにほぼ決めていたのですが、もっと選択肢があるのではと、急遽選定作業をやり直しました。すると無料で良い環境がいくつか見つかってきました。

  1. ngCore
  2. PhoneGap
  3. Titanium Mobile

です。ngCoreはマーケットがmobageに限定されるようで実績のない者には少し敷居が高いと感じました。(実際にアプリを提供するとなったときの話。開発自体はすごくやりやすそう。本気でビジネスにしていくときはこれかなと思いました。)
PhoneGapとTitanium Mobileはいろいろなところで比較されていました。総合的にはTitanium Mobileに軍配があがっているようです。PhoneGapのほうはWebKit上で動作するもの、TitaniumはNativeのアプリになっていること、ここが大きな違いのようです。楽をしたいならPhoneGap、こだわりたいならTitaniumといったところでしょうか。

私はこだわれるTitanium Mobileで開発していくことにし、早速、
JavaScriptとTitaniumではじめる iPhone/Androidアプリプログラミング

を読みました。非常に短時間で広い範囲を理解することができ、以降で説明する作業に取りかかれました。

まず、環境をダウンロードすべくhttp://www.appcelerator.comにて開発者登録をし、環境を構築し、サンプルアプリの起動まで確認しました。

赤枠で示したスタートアップのドキュメントがしっかりしていて、特に詰まることなくサンプルアプリ起動まで進められました。ドキュメントは英語ですが、図がほとんどですので問題なく進められると思います。

Tizen 2.0 alpha SDKをUbuntu 12.10へインストール

Tizen 2.0 alpha SDKをUbuntu 12.10へインストールについて、いくつかネット上に転がっていた情報とは異なる点があったので、その点を含めてインストール手順を書いておきます。

私はMacBook Proを使っています。すでにWindows 7をBootCampで利用するため、VMWare Fusionをインストールしていました。ここにUbuntu 12.10をインストールしました。Ubuntu Desktop 日本語 Remix CDを使用しました。

Tizen SDKインストールという本題からは話が逸れますが、Ubuntuが日本語環境にならないという現象に見舞われました。これは私の単純なミスでした。VMWare FusionでUbunutをインストールするときに、「簡易インストール」という機能があり、これを有効にしてインストールしていたためです。
「簡易インストールを使用」のチェックを外し、[続ける]をクリック。

さて、話を戻します。Ubuntuをインストール後、まずTizenに必要なパッケージをいくつか用意します。

まずはOracle Java 7

> sudo add-apt-repository pap:webupd8team/java
> sudo apt-get update
> sudo apt-get install oracle-java7-installer

あとはSDKの提供元(https://developer.tizen.org/downloads/sdk)
In Ubuntu®, the following packages: procps, gettext, libdbus-1-3, libcurl3, expect, gtk2-engines-pixbuf, grep, zip, make, and qemu-user-static
という情報があるので、足りないものを

> sudo apt-get install gettext libcurl3 expect libgnome2-0

でインストールしました。これで事前準備完了です。(この時点ではですが。)

次はインストーラの用意です。今回は(imageではなくて、)ネットワークを利用するので、
SDKの提供元からInstall Manager(tizen-sdk-2.0-ubuntu32.bin)をダウンロードします。

> chmod +x tizen-sdk-2.0-ubuntu32.bin
> ./tizen-sdk-2.0-ubuntu32.bin

これでWizardにしたがっていけば、インストール完了です。

インストール後、推奨環境(11.10など)でないためか、いくつかおかしな点がわかってきました。
まず、Unityのランチャーなどには登録されません。
ですので、コマンドラインからIDEを起動しました。

> ./tizen-sdk/ide/startup.sh

無事に立ち上がりましたが、Tizen Web Projectを新規作成しようとしたところで、次のエラーがでました。


Unhandled event loop exception
No more handles

An SWT error has occurred.
You are recommended to exit the workbench.
Subsequent errors may happen and may terminate the workbench without warning.
See the .log file for more details.
Do you want to exit the workbench?

これらエラーは以下で対応できました。

> sudo apt-get install libwebkitgtk-1.0.0

さて、無事プロジェクトを作成できるようになりましたので、実際にエミュレータで動かしたく、エミュレータマネージャーでエミュレータの生成を行います。

> ./tizen-sdk/tools/emulator/bin/emulator-manager

x86-standardでエミュレータを作成します。そして、作成エミューレータを起動すべく、「Launch」ボタンをクリックします。
ここで、何も反応がない状態となりました。どうやら起動に失敗しているようです。

作成したエミュレータはx86エミュレータと連携して動いているようなですので、まずx86エミュレータが動作しているのかを確認してみると、

> ./tizen-sdk/tools/emulator/bin/emulator-x86
./tizen-sdk/tools/emulator/bin/emulator-x86: error while loading shared libraries: libSDL-1.2.so.0: cannot open shared object file: No such file or directory

とlibSDL-1.2.so.0がない旨を返してきます。

そこで、

> sudo apt-get install libsdl1.2debian

すると、

> ./tizen-sdk/tools/emulator/bin/emulator-x86
Segmentation fault (コアダンプ)

とlibSDL-1.2.so.0を見つけられるようになります。(コアをはいていますが、emulator-x86が本来単独で動くものではなく、無理矢理動かしているからだと思われます。)
ちなみに、推奨環境バージョンのUbuntuでは元々/usr/lib/i386-linux-gnu/libSDL-1.2.so.0が置かれていました。

さて、emulator-managerを起動し、「Launch」ボタンをクリックします。
起動しました。

ひとまず、Tizenの開発を進められる状態になったと思っています。
しかしながら、「推奨環境でやるべきだったなぁ」というのが本音というか反省すべき点です。

Mountain Lionにおけるホイールスクロール方向の変更

Lionからのことらしいですが、ホイールによるスクロールの方向が逆になっています。iPhoneやiPadなどのタッチパネルでのスクロール動作に合わせた結果のようです。
しばらく気にせず使用していましたが、MacからWindows、あるいはWidowsからMacへ作業環境を変更した直後数分慣れるまでの煩わしさを解消する必要性を感じ、Mac側のスクロール方向を従来のものに戻すことにしました。

方法は、「システム環境設定」→「マウス」にて、
「スクロール方向:ナチュラル」についているチェックを外すのみです。