Google Earth won’t work on OLPC XO-1

だめかと思いつつ、いちおうXO-1にGoogle Earthをインストールしてみたところ、インストールは成功したものの、動きませんでした。やっぱりちょっと悲しい。

最初の難関はダウンロードで、XOのFirefoxではなぜかダウンロードできず、WindowsのFirefoxではWindows版しかダウンロードできず、しょうがないので別のFedora 6のマシンでダウンロードして、USBメモリでXOに持っていった。rootになって、インストール。インストール自体は至って普通。

えいやっと動かすと、OpenGL関連のライブラリがないと言われるので、ソフトウェアエミュレーションでOpenGLをサポートするMesaのライブラリを入れればよかろうということでyumで入れたが、それでもだめ。”GLX”とかいうのがないといわれてしまいます。

いろいろ調べた結果、このTicketに到達。

#227: Mesa (3D support not present on OLPC).

We disabled GLX since X 1.4.

I think we can close this bug as WONTFIX.

X.Orgのソースをコンパイルする元気が出てきたら再挑戦します。

Intel and the OLPC Association have parted ways

インテルがOLPCプロジェクトから撤退することについてのOLPCの声明インテルCSR(Corporate Social Responsibility)担当者のブログエントリを読んだ。

(OLPC)

As we said in the past, we view the children as a mission; Intel views them as a market.

The benefit to the departure of Intel from the OLPC board is a renewed clarity in purpose and the marketplace; we will continue to focus on our mission of providing every child with an opportunity for learning.

(インテル)

I’m not sure what this will look like when the dust settles. I know OLPC will continue on its path, and I wish them success. I also know Intel will continue in its investment in improving education around the world.

インテルは大人の対応をしているな、とおもった。

IDLE on OLPC XO-1

Pythonを勉強していて、やっぱりXOで動かしながら進めるといいのではなかろうかと思い、なんかいいIDEがないものかとおもった。Windowsなら、仕事で使い慣れているEclipsePyDevというプラグインを加えれば良さそうだが、XOでEclipseを使うのもどうかと思う(多分動くと思うけど)。もうちょっと素朴なIDEを探していたら、IDLEというIDEが標準添付されていることがわかり、それを動かしてみた。

標準のインストールでは、Tkinterというライブラリが入っていないので、

yum install tkinter

したら、あとは、

python /usr/lib/python2.5/idlelib/idle.py

で立ち上がる。見た目はなかなか良さそう。だがフォントが小さすぎ。40歳以上のをじさんには5分以上使用不可能。

でも、まーフォントの設定だけやってやればいいんでしょう、と軽く考え、いろいろいじくってみたが、驚くべきことに、どれも失敗。フォントはいろいろあるのに、Tkのライブラリが見えるように設定できない(xlsfontsコマンドでリストされない)。

調べてみたら、ここに同じような悩みを抱えている人たちがいて、すでに問題がレポートされているようだ。

Mary Lou Jepsenが発明したXOのディスプレイは、OLPCに批判的なひとですら賞賛するのすばらしいもので、7.5インチと小さいながらも1200×900ピクセルの表示を実現していて、電子ブックとかの用途に使うには最高だけれど、普通のX Windowのアプリを動かすと、字が小さすぎて、ほとんど全部40歳以上使用不可能。フリーで提供されているSimCityも、まるで米粒にお経を書く修行のようです(笑)(このスクリーンショットを普通のPCで見ると、全く普通のSimCityに見えるけど)。

これ、ディスプレイドライバで、もっと粗い、たとえば800×600ピクセルの表示モードをサポートできるようにしてもらえないのだろうか。それなら、いちいちアプリケーションのレベルでフォントのサイズを調整しなくても、普通のXのアプリケーションはそれなりのフォントの大きさで動くと思うんだけれどなぁ。

Low-level Activity API

Amazonで注文していた“Learning Python“が届いて、勉強開始。700ページもある。いつ終わるのか。

