STEPSプロジェクトの年次報告書

ひさしぶりの更新です。
そういう季節だなーと思い立って、VPRIのサイトを見てみたら STEPSプロジェクトの年次報告書が載ってました。
内容の論評はいたしませんが、今年の分で一点気になったのが、サブタイトルの変化です。

  • 従来:STEPS Toward The Reinvention of Programming
  • 今年:STEPS Toward Expressive Programming Systems

MLや報告書本文でもこの変更に言及はなかったと思います。Reinvention of Programmingというのを見たときはすごく野心的と思ったものですが、スコープが小さくなったようにも感じてしまいます。
プロジェクトが目指していることは変わっていないと思うのですが、終わりが近づいてきて、プロジェクトの現実的な着地点を探っているといった感じでしょうか。

gettext everywhere

山宮さんやBertさんのお力を借りてOLPC Etoys用に開発した gettextのフレームワークが、Hilaire Fernandesによって Pharo Smalltalkにポーティングされました。また Seasideにも取り込まれるようです。なんとなく嬉しいです。

この流れだと、Squeak Trunkイメージにももっていくべきでしょうかねぇ。

(gettextに関しては本家!である)Etoysの方は、Google Summer of Code のプロジェクトとしてRicardoが改良を試みてくれています。最近の私はまとまった時間がとれず、もっぱらMLで意見を言うだけになっていますが、少しは手伝いたい。
Etoysには4000以上の翻訳可能な文字列があって、それが一つのPOファイルに入ってしまっているので、翻訳者の皆さんに大変不評だったのです。これを内部モジュール(パッケージ)単位に分割しようとしています。POファイルが大きすぎて、Pootleが固まったりタイムアウトする問題もあったのですが、これも解消できそうです。

SoaS (Sugar on a Stick) V2 Blueberry を日本語で使う方法

以前に、SoaS Strawberry の日本語化について書きましたが、新しく出たバージョンに
ついても私がやった手順をまとめておきます。
ベースとなっているFedoraのバージョンが更新され、i18n周りの状況も
変わってきていますので、最新の状況にあわせてみます。

前提:ちゃんと起動するSoaSのスティックを作る

Windows版の liveusb-creatorを使っているとはまりやすいのは、入力となるISOファイル
の置き場所が、パス名にブランクを含む場所(デスクトップとか)や日本語名を含んで
いる場合に、ISOファイルを解凍できないというエラーになることです。

以降のステップでは、SoaSでブートした環境での作業になります。

Sugarセッションの言語を日本語に切り替える

ホーム画面のメニューで My Settingsを指示。
そして、Languageを指示。


言語の選択肢から Japanese を選択する。


そしてレ点のアイコンをクリックした後、Restart nowを指示。


Xセッションが再起動され、Sugarのホーム画面が表示されます。

日本語表示を試してみる

これで日本語に切り替わりました。今回はフォントの追加インストールをせずにいきなり
言語設定を切り替えたのですが、CJKをカバーするunicodwフォントがSoaSのOSイメージ
に最初から含まれているため、この状態で翻訳されている箇所は日本語で表示
されます。Sugarそのもののメニューはだいたい日本語翻訳されています。

ホーム画面のメニューは以前のバージョンより簡略化されています。


また、いくつかのactivityも日本語化されています。
新たに日本語化されたものの一つとしてTurtleArtがあります(ヘルプメッセージだけですが)。

日本語フォントを追加する

日本語表示だけならこれで動いているのですが、Write Activityで日本語入力をしてみると、
デフォルトで含まれているどのフォントを選んでも文字化けしてしまいます。
しかたがないので、VLGothicを追加インストールしました。
Terminalを起動してyumでインストールします。

$ su -m
# yum install VLGothic-fonts
(途中質問に答える)

日本語入力を設定する

(1) Terminalを起動して、ibus-anthyをインストールします。

% su
# yum install ibus-anthy
(途中質問に答える)

(2) ibus-anthyを入れると、imsettingsやim-chooserがインストールされています。今回は、.xsession
などでアドホックな対応をするのではなく、imsettingsのフレームワークにできるだけ
のっとって設定してみます。
これを書いている時点でのimsettingsにはバグがあり、sugarのような xdg-autostartの機能が
ないデスクトップ環境でimsettingsの自動起動の設定がうまく動かない問題がありますので、
パッチを当てる必要があります。(開発者のtagohさんに報告したのでそのうち直るでしょう)
/etc/X11/xinit/xinitrc.d/50-xinput.sh をエディタで編集し、このように修正します。

編集後、sugarを再起動します。

(3) 再度 terminalを起動し、im-chooserを起動します。

% im-chooser

起動されたim-chooserでIMEを有効にします。

入力メソッドの個人設定を指示し、anthyを選択します。


