えー、前回のエントリから超ロングパスになってしまいましたが番長のひとりteppeiでございます。最初は前回エントリに続いてJoliOS(Jolicloud OS、間が空きすぎてOS名称まで変わってるし…)を深く追求するつもりでしたが、なにせインストールするだけ番長なのでなんだかモチベーションが薄れてしまいました。というわけで。
Chromium OS をお試し
Chrome OSとは、Googleが開発中のPC/Netbook用OSで、「Chrome Webブラウザを走らせる」ことに特化したOSである、ということが唯一最大の特徴です。その意味ではとかく比較されやすいAndroidとは目的も中身も全く別物です。またそのコア部分にはLinux Kernelが使用されていますので、「Linuxディストリビューションの一種」とも言えます。まもなくChrome OSを搭載したノートPCがACERとSAMSUNGから発売されることもあり(私的には)注目が高まっています。
現在、Chrome OSの安定版バージョン的なリリースはまだ無いため、今回は、オープンソースの開発版バージョン(Chromeブラウザに対するChromiumブラウザみたいなの)である「Chromium OS」をインストロールしてみましょう!
さっそく手抜き
Chromium OSは、現在のところバイナリインストーラのような親切なものは公式には用意されておらず、開発者むけマニュアルを見ながら自前でソースコードを入手・ビルドする必要がありますが、今回は時間の都合上、料理番組のお約束的な感じで、毎日の最新のソースコードからビルドしたバイナリイメージを提供してくださっているサイトから、ビルド済みバイナリイメージをDLして使用させていただきます(※現在、最新リビジョンのリポジトリからビルドしたバイナリにはネットワーク接続ができない問題があるようですので、今回は2011/4/30ビルドのバイナリを利用しました)。ソースコードからビルドするのは必要な環境を用意するだけでも多少手間がかかりますが、ビルド済みイメージを使用するのであれば、上記のサイトから、USBイメージもしくはVMイメージ(VMware/VirtualBox)をダウンロードして、適宜実機またはVMのディスクに割り当てて起動するだけの超簡単なお仕事です。というわけでさくさく起動してさくさく使ってみました。
左:「8秒で起動」の謳い文句に違わず、少々プアなVM上でも10秒程度で起動します。ログインには、既存のgoogleアカウントを使用することができます。中:ログイン後は潔くChromeがフルスクリーンで起動し、他にはなんにもなし!初回ログイン直後は「Webストア」アイコンしかありません。右:Webストア。普通のPC上のChromeWebストアと変わりません。インストールできるのは大きく分けると「Webアプリ」「(Chrome)エクステンション」「(Chrome)テーマ」の3種類。
左:Webアプリをインストールするとホーム画面にアイコンが登録されます。中:「Google Maps」アプリ。要はGoogle MapsのWebページですが… 右:他にもいくつかアプリを入れ、テーマを変更してみました。
左:プロセスリスト。やっとOSの紹介らしくなりました。Zygoteって、AndroidのJavaVM(Dalvik)関係のプロセスだった気がするけど、ChromeOSではどのように使用されているんでしょうかね? 中:全てをChromeブラウザ内で完結する設計ですので、OSに関わる設定(ネットワークやデバイス等)もChromeブラウザの設定パネル内にあります。右:言語設定。日本語表示/入力にも対応済みです。
左:ロケールを日本語に切り替えてみました。中:日本語入力設定もかなり充実しています。「Google IME」が使用されているので当然ですね。変換精度も私の感覚ではまったく問題ないです。右:入力モード表示部。Chrome OSを使っていて、PC上で使用している時と唯一明らかに違うのは、画面右上部に、ウインドウを閉じるボタン等の代わりにこんなのが出ているところです。
OS内部をちょっとだけのぞく
ここまでは、Chrome OSの紹介と言ってもほとんどChromeブラウザと変わりがありませんので、ちっとも面白くありませんね。最後に、少しだけOS内部をのぞいてみましょう。
左:ChromeOS上で、「Ctrl+Alt+T」を入力すると、コンソール画面が出てきます。いくつか特殊なコマンドを発行できます。この画面で「shell」と入力すると… 中:見慣れたbashシェルが使用できます!カーネルバージョンがわかりました。右:psコマンド結果。いくつか見慣れないプロセスがありますね。
このbashシェル上では、「chronos」というログインアカウントでログインした扱いとなっています。そこでちょっとしらべますと…
ハイrootになりました!これでいろいろ好きにいじれますね。rootになったあとファイルやディレクトリ構成を見てみますと、とりあえず起動スクリプト制御にはUbuntuのUpstartシステムが、パッケージ管理にはGetntoo LinuxのPortageシステムがベースとなっていることがわかります。試しにOpenSSHサーバを起動。
localhost ~ # initctl start openssh-server openssh-server start/running, process 4613
ホストPCからターミナルエミュレータでSSH接続し、emergeコマンドのヘルプを閲覧。
chronos@localhost $ emerge --help emerge: the other white meat (command-line interface to the Portage system) Usage: emerge [ options ] [ action ] [ ebuild | tbz2 | file | @set | atom ] [ ... ] emerge [ options ] [ action ] < system | world > emerge < --sync | --metadata | --info > emerge --resume [ --pretend | --ask | --skipfirst ] emerge --help [ --verbose ] Options: -[abBcCdDefgGhjkKlnNoOpPqrsStuvV] [ --color < y | n > ] [ --columns ] [ --complete-graph ] [ --deep ] [ --jobs JOBS ] [ --keep-going ] [ --load-average LOAD ] [ --newuse ] [ --noconfmem ] [ --nospinner ] [ --oneshot ] [ --onlydeps ] [ --reinstall changed-use ] [ --with-bdeps < y | n > ] Actions: [ --depclean | --list-sets | --search | --sync | --version ] For more help try 'emerge --help --verbose' or consult the man page.
というわけで今回はここまでです。次回は、root権限でゴニョゴニョ、自前ビルド、そのへんに転がってる実機にインストール、あたりをトライしたいと思います。