Python言語の勉強はまぁこつこつやるとして、少し気になっていたのは、この間書いたXO-1用の画像取り出しのスクリプト。やり方がよくわからなかったこともあって、Recordアクティビティがデフォルトでつけるタイトルの文字列”Photo by “で検索したのだが、このやり方だと、タイトルを変えられるともう検索に掛からなくなる。たぶんRecordアクティビティが翻訳されて、英語以外の環境で使われてもアウト。

正しくやるには、MIMEタイプがimage/jpegのものを引っぱってきて、しかもRecordアクティビティで作られたものだけを選んでやるべき。まぁ、それくらいだったら、APIさえわかればPythonがわからなくてもなんとかなるだろうと調査開始した(←Pythonの勉強よりこっちが楽しい)。

すると、ここにLow-level Activity APIのドキュメントが見つかり、どうもMIMEタイプを指定して検索することもできそうで、あとは、メタデータを見れば、そのデータを作ったアクティビティの”Bundle ID”(アクティビティ毎に指定される固有の文字列)が取れそうだということがわかった。

で、やってみたら、MIMEタイプを指定して検索するのはできた(なぜかえらく遅い)が、”Bundle ID”が取れない。どうも、”Bundle ID”ではなくて、本来”activity_id”のところに入るべき16進のIDが間違って入れられているようだ。うーん。

しょうがないので、dev.laptop.orgに出かけて行き、問題をレポート前回のは”Duplicate”でクローズされたが、今回はどうなるか。

(附記 2008-01-04)
なんと昨日の夜問題をレポートしたら、今日の午前中に直りました。早いなぁ。この調子なら、もっと問題を上げようかという気になる。とりあえず、(Abiword由来の)Writeでスポット変換できない件と、カメラで撮ったJPEGにExifヘッダがついていない件(まぁバグではないけど、せめて撮影日時くらい書いて欲しい)をレポートするかな。

