Ubuntu Weekly Recipe

第416回 Scratch 2.0をコンテナの中で動かす

この記事を読むのに必要な時間:およそ 7.5 分

Scratch 2.0のインストール

次にScratch 2.0をインストールします。Adobe AIRのアプリケーションはAdobe AIRのインストーラーを使ってインストールします。インストーラのコマンドは「/usr/bin/Adobe AIR Application Installer」です※4⁠。ファイル名に半角空白が含まれているので適切にエスケープしないと実行できません。

※4
このファイル自体はシンボリックリンクで,実体はAlternativesシステムを使って,⁠/opt/Adobe AIR/Versions/1.0/Adobe AIR Application Installer」を向いています。

Adobe AIRアプリケーションのインストール時も管理者権限が必要です。よってAdobe AIRと同様に管理者で作業を行います※5⁠。

※5
普通のデスクトップなら,必要に応じて(おそらく)gksuを使って権限を取得するため,インストーラーの実行そのものは管理者である必要はなさそうです。今回はLXDでそこまで動くようにする手間を考えると,より安直に管理者で実行した上で,システム領域にインストールするようにしています。
$ wget https://scratch.mit.edu/scratchr2/static/sa/Scratch-444.4.air
$ sudo -i
# xauth merge ~ubuntu/.Xauthority
xauth:  file /root/.Xauthority does not exist

ダウンロードするファイル名は,Scratchサイトのダウンロードページを参照してください。4月1日時点で,バージョンは444.4でした。前述したとおりインストーラーの実行ファイル名には空白が含まれているので,ダブルクオーテーションで括った上で実行しています。

# "Adobe AIR Application Installer" ~ubuntu/Scratch-444.4.air

図5 インストールの確認画面

画像

 

図6 インストール先は「/opt」に,インストール後すぐにはアプリを起動しないようにしている

画像

 

図7 インストール中。場合によってはシステムに負荷がかかる

画像

 

図8 インストール完了

画像

 

これでScratchのインストールは完了です。

Scratch 2.0を使う

ようやくScratch 2.0をインストールできたので,実際に起動してみましょう。ここからはホスト上での作業となります。

まずはScratch 2.0を起動してみましょう。といっても次のようにSSH経由で実行するだけです。

$ ssh -X ubuntu@scratch.local '/opt/Scratch\ 2/bin/Scratch\ 2'

Scratchもパスの中に半角空白が入っているのでいろいろとエスケープしなくてはなりません。のちほど,デスクトップファイルを作ってより簡単に起動する方法を紹介します。

初回起動時はライセンスの確認画面が表示されます。問題なければ「I Agree」をクリックしてください。わかりにくいですがこちらは「Adobe AIRを使ってアプリケーションを起動すること」に対する「Adobe Systems」との契約になります。Scratchは関係ありません。

図9 Adobe AIRインストール時とは少し異なる

画像

 

また,Adobe AIRはアプリケーション起動時に「Adobe AIRそのもの」のアップデートの確認を行います。しかしながら,Linxu版はもう更新を提供していないこともあって,証明書関連の警告が表示されます。基本的に「Cancel」を押してアクセスしないようにしておきましょう。

図10 証明書が確認できない旨を通知するダイアログ

画像

 

問題なく起動したらUIを日本語化します。画面左上の地球アイコンをクリックして,⁠日本語」を選択してください。

図11 言語メニューから「日本語」を選択する

画像

 

図12 ちなみに「にほんご」を選択するとすべてひらがなで表示してくれる

画像

 

ファイルメニューからプロジェクトを保存するとコンテナの中の「/home/ubuntu/Scratch Projects」に保存されます。たとえばTest1.sb2をホストにコピーしたい場合は,次のように実行します。

$ lxc file pull "scratch/home/ubuntu/Scratch Projects/Test1.sb2" .

逆に「lxc file push」でホストのファイルをコンテナに送れます。Sambaでマウントさせたり,ホストの任意のディレクトリをコンテナの指定した場所にbind mountさせる方法もあります。コンテナとホスト間のプロジェクトファイルのやり取りについては,その用途にあわせてじっくり考えたほうがよいでしょう。

ちなみにファイルメニューから「Webサイトで共有」を選択すれば,作成したプロジェクトをScratchのサイトにアップロードできます。ただしいくつか制約があるようです。

著者プロフィール

柴田充也(しばたみつや)

Ubuntu Japanese Team Member株式会社 創夢所属。数年前にLaunchpad上でStellariumの翻訳をしたことがきっかけで,Ubuntuの翻訳にも関わるようになりました。