前回書いたような理由でInspiron Mini 12にUbuntu Mobile Edition(UME)を入れようと決心したのだが、ここでひとつ難関が待ち受けていた。というのは、UMEはインストールCDのisoイメージとしてではなく、ディスクイメージとして提供されている。このディスクイメージをUSBメモリに焼いてそこから起動すると、HD全体を初期化してそこにどっとUMEをインストールする。Jaunty 9.04を諦めてUMEに乗り換えるのだからそれでもいいようなものだけれど、前回はこれでかなりひどいことになった。というのは、UMEにはカスタマイズする上で固有の難しさがあり、試行錯誤で起動しなくなることが十分に予想される。そんなときにその度に全部を再インストールで一からやり直しというのでは、気が遠くなるほど時間がかかりそうだ。そして、旧データの移行の問題がある。どのタイミングで移行すればいいのか、それを誤ると、データの喪失につながりかねない。
ひとつ考えられる方法は、まずUMEをインストールし、次に別のバージョンをインストールしてデュアルブートにすることだ。そうすれば、UMEが起動しなくなっても、別パーティションから起動してトラブルを除去することができる。ところが、この方法でデュアルブートがうまくいかないことは、前回に経験済だ。いまにして思えばGrubの設定を書き換えればきっとうまくいったのだろうけれど、それは後知恵で言えること。もっとうまい方法がないかと考えた。
ディスクイメージは、展開可能なはずである。ただ、私がちょっと調べたくらいではその一般的な方法はわからなかった。唯一私でもできる展開方法は、Image WriterでUSBディスクに焼くことだ。そこでUSBディスクに焼いてみた。この中身をそのまま別パーティションにコピーすればそこから起動できるのではないかと思ったわけだ。
ところが、そうは問屋が下ろさない。USBディスク内にはいくつかファイルが展開されているが、その主要な部分はbootfs.imgとrootfs.imgという2つのイメージファイルである。またもイメージファイルなので、当然のように、これを別パーティションにコピーしたところで起動するわけはない。その他のファイル、例えばSyslinux.cfgやinstall.shなんかもコピーして適当に書き換えてやれば起動はするかもしれないが、そこから例の強制インストールが始まったのでは意味がない。おそらくインストールされるファイルはこの2つのイメージファイル内に圧縮されているのだろうから、これを展開しないことには話になるまい。
バカの一つ覚えかもしれないが、イメージファイルを展開するにはImage Writerを使ってUSBに焼けばいい。そこで今度はrootfs.imgを対象にUSBに焼けば、ようやくそれっぽいファイルシステムがUSBディスク上に現れた。これなら内蔵HDの別パーティションにコピーすれば起動するかもしれない。
ところが、単純にドラッグ&ドロップでコピーしようとしてもダメ。パーミッションのエラーが出る。そこで、管理者権限で無理やりコピーするとやっぱりコピーしきれないファイルがあるけれど、大部分はコピーできた。これを既存のファイルシステムと見比べると、bootディレクトリがない。ははんと納得して、今度はもう一つ残ったbootfs.imgをUSBメモリに展開。これをコピーすると、見掛け上は有効なファイルシステムができた。
これで起動するかと思って、Grubの設定を例のKgrubeditorで適当に改めて起動してやるが、途中でエラー。エラーメッセージを見ると、何かファイルが見つからないらしい。しかし、そのファイルは存在する。ファイルがあるのにみつからないというのは、パーミッションの問題だろう。実際、パーミッションが(先に管理者権限で無理やりコピーした関係で)おかしくなっている。一つや二つのファイルなら手動で変更できるけれど、膨大なファイルのパーミッションを一気に変更しようなどというのは、コマンドでも使わなければ現実的ではないだろう(そして私はコマンドアレルギー)。
では、どうするか。過去の記憶を掘り出してみる。昔、まだ私がMac使いだったとき、ハードディスクのバックアップにRsyncを使っていた。これは優秀なソフトで、パーミッションを保存したまま完全なバックアップができる。だから起動ディスクのまるごとバックアップというのもできて、これを利用して複数の起動ディスクを利用したりもしていた。このRsyncはもともとLinux(というか、たぶんUnix)が本家で、実際、Ubuntuにもデフォルトで入っている。ただ、Mac版は使いやすいGUIがついていたのに、Ubuntuデフォルトは端末からの利用が基本。やたらとオプションの多い高機能なプログラムで、それだけに素人としては使用を躊躇してきた。だが、これでいくしかあるまい。
となると、まずはGUIだ。Synapticパッケージマネージャで探すと、Grsyncというのがある。これをインストールすると、ほとんどMac版のGUIと同じものが現れた。これで(パーミッション保存のオプションに全てチェックを入れて)USBディスクから起動中のmini 12内蔵ディスクの空きパーティションにディスクイメージの内容をコピー。おもしろいのは、USB側には数百Mbしかないのに、コピー先は2G近くにも膨れ上がること。うまい具合に圧縮されているらしい。USBディスクが1つしかないので、2回に分けてrootfsとbootfsをコピー。
ともかくも、これで別パーティションに完全なUMEのシステムがインストールされた。Grubのmenu.lstを書き換えて再起動すると、見覚えのあるモバイル用GUIが立ち上がった。書けば簡単なことだが、ここまでくるだけでも相当の時間を消費した。手順さえわかってしまえば、1時間もかからないだろうけれど。
さて、このUMEを使えるようにしなければならない。前回はなぜかシステムが非常に遅くなってしまったので使用を断念した。その理由を私はユーザーアカウントUMEを削除したせいだと推測したのだが、どうやらそうではなかったらしい。これが判明するまでの顛末を書いてもいいのだが、あまりに冗長なので省く。結論としては、UME以外のリポジトリを導入してlpia版に対応しないプログラムをインストールしたせいではないかというのが、新たな推測だ。あたりまえといえばあたりまえなのだが、リポジトリの追加は慎重に行うべきようだ。とりあえずは、追加リポジトリからインストールするプログラムは復元可能な程度にすべきであり、くれぐれも追加リポジトリを適用してアップデートを一気に行うような大規模な作業は避けたほうがいい。というのは、lpia対応のパッケージがまだまだ限られているようだから。以前は依存関係の不具合でインストールできないパッケージを無理にインストールするため、既存のプログラムのバージョン変更のようなことを思い切ってやった。それでうまくいったように見えていたのが、だんだんと無理が祟ってシステムの動作がおかしくなった、というのが前回の失敗の原因だと、いまのだんかいでは判断している。
ということで、モバイル仕様のUMEを通常のデスクトップ仕様に変更する作業を始めるに当たって、いやが上にも慎重にならざるを得なかった。まず、デスクトップ環境の変更である。
デスクトップ環境は、デフォルトではhildonというのが入っている。これを削除しないことには話が始まらない。というのは、デフォルトでこれにログインする設定が仕込まれているらしく、ログイン先のデスクトップ環境を選択するgdmの画面に入ることができないからだ。だが、慌てて削除すると、コントロール不能になる(はい、なりました)。まずは他のデスクトップ環境をインストールしてから、おもむろに削除するのが正しい方法。
ここでお馴染みのGnome環境を入れたいのだが、これが依存関係の制約でインストールできなくなっている(前回は無理やりインストールして失敗した)。だから、Xfce4を選択。これは、非力なAtom環境にちょうどいいともいえる。日本語環境も欲しいので、言語パッケージをいくつかとIM-SwitchやSCIMなどもチェック。あとはお決まりのFirefoxとThunderbirdにOpenOffice。
これらをインストールしてから、hildonその他のUME環境を削除する。どのパッケージを削除したかはいちいち記録していないが、Synapticパッケージマネージャ上で、UME、mobile等のキーワードで検索して出てきたインストール済みファイルから関係のなさそうなものをゴソッと削除。そして再起動すると、(うまくいけばだが──私の場合は何度目かの試行錯誤の末に)お馴染みのXfceデスクトップ環境でUMEが走り出す。けっこう快調。
さて、ここで問題がいくつか残る。いや、いっぱい残っているのだけれど、マイナーなもの(Xfceの環境設定まわりだとか)はさておいて、大きなものとして次の5つ。
- Userがデフォルトのume。私はUmeさんではない。パスワードも設定されていないし、セキュリティ上問題だろう。
- スリープがうまくいかない。サスペンドもハイバネートも復帰できない。
- Anthyがうまく起動しない。mousepadの入力時に右クリックで選択する方法しか、当初は対応できなかった。
- タッチパッドの設定ができない。タッピングは誤作動が多いので私は願い下げなのだが、これがオフにならない。
- Firefoxの設定をJauntyから引き継げない。これはflashの問題と後に判明。つまり、flashplugin-nonfreがインストールできない。
これをひとつひとつ潰すのに、実に時間がかかった。
まずその前に、いまとなってはマイナーだけれど、ややこしい操作として、fstabの書き換えがあった。これをしないと旧システムが乗っているパーティションがマウントできないので、ファイルを使えない。それから、Swapが(強制的にディスクイメージをインストールする関係で)Sda3に固定されているのを正しい場所に指定しなおさねばならなかった。この過程でgpartedをインストール(パーティション確認用)。
さて、まずはユーザーの問題。以前はユーザーumeを削除したことからトラブルが始まったので少々怖かったのだが、結論からいえばumeは削除しても大丈夫。ただし、まずはgdmをインストールしておかないとログインできなくなる。それに、ume削除後は、gdmに入る前にやっぱりumeを読み込みにいって空振りするという儀式をやってくれるようになるので、起動時間がたぶん10秒ぐらい余分にかかるようになる。これはけっこう嫌な問題なのだが、どうしてもこのログインスクリプトを消すことができなかった。その他にもume関係のスクリプトがいくつかあるようで、空振りのせいで無駄な動きが出るような気がしているが、これはいまのところどうしようもない。usr/binやusr/share/autostartあたりにmobile関係のプログラムがあるようなので削除してみたが、改善はなかった(と同時に不具合も出なかったからまあ不要パッケージではあったのだろう)。ということで、この問題は半分だけ解決。現在は別ユーザーで使用している。もちろんパスワードも設定済み
次に、 スリープとサスペンドの問題だが、これはいろいろ苦闘した挙句、grubの起動オプションの問題だということがわかった。つまり、ハイバネートでは一時イメージをスワップ領域に保存することになるが、復帰時にこれを見つけられない。ところがgrubの起動オプションにresume=/dev/sda*のようにswapの場所を指示してやると、そこから復帰ができるようになる。ハイバネートでこれが有効なのはわかるが、こうすることでなぜかサスペンドも有効になった。ただし、こうしてやってから、ブート時にエラーが出たことがある。再現性がわからないので何ともいえないのだが、念のためにこのオプションもつけないメニューもgrubのmenu.lstに加えておいた。これに関しては暫定解決といったところ。
Anthyの起動は、何のことはないキーボードの設定の問題だった。本来キーボード設定はインストール時に行われるのだが、ディスクイメージからコピーしただけのシステムだから、そういう手順はなく、デフォルトのUSのPC105キーボードになっていた。もちろんXfceのキーボード設定でこれは変更していたのだが、もっと深いレベルで変更しなければならなかった。これは/etc/X11にあるXorg.confの設定変更であり、簡単には端末開いて sudo dpkg-reconfigure xserver-xorgと入力すれば、端末上のGUIで設定ができる。これで正しいキーバインドになり、Scimで設定したショートカットで(というかデフォルトの「半角/全角」キーで)、Anthyが起動できるようになった。
タッチパッドの設定に関しては、いろんなレベルでいろんな設定方法があるようで、私には未だに理解できない。Ubuntu8.04以降ではGnomeのマウスの設定に統合されているはずなのだが、UMEではそうはなっていない(いちおうGnome-control-centerをインストールすればGnomeの設定パネルを一部ではあるけれど利用できる。ちなみに前回失敗した時にはGnome環境を作ったので、これは有効だった。要は追加すべきプログラムが見つからないか、あるいはlpia環境では無効になっているのだろう)。tpconfigの設定かXorg.confの設定でうまくいくはずなのだが、ダメ。このブログの古い記録を見たらgsynapticのインストールで解決しているのだが、これはリポジトリになし。
次の問題であるAdobeのflashは、リポジトリには入っているのだけれど、「インストールされません」というメッセージしか出てこない。やっぱりUMEのリポジトリは、通常版に比べてだいぶと少ないようだ。そこで、思い切ってリポジトリを追加してみる。lpia対応のリポジトリは、以前書いたDell専用のCanonicalのリポジトリの他、PPAのリポジトリも利用可能。その他にもあるのかもしれないが、私の見つけられたのはこの2ヶ所。とりあえず、Dellの方でhardy-netbook-remixのリポジトリを追加してやるとgsynapticもflashの新しいバージョンもインストールができた。インストール後は、直ちにリポジトリのチェックを外して再読み込み。他所のリポジトリで安易なアップデートは行わない方が安全なようだ。メインマシンとして使うつもりなら、大事にしなくては。
ということで、大きな問題はほぼ解決した。暫定的な部分もあるので、今後さらに別の方法に落ち着くかもしれないが、とりあえずこれで不具合なく使えるようになった。
9.04にアップグレードしてのさまざまな改善が使えないのは残念だけれど、やっぱりlpia環境は快適だ。何よりも、あの意味不明な「引っかかり」やフリーズが起こらない。「これは旧マシンのCeleronよりも相当に遅いぞ」と思ったAtomも、案外とそうでもない。体感的には現状、ほぼ変わらない印象にまでなっている。ベンチとか計っていないので何ともいえないけれど、少なくとも起動時間は数十秒のレベルで早くなっているようだ。
さて、10日近く滞った仕事を片付けなければ。大変だ!