(附記 2008-01-04)
Exifの件はもうレポートされてますね(Ticket #5622: Record doesn’t save EXIF data)。

(附記 2008-01-05)
ついでにSugarのDatastoreがらみでもう一個問題をレポートしてみたら、それはそういうものだからもっと勉強してくれというような返事が返ってきた。うーん、確かにSugarはそういう設計思想なのかもしれんが、正直言ってしっくりこない(何のことを書いているのかわからないですな、これでは)。もうSugarは忘れて、Debianでも入れるか、とも思うけれど、そんなことするんだったら、最初からASUS Eee PC買っとくべきだったよなぁ。うーん(うなってばかり)。

いまさらここで(しかも日本語で)ほえても仕方ないが、Sugarのユーザーインターフェースはそのままでもいいから、各プログラムが普通にファイルを読み書きできて、Journalは普通のファイルマネージャで、そのかわりプログラムのアイコンがクリックされたときは前にそのプログラムが終了した状態から始まる、くらいのデザインだったら良かったのになぁ。

(附記 2008-01-07)
Ticket #5860は”wontfix”でクローズされて、#5876がオープンされました。これ、結構面倒な問題だと思う。XOのJournalに、アクティビティの状態を保存しているレコードと、Activityとは直接関係のないレコード(要はただのファイル)が混在していて、しかもアクティビティによっては(例:Paint)ただのファイルとして扱えるレコード(Paintの場合はPNGファイル)にアクティビティの状態を保存することにしてるのが混乱のもと。だいたい画面下のブラウザのアイコンをクリックしてブラウザを使うたびにJournalにレコードが溜まっていくというのもいかがなものか。

やっぱり「アクティビティ」という概念を無理やり導入するところに無理があるじゃないかしらんと考えていたら、すでにクローズはされているものの、面白いTicketが見つかった。

Ticket #1053: OLPC needs a usable GUI (i.e. not Sugar)

Let’s move to a window system where the objects on screen are responsive to the user. Where programs are programs, and none of them are jargon “activities”. Where you can run more than the twelve apostles that are lined up along the bottom of the screen.

OLPC should abandon Sugar and install a working Linux GUI.

おれもそう思うぞ。

New Year’s Resolution

あけましておめでとうございます。今年もよろしくお願いします。

アメリカではクリスマス休暇があるかわりに年始は2日からはじまるので、私も明日から仕事。もうあんまりOLPCで遊ぶこともできなくなる。それに、もう手軽な遊びはだんだんなくなってきて、ちゃんとLinuxやPythonの勉強をしないと先に進めなくなっているように思えるので、まぁ気長にやっていきたいとおもっております。

XO日本語化のページNetafullで紹介されたらしくて、私のブログにしてはめずらしく(笑)お客様が多くてうれしかったのですが、できたらOLPC JapanのWikiに移したいと思ってます。そうなるともうちょっとちゃんと書かなきゃいけないなーとか思っていたら、なんかWebブラウザでのscim-anthyの変換候補ウィンドウの位置がおかしいように思えてきた。Fedora 7上でも同じ挙動。Abiwordの時のようにまったくスポット変換しないわけではないから、まぁ使えないことはないが、気持ち悪い。

ためしにFedora 7の日本語変換をuim-anthyに変えてみたら、変換候補ウィンドウは本来あるべき位置(カーソルの近く)に出る。うーん、じゃあやっぱり日本語化ページにuim-anthyを使うオプションも書くべきかなぁ。なんだか、趣味でやってるはずなのに宿題がたまるばかりだ(笑)。

MPlayer for OLPC XO-1

Linux上での定番ビデオプレーヤーMPlayerをOLPC XO-1用にコンパイルした人がいて、ダウンロードして使わせてもらったら、実によく動く。私もインストールしようとしてみたことがあったのだけれど、ライブラリの依存関係がうまく解決できなくて面倒になってやめたことがあったのだ。うーん、すばらしい。

これまでなんとかXO-1でYouTubeを見ようとして、カクカクした動きに悲しい思いをして、XO-1は教育用だからビデオがうまく再生できなくても仕方がないと自分をなぐさめていた人(オレだ、オレ。笑)は、これで気持ちが晴れたのではなかろうか。

試したのは小さいDivXのファイルだったのだけれど、YouTubeのFlashがイマイチで、DivXがOKというのは、やっぱりフォーマットによって、CPUへの負荷がずいぶん違うということなんだろうな。

(附記 2007-12-30)
ビデオはとりあえずいいとして、インターネットラジオも聴けたらいいなとおもい、RealPlayer for Linuxを入れてみた(RedHat用のrpm)。最初はデバイスを開くことができませんと文句を言われたが、yumでalsa-ossを入れたら音が出た(参考ページ)。

それはそれでよかったが、たぶんMPlayerでも、インターネットラジオを聴くことができるんじゃないの?と調べたら、やっぱりそうだった。

mplayer -playlist http://smoothjazz.com/streams/smoothjazz_128.ram

この方法だとalsa-ossもいらないし、コマンドライン好き(笑)の私にぴったり。そんなわけで、alsa-ossとRealPlayerを削除することに。

MPlayer+XO-1+インターネットラジオの音質はどうかについては、オーディオマニアじゃないのでなんともいえないが、ファンやハードディスクがないXO-1だから、夜中に小さな音で聴くにはいいんじゃないかとおもう。

それでも、スピーカーはさすがに貧弱だから、外付けスピーカーは必須かな。

Install Firefox on OLPC XO-1

ずっとXO-1では標準ブラウザを使っていたのだけれど、やっぱりBloggerの画像アップができないのと、ページ内での検索ができないのがつらい(これが一番かな)とかタブが使えないとかBack/Forwardのキーがないとかで、観念してFirefoxを入れることにした。とても遅いという話だったが、まぁ使えないことはない。だいたい標準ブラウザもおなじようなコンポーネントを使っているはずだし。

“yum install firefox”で入らなかったので、firefox.comからtar.gzを落としてきて、/usr/shareの下に展開して、/usr/bin/firefoxにシンボリックリンクを張って、compat-libstdc++-33というのをyumで入れれば、インストール終了。

立ち上がったら、about:configを開けて、どの程度効くのかわからないけど、network-prefetch-nextというのをfalseに設定してみました(/usr/share/hulahop/prefs.jsのマネ)。

あと、検索ウインドウの検索文字列予測もうっとうしいので無効にしました(browser.search.suggest.enabled)。

(附記 2007-12-29)
よくOLPCのWikiを見てみたら、ちょっとファイルをいじれば、yumでFirefoxをインストールできるらしいことがわかった。マニュアルで入れてもたいした手間ではないが、プラグインのディレクトリが標準と違ったりしてやや面倒。まぁシンボリックリンクを張ればいいのけど。

じゃあ、マニュアルで入れたのを消して、yumで入れなおそうかと思ったが、その前に、気になったことがあったので調べてみた。それは、OLPC News Forumのページで、これはスタイルシートにフレームの横幅を950ピクセルでしていて、Firefoxでは、どんなに文字を拡大したところで、フレームは固定されたままなのに、XOの標準ブラウザでは、固定幅のはずのフレームも大きくなっていくということだ。なんで?

XOのモニタは7.5インチと小さいけれど、1200×900ピクセルの表示ができるので、フレームも大きくなってくれたほうがずっとうれしい。実際、Firefoxよりも、標準ブラウザの方が表示が見やすいことが多い。

これまたGoogleしたら、OLPCのSoftware Release Notes

The Xulrunner based brower users the scaling engine from Firefox 1.9. Starting in build 303, this greatly improves browser behavior and font and image sizes more likely to be acceptable.

と書いてある。Firefox 1.9なんてあったっけ?と思ったが、どうもこれはFirefoxのレンダリングエンジンGeckoの 1.9のことで、その新機能のなかのFull page zoomがXO標準ブラウザの読みやすさに大きく貢献しているようだ。

で、そのGecko 1.9はFirefox 3に搭載され、Firefox 3はいまベータ版(ベータ2)が出てるということなので使ってみたら、本当に”Full page zoom”した。すばらしい。

XOの標準ブラウザなんか要は低機能なFirefoxでしょ?と思ってたけど、目立たないところで最新の技術がつかわれてるんだなぁ。

OLPC XO-1 Memo

XO-1をしばらくいじっていて、いろいろと発見があったのだけれど、ほうっておくと忘れそうだし、システムを入れ替えたりしたときに手間取らないように、個人用のメモとしてここにまとめておこうかと思う。

GPSBabel

– インストールは yum install gpsbabel で一発。
– GarminのUSB接続GPSを使うためには、少し設定が必要。つぎのページのFedora 7のところを参照。 Hotplug vs. Garmin USB on Linux
– (補足 2008-01-01) Garminのシリアル接続GPSも、USB-Serialアダプタ(Cables To Go – 26886 – 13in USB To DB9 Male Serial Adapter)を使って接続可能だった。ただ、/dev/ttyUSB0のパーミッションをどうやって自動で変えてやるべきかよくわからず、rootでのみテストしてみました。

TerminalでのCut&Paste

– マウスで選択、左ボタンでCopy、中ボタン(ホイール)でPaste(X-Windowでは普通にそういうものらしいが、知らなかった)。
– 3ボタンマウスのエミュレーションを使えば、標準のタッチパッドでも同じことができるはずだが、なぜかまだうまくできない(今後の宿題)。

Flash

– どうがんばっても、YouTubeのビデオをスムーズに再生できたりはしないみたいだ。
– 標準のFlash再生プラグインはGNU Gnashというものらしいが、やっぱりAdobe純正のFlashプラグインを入れないと見かけがいまいち。
Adobe Flashプラグインの新しいものは遅いという話だ。
– Adobe Flashプラグインを入れると、Flashの再生される領域が2つできてしまう(Gnash用の空の領域が残っている)。以下の2つのファイルを削除すれば解決する。

/usr/share/activities/Web.activity/agent-stylesheet.css
/usr/share/activities/Web.activity/clickToView.xml

これを含めて、Flash関連の情報はここによくまとまっている。

(補足 2008-01-01)Flashムービーのデフォルトをバイナリを編集することによって、HIGHからLOWに変更する方法があるらしい。試してみたが、結局、スムーズな紙芝居状態になるだけで(笑)、それほど感銘を受けなかった。

Write

Writeアクティビティは機能制限のついたAbiwordですが、制限抜きのAbiwordのウィンドウを開く方法はつぎの通りです。MS-Wordのフォーマットでセーブできたりするので、圧倒的に便利。

1. Terminalアクティビティを開く。
2. su
3. cd /usr/share/activities/Write.activity
4. mv keybindings.xml keybindings.xml.orig
5. Writeアクティビティを開く。
6. Ctrl-Nを押すと普通のAbiwordの画面が現れる。

まぁ、わざとCtrl-Nを使えなくしているようなんですが。

Browse

FORM INPUT TYPE=”file”で死んでしまう
次のアップデートで直るらしい(未確認)。これが直らないと、Bloggerで画像を添付することができないので、早く直して欲しいなぁ。Build 653で直っているのを確認。GMailで同じ問題が報告されていたらしい。でも、これが直ってもBloggerで画像添付できないので、少なくともブログに画像を添付するときは、とりあえずFirefoxを使うことにしよう。

Opera

– 日本語入力をしていると固まる(今後の宿題)。

Picasa

Picasa for Linuxは問題なくインストールできて、動作する(遅いけど)。WINEを使っているのにたいしたものだ。
– でも、写真を見るだけだったらPicasa Web Albumをブラウザで見るのが一番手軽だというのが結論。

(附記 2008-01-06)
fehというプログラムを入れれば、XO-1がデジタル写真立てになるよ、とOLPC News Forumで教えてもらって入れてみた。大満足。こういうシンプルなプログラムが欲しかったんだ。


外付けキーボード

– USB接続のキーボードを差せば、とりあえずはちゃんと動く。ThinkPad Travel Keyboardを使ったが、ちゃんとトラックポイントも動いた。残る課題は、

(1) どうせトラックポイントしか使わないから、タッチパッドを無効にしたいなぁ。
(2) いつも左利き設定で使ってるから、ボタンを入れ替えたい。
(3) XOのキーボードの右上の2つのキー(この図の150番と129番のキー)はどうやって打つの?

ちょっと時間をかけてスキャンコードを調べてX-Windowの設定ファイルやxmodmapを使ったりすると解決するのだろうが、まだできていない。

(1)についてはまだわからず。

(2)については、

xmodmap -e “pointer = 3 2 1”

で解決。

(3)は、キーボードスキャンコードの情報があったので見てみたら、150番のキーはXO独自のもので、129番のキーはWindows対応キーボードのアプリケーションキー(Thinkpad Travel Keyboardにはない)と同じ。なんでもっと普通のスキャンコードを生成するようにできなかったの?(例えばScroll LockやPauseとかと同じもの)とおもうが、どうしようもない。私が秘蔵しているプログラム可能なGateway2000 AnyKey Keyboardならなんとかなるか?でもPS/2コネクタの外付けキーボードを使うというのもなぁ。うーん。

(3)についてまた補足(2007-12-31)(だんだん自分でも読みづらくなってきた)。スキャンコードの件はしょうがないが、/usr/share/sugar/shell/view/keyhandler.pyを見てみると、150番のキーはAlt-o、129番のキーはAlt-fを打てばいいらしいことがわかった。他にも見慣れないキーがある。便利そうなものを次にまとめてみた。

‘f’ : ‘frame’,
‘o’ : ‘overlay’,
‘r’ : ‘rotate’,
‘n’ : ‘next_window’,
‘p’ : ‘previous_window’,
‘o’ : ‘open_search’,
‘F9’ : ‘brightness_min’,
‘F10’ : ‘brightness_max’,
‘F11’ : ‘volume_min’,
‘F12’ : ‘volume_max’,

(また補足 2008-01-01)外付けキーボードでも、内蔵キーボードでも、普通の文字(アルファベットとか)のキーはオートリピート(押し続けると文字が入り続ける機能)が使えないようなのですが、外付けの場合、付けたままシステムを立ち上げると、オートリピート不可だけれど、USBポートから抜いて、つなぎ直すと、オートリピート可能になる。100%そうなるのかどうかわからないし、キーボードにもよるのかもしれないが、まぁ便利なので、そうやって使うことにする。