(4) 次のような内容の /etc/X11/xinit/xinitrc.d/40-sugar-imsettings.sh を作成します。

IMSETTINGS_INTEGRATE_DESKTOP=no
export IMSETTINGS_INTEGRATE_DESKTOP

そして、再度 sugarを再起動します。

(5) これでibusにより入力できるようになりました。

ibusでEtoysに日本語入力


やっとできるようになりました。

  • プラットフォームには SoaS V2 beta を使いました。要は、Fedora11ですね。このディストリビューションには、ほとんど最新に近いEtoys(2332)が含まれています。
  • ibusと日本語フォントを普通にyumで入れました。
  • /usr/share/sugar/activities/Etoys.activity/bin/etoys-activityをカスタマイズする必要があります。VMを起動する際のコマンドラインオプションに -vm-display-X11 -compositioninput を追加します
  • ibusと一緒に入ったim-chooserを使ってibusを使うように設定します。im-chooserのおかげで、.xsessionとかを手で編集する必要はありません。

Etoys Hater

real hater ではないかもしれないけれど、Goranの考え方は同種のものなんだろうな。
polluted とか言ってるし、不可分だなものだとは同意してもらえそうもないような。
unload scriptがあるだけで許してもらえるのだろうか?

SoaS (Sugar on a Stick) Strawberry を日本語で使う方法

私がやった手順をまとめておきます。今までのjoyrideとかを日本語化したことがある方には、特に難しいところはないです。

前提:ちゃんと起動するSoaSのスティックを作る

今までSoaSの実験をしていた時には、liveusb-creator のところではまることが多かったです。今回はSugarLabsのページにあるとおりの手順で、Windows用のliveusb-creatorであっさりうまくいきました。

以降のステップでは、SoaSでブートした環境での作業になります。

作業に使うツールを準備する

(1)SoaSは40種類ほどのアプリ(Activity)が搭載されているという触れ込みですが、起動直後に表示される「リング状の表示」(一応 Favorites Viewという名前がついています)には、そんなたくさんのアイコンは表示されていません。これは、「お気に入り」の印が入っているアプリしか表示されなくなっています。でも、次画面例のフレーム上右端のアイコン(カーソルが指している右側)をクリックして、リストビューに切り替えれば、インストールされている全てのアプリが表示されます。

カスタマイズに多用するTerminalも標準ではFavoritesビューに表示されなくて不便なので、リストビューで「お気に入り」のマーク(次画面例のカーソルが指している星印)を入れておきます。

そして、Terminalを起動します。

(2)ネットからいろいろダウンロードするのに使うwgetコマンドが、なんとデフォルトのSoaSイメージには含まれていないようですから、インストールしておきます。

% su -m
# yum install wget
  (以降、質問に答える)

日本語表示を設定する

(1)日本語フォントをインストールします。私はsazanamiを直接ダウンロードしてインストールしましたが、もちろん他のフォントでもよいと思います。

$ wget http://jaist.dl.sourceforge.jp/efont/10087/sazanami-20040629.tar.bz2
$ su -m
Password:
#
# tar xjvf sazanami-20040629.tar.bz2 -C /usr/share/fonts
# chown -R root:root /usr/share/fonts/sazanami-20040629
# exit

(2)Sugarセッションの言語を日本語に切り替える

Favoritesビューに戻してから、ホーム画面のメニューで My Settingsを指示。
そして、Languageを指示。


言語の選択肢から Japanese を選択する。

そしてレ点のアイコンをクリックした後、Restart nowを指示。

Xセッションが再起動された後、ログイン画面が表示されますが、ユーザliveuserでそのままログインします。パスワード入力はありません。

日本語表示を試してみる

これで日本語に切り替わりました。Sugarそのもののメニューはだいたい日本語翻訳されています。

また、いくつかのactivityも日本語化されています。次の画面例は、以前とりあげた Moonです。日食で盛り上がっている昨今にぴったりのアプリですね。

日本語入力を設定する

(1) Terminalを起動して、ibusをインストールします。

% su
# yum install ibus-anthy
(途中質問に答える)

以前は、依存関係が整理できておらず、芋づる式にたくさんインストールされてしまったのですが、かなり改善されたようです。ibus関係の8MB程度で済みました。

(2) viなどを使って、次のような内容の /home/liveuser/.xsession を書きます。

export XMODIFIERS=@im=ibus
export GTK_IM_MODULE=xim
export QT_IM_MODULE=ibus
ibus &

その後、再起動します。

日本語入力を試してみる

これだけでibusは普通に使えるようになりました。改良されてずいぶんスムーズに使えるようになりました。
次の画面例は Write activityの例です。フォントはsazamamiを選択する必要があります。

残念ですが、Etoysはやはり日本語入力がうまく動いていません。これは改めて今後調べなおそうと思います。