RaspberryPi+aitendoの液晶ディスプレイでSugarを動かす


2015-11-15 追記: [Raspberry Pi 7" Touch Screen LCD](http://jp.rs-online.com/web/p/graphics-display-development-kits/8997466/) を買え、以上。



↓↓↓↓以下追憶↓↓↓↓

<a href="http://www.flickr.com/photos/27528947@N07/11741062366/" title="image by nohara.shiro, on Flickr"><img src="http://farm4.staticflickr.com/3734/11741062366_75fc5c9392_z.jpg" width="640" height="480" alt="image"></a>

LeafPi Projectのタスクのひとつ。

# まえがき

## Sugarとは

正式名称は Sugar Learning Platform 。
OLPC XO のOSとして開発されている。

Sugarの登場はiPhoneより古い。[2006年には最初のリリースが行われていた](http://en.wikipedia.org/wiki/Sugar_%28interface%29)。

SugarのGUIのデザインは非常に平面的だ。WindowsPhoneの登場以降、平面的なUIが流行しているが、Sugarは登場以来ずっとこのようなUIだった。
良いUIを設計する際に留意すべき点をまとめた[ニールセンの10原則](http://d.hatena.ne.jp/sakuramateo/20071224/1198463599)というものがあるが、そこではこう述べられている。
「最小限で美しいデザインを施す」
平面的なGUIというのは、GUIをデザインする際にこの原則に忠実に従った結果に過ぎない。影やグラデーションをつけるのはコストなので、明確な理由がない限りはそのようなものは付けない。（流行っているから、などは明確な理由とは呼べない）
OLPCのチームは、文化も生活水準も全く異なる遠くの国のこどもたちのために、先進国で普及しているなにかの真似ではなく、限られたリソースで動くGUIを完全にゼロからデザインした結果が、この平面的なGUIだったのだろう。


## なぜSugarなのか

Sugarは情報を消費する際の使い勝手に重点をおいた（ある意味割り切ったことによって成り立っている）携帯電話やタブレットのOSとは異なり、小さな画面と低速なCPUしか持ち合わせていないコンピュータをワークステーションのように使えることを目標としている。

LeafPi Projectの目標は、outbound laptopのような、古典的なポインティングデバイスとキーボードで操作する、ミニマルでまあまあ使えるポータブルコンピュータをデザインすることなので、タッチ操作を前提としたAndroidでも、最近の大画面を想定したKDEやGnomeでもなく、Sugarが適していると考えた。

今回はRaspberryPiで動かすので、Pidora上にインストールしてみる。


## 液晶ディスプレイについて

aitendoから発売されていた、東芝製の7インチ液晶+HDMI基板のセット。
1024x600のレゾリューションで、HDMIで入力できる。
基板のほうはもうディスコンになってしまったけど、液晶モジュールはまだ売っている。

[液晶パネル（Toshiba,7.0"）[LTM07C382J]](http://www.aitendo.com/product/1991)

HDMI基板のほうは商品ページすら残っていないようである。


# 手順

事前準備はMacBook Proで行った。

## SDにPidoraを書き込む

http://pidora.ca/ からPidoraをダウンロード。
展開して、ddでSDに書き込む。

```bash
sudo dd if=./pidora-18-r2c.img of=/dev/disk1 bs=1024k
```


## ディスプレイのレゾリューションを設定

SDのルートディレクトリにある config.txt を編集する。
設定値は[Raspberry Pi用 7inch液晶モニタの作成](http://yuki-lab.jp/hw/rasp-monitor/)の最後に書いてある値そのままでいけた。

```config.txt
# 既になんらかの設定がされている場合はコメントアウトする
hdmi_cvt=1024 600 60 3 0 0 0
hdmi_group=2
hdmi_mode=87
hdmi_ignore_edid=0xa5000080
```

ここまでがMac上での作業で、以降はPidora上での作業になる。


## Pidoraの初期設定

SDをRPiにいれて起動すると、初期セットアップがはじまる。
てきとうに進める。
初期セットアップが終わると、 config.txt の内容が上書きされてしまうようなので、シャットダウン後にもういちど config.txt を編集する。
Pidoraを起動させた状態で編集する場合は、

/boot/config.txt

をvimなどで開く。


## パッケージのアップデート

RaspbianのaptとPidoraのyumだとyumのほうがはるかに遅いが気長に待つ。

```bash
sudo yum clean all
sudo yum check-update
sudo yum update
```


## Sugarのインストール

```bash
sudo yum install sugar.noarch  # Sugar本体
sudo yum install sugar-terminal.noarch  # Sugar用のターミナルエミュレータ, とりあえずこれさえあればSugar環境で作業できる
sudo yum install sugar-cp-all.noarch  # Sugarのコントロールパネル
sudo yum install sugar-browse.noarch  # ブラウザ. いれてみたけど起動中にクラッシュするので使えない
```

インストール後、いったんログアウトして、gdmからSugarを選択してログインすればSugar環境で起動する。
この状態だとまだあまりなにもできないけど、2006年にデザインされたとは思えない洗練されたGUIや、OSに組み込まれたSNS（のようなもの）"Neighborhood"機能で遊べる。
Terminalもふつうに使いやすい、Browseが動かないのが痛い。


## マウスポインタを変更する

Sugarをインストールしただけの状態では、マウスポインタがFedoraのデフォルトのテーマになっていて、Sugarのでかくてかわいい感じのマウスポインタにならない。

/usr/share/icons/default/index.theme を以下のように編集する。

```/usr/share/icons/default/index.theme
[Icon Theme]
Inherits=sugar
```

Xを再起動すると、Sugarのマウスポインタになる。


## Browseがクラッシュする問題

調査中...


## 日本語化

comming soon…