Sugar
OLPC イニシアティブのプロダクトである、Sugar は KDE や GNOME と同じようなデスクトップ環境であり、児童教育向けに作られています。あなたに若い息子、娘、兄弟、姉妹、子犬、宇宙人、未来人、異世界人がいるのであれば、Arch/Sugar プラットフォームを使って Arch Linux の世界を初めて経験させるのも良いかもしれません。その後は放っときましょう。
Sugar はシステムのパーツについて独特な分類 をしています。グラフィカルインターフェイスは Glucose グループを構成します。Glucose はコアシステムであり Sugar をインストールするときは当然必須とされます。実際に環境を使おうと思ったら、アクティビティ (アプリケーションみたいなもの) が必要です。基本的なアクティビティは Fructose に含まれています。そして、Glucose と Fructose の両方で構成された Sucrose が、基本的な Sugar デスクトップ環境として配布されることになります。他のアクティビティは Honey に含まれます。Ribose (基盤のオペレーティングシステム) については Arch で置き換えて下さい。
インストール
- コアシステム (Glucose) をインストールするには、sugar パッケージをインストールしてください。グラフィカルインターフェイスとデスクトップセッションが付いていますが、これだけではあまり役には立ちません。
- sugar-fructose グループには基本的なアクティビティ (Fructose) が含まれています。ウェブブラウザ、テキストエディタ、メディアプレイヤー、ターミナルエミュレータなど。
- sugar-runner パッケージには、他のデスクトップ環境や、コマンドラインから直接 Sugar を起動させることができるようにするヘルパースクリプトが入っています。
AUR から
アクティビティ
アクティビティは AUR に sugar-activity-activity
という名前で揃っています。
イートイ
etoys
は glucose に含まれているため別パッケージになっていますが fructose アクティビティが中に入っています。AUR の etoysAUR でインストールすることが可能です。
アクティビティライブラリから
Sugar Activity Library には多くの Activity Bundles があり ".xo" 拡張子が付いた zip ファイルでパッケージ化されています。これらのバンドルをダウンロードして Sugar のユーザーディレクトリにインストールすることができます。ただし、インストールしても依存関係が解決されるわけではないので注意してください。依存パッケージが足りなくて起動に失敗することがあるので、この方法でアクティビティをインストールするのはあまり推奨されません。よく使われる依存パッケージ:
- ウェブアクティビティの場合、公式リポジトリから webkit2gtk をインストールしてください。
- GTK+ 2 ベースのアクティビティの場合、AUR から sugar-toolkitAUR をインストールしてください。
なぜアクティビティが起動しないのか確認したいときは、~/.sugar/default/logs/[app_id]-1.log
にあるログファイルを見ましょう。
Sugar の起動
Sugar はディスプレイマネージャを使ってグラフィカルに起動することも、コンソールから手動で起動することも出来ます。
グラフィカル
ディスプレイマネージャのセッションメニューから Sugar セッションを選択してください。
手動
sugar-runner をインストールしたら、sugar-runner
コマンドで Sugar を起動できます。
もしくは ~/.xinitrc
ファイルに exec sugar
を追加する方法もあります。追加したら、startx
コマンドで Sugar を起動できます (詳しくは xinitrc を見て下さい)。~/.xinitrc
ファイルを設定した後、ログイン時に X を起動するように設定することもできます。
パッケージング
ほとんど全てのアクティビティは同一の方法でビルドを行います。setup.py
が sugar に付属している関数を呼び出します。以下は典型的な PKGBUILD
です:
PKGBUILD
# Contributor: Name <name@mail.com> pkgname=sugar-activity-calculate _realname=Calculate pkgver=30 pkgrel=1 pkgdesc="A calculator for Sugar." arch=('i686' 'x86_64') url="https://www.sugarlabs.org/" license=('GPL') depends=('sugar-toolkit-gtk3') source=(https://download.sugarlabs.org/sources/sucrose/fructose/${_realname}/${_realname}-$pkgver.tar.bz2) md5sums=('011bd911516f27d05194320164c7dcd7') package() { cd "$srcdir/${_realname}-$pkgver" ./setup.py install --prefix="$pkgdir/usr" } # vim:set ts=2 sw=2 et:
ノート
- Activity building procedure is not made for packaging and using
--prefix
can be dangerous if the application uses this path internally. I think the correct way to do this would be to patch the installation procedure insugar
so it accepts an argument such as--destdir=
.
- AUR に Sugar のアクティビティパッケージを投稿するときは
sugar-activity-
を前に付けることを提案します。