目次
10-23 古くて非力なマシンをLinuxBeanで再生してみた
10-23 マイケル・クライトン 誕生日(1942)
長男がScratchを楽しむようになってきたので、パソコンを与えようと思った。
今は親のノートパソコンを使っている。
このノートはメインマシンではないので貸しても大丈夫な一方、子供が遊びたいときでも親が使っていたら使えない。
幸い、家には古いノートパソコンがいくつかある。非力だけど。WinXP だけど。
これを与えようかな、と思ったのだけど、サポート切れの WinXP を使わせるのも危険なので、何とかして再生したいと考えた。
古くて余っているマシンは、NEC のLavie。型番でいうと LJ700/EE。
CPUがPentiumM で、1.2G 駆動。
メモリは 512M 。
購入時から性能低めだった。いわゆるネットブックだと思っていい。
でも、決して性能の悪い安物ではなく、「軽くて長時間使えるノートパソコン」を実現するためにわざと低い性能にしているのだ。
購入当時はまだ長男も生まれたばかり。妻が子供が寝たすきに、そばを離れないで少しパソコンできるように…
と、軽くて取り回しの良いマシンを買ったのだった。
でも、子供が寝たらメインマシン使ったほうが良かったし、子供が起きていたらパソコンなんてできない。
そんなわけで、あまり使わないままに古くなり、使われなくなった。
えーと、紆余曲折あるけど長いので詳しくは書かない。
上記マシンは、USB メモリでのブートができない。
USB CD / FD 起動は可能。でも、使おうとしたら我が家の USB DVD は調子が悪くなっており、使えなかった。
まず、Chromium OS を入れてみようとしたのだけど、PentiumM では動かなかった。
PAE 機能がないと動かない、らしい。
PentiumM には PAE が「ある」のだけど、CPU に機能を問い合わせた際に「ない」と答える。
i486SX みたいに、回路的には作りこまれているのだけど、販売戦略的にないことにして安くしたのだね。
オープンソースなので、PentiumM で動くように改造したバイナリを配布している人もいるが、子供に使わせるマシンにややこしいことはしない、という方針なのであきらめた。
Chromium OS を試しに動かしたり、インストールするには、USB メモリからの起動が必要だ。
USB メモリ起動できないマシンでは、Plop Boot Managerが役立つ。
FD から起動して、内臓 HDD の MBR に書き込んでしまえ。
次回起動で MBR から起動したソフトが、USB メモリからのブートに対応してくれる。
Chromium OS をあきらめ、軽量 Linux を使うことにした。
軽量 Linux は多いが、2つの方向性がある。
一つは、小さなメディアに入るように調整したもの。CD 1枚にすべての環境が入っていて、そのままブートして使えたりする。
興味があるけど普段使いのマシンの HDD にインストールするのは怖い、という人向け。
もう一つは、非力なマシンで動くように調整したもの。
小さなメモリ、遅い CPU で満足いく動作をするように調整してある。
古いマシンを捨てずに活用したい、という人向け。
今回求めているのは、後者だ。
いろいろ調べ、Linux Bean を使うことにした。
Ubuntu をベースにしている。日本人の作で、古いマシンにインストールして日本語で使うことを想定している。
主にクライアント用途として使うように考えられていて、サーバー類は基本的に入らない。
つまり、バックグラウンドで動くものが少なく、動作が軽い。
独自ディストリビューションではあるが、Ubuntu のパッケージインストーラがそのまま使える。
なので、「非力マシン向け」ではあるが、覚悟さえあれば非常に重いソフトでも入れることができる。
Linux Bean はさらに2種類(現状で)あり、Ubuntu の 12 ベースと 14 ベースになっている。
12 ベースは、Pentium 以前の古い CPU と、小さなメモリでも動く。真に非力マシン向け。
14 ベースは、PAE 必須。「なし」と答える PentiumM でも構わない。メモリも 12 より必要。
今後も 2019 年までサポートされる。(12 は 2017年まで)
4G より多いメモリを積んでいる機種では、こちらを使わないとメモリを全部使うことができない。
「古い機種」といっても様々だから、1G のメモリと、1.4GHz 程度の CPU があれば 14 ベースが良いのではないかと思う。
今回は、本当に非力なマシンなので、12 ベースのほうを選んだ。
LinuxBean は、インストール CD を焼いて、そこから起動して使い勝手を確認してから、使おうと思ったら内蔵 HDD にインストールする、という形になっている。
先に書いたが、家の USB DVD ドライブが壊れていたようだ。使えない。
そこで、UNetbootinを使った。CD イメージを USB メモリに入れて USB メモリブートすると、最初にブートしたソフトが CDドライブをエミュレートし、CD イメージから起動してくれる、というソフト。
先に書いたが、入れようとしているマシンは USB メモリブートができず、HDD の MBR に入れたソフトで USB メモリブートを実現している。
つまり、起動すると BIOS が HDD の MBR を読み込んでブートローダを起動するが、この際 MBR に仕込んだソフトが BIOS をエミュレートして USB メモリからのブートを行い、USB メモリに仕込んだ CD エミュレータが動き出し、CD エミュレータが CD イメージからのブートを行う…
という、奇怪至極な方法で起動した。
試しに使った LinuxBean は少し動作に疑問の残るものだったが、タッチパッドも動くしWiFiも接続できる。
調整はどうにかなるだろう、と考えて、HDD にインストール。
Windows を残したままインストールできる設定だったので、残しておいた。使うつもりはあまりないのだけど。
さて、HDD から起動できたら、ざっと設定する。
我が家の Lavie に特化した話を書いてもあまり役立たないだろうから、一般的な話から。
WiFi 接続は標準状態で可能になっている。というより、最初は何の設定もなくてネット接続できないはずだが、接続がないと「設定してくれ」と設定ツールが起動する仕組みになっている。
初心者でもわかりやすいだろう。
ネットに接続できたら、デスクトップに置いてある「LinuxBean 設定ウィザード」を起動するといい。
ここで、自分の欲しいソフトや環境をチェックしてから OK ボタンを押すと、環境を勝手に整えてくれる。
これが非常に便利。Linux の不便さ・不親切さをこれほど見事に解消しているのをはじめて見た。
Linux って、ソフトが非常に多いから、「やりたいこと」から「ソフト名」を自力で調べ、そのソフトのパッケージを探し出してインストール、というのが普通の流れなのだけど、初心者にはハードルが高すぎる。
設定ウィザードを使うと、やりたい事別に、必要なソフトを「セット」でまとめて入れてくれる。
ノートパソコンを使うなら、「モバイルセット」を入れたほうがいい。
それでないと、蓋を閉じたときにサスペンドをする、という一見当たり前のこともできない。
子供に使わせるのに Chrome が欲しいので、Google Chrome も入れる。
各パッケージには、参考としてシステムに対する負荷が書かれている。
Chrome は「強」だけど、使いたいので何を言われてもひるまずに入れる。
#標準では Opera が入っている。メモリはあまり食わないが、速度は遅いし今時主流ではないのでネットを見ていると不具合に遭遇することもしばしば。
Scratch は Flash で作られているので、Flash も必要だろう…と入れたら、Chrome が Flash を内蔵していた。
(Windows 版では内蔵しているのを知っていたが、わざわざ Flash があるのだから、Linux 版は違うのかと思った)
NAS とファイル共有したかったので、Windows ファイル共有のセットを入れた。
しかし、これは Samba サーバーだった。NAS にアクセスするだけなら標準環境でできたので不要。
こうした不要なものを入れてしまった場合は、再度設定ウィザードを起動して、チェックを外せばアンインストールされる。
これも簡単で便利。不要だったら消せる、というのは、気軽にいろいろ試してみる気になる。
設定ウィザードとは別に、Ubuntu としてのアップデートもできるようになっているので、アップデートしておいたほうが良いだろう。
さて、いいことづくめではない。
LinuxBean は、標準の Ubuntu の重い部分を取り去ったものだけど、その「重さ」には、ユーザーが便利に使えるように、という細やかな心配りも含まれている。
標準 Ubuntu では、タッチパッドの動作を細かくカスタマイズできる。
でも、LinuxBean では、カスタマイズのためのソフトがない。自分で設定ファイルを書かなくてはならない。
標準動作では、タッチパッドを「タップ」すると、クリックと同じ扱いになっていたのね。
これが誤認識してイライラさせる。この動作を失くしたい。
マウスやキーボードは X11 が扱っているので、その設定ファイルを直接書けばよい。
Ubuntu では、X11 の実装として Xorg86 を使っているのだけど、設定ファイルの位置は変えられている。
/usr/share/X11/xorg.conf.d/50-synaptics.conf
が、標準のドライバ用の設定ファイルだ。
(動作が納得いかないとしても、動作している場合ね。動作していないのなら、標準ドライバでは認識できない機種なのだろうから、このファイルに何を書こうとも動かない)
タップしてもクリック扱いにならないように、というのは、このファイルの中に
Option "TapButton1" "0"
と書けばいい。
現在の設定は
synclient -l
で見られるし、
synclient TapButton1=0
で、設定ファイルに書くのと同じ内容を設定できる。
ちなみに、設定の中には「2本指でタップした場合」なんてのもあるけど、そもそも2本指検知に対応していないといけない。
対応しているかどうかを調べるのは xinput というコマンドを使えばよい。
設定項目は非常に多くて深淵だし、設定ファイルの書式なども知らないといけないのだけど、全部説明すると長いので書かない。
キーワードは十分に示したので、知りたい人は自分で調べよう。
設定が納得いってきたので、子供用のアカウントを作る。
管理者権限のない、一般アカウントにしておく。
このアカウントで自動ログインするようにしておこう。
…とおもったら、自動ログインの設定はシステム全体に影響を及ぼすので、管理アカウントでないと設定できないようだ。
また設定ファイルを書き換えなくてはならない。
まずは、管理者アカウントで、左下のボタン(Windows XP での「スタート」に当たる)を押して、「設定」から「ログイン画面の設定」を選んでみよう。
これで、管理者アカウントでは自動ログインするようになる。
次に、以下のファイルを書き換える。
/etc/lxdm/default.conf
autologin 、というキーワードの入った行があるはずだ。後ろに、先ほど自動ログイン設定したアカウント名が入っている。
(コメント行にサンプル設定もあるので間違えないように)
そこのアカウント部分を書き換えてしまえば良い。
これで自動ログインが可能になる。
自動ログイン以前に、そもそも起動時に「どの設定で起動するか」を聞いてくる画面がある。
これも、子供に使わせるには間違いの元だから消してしまおう。
やはり「設定」の中に Grub Customizer がある。
「Boot Default entry after」で、起動画面の表示秒数を変えられる。
0 にしてしまえば、表示なしに起動する。
こんな感じで設定終了。
当たり前に「設定ファイルを書き換える」とか書いてある場所、管理者権限必要だからね。
どうやったら管理者権限使えるかわからない、という人は、ここに書いてあることだけ真似ても、環境を壊してしまう可能性があるからやめといたほうがいい。
理解できる人だけが、自己責任でやること。
でも、設定ファイルを直接編集する必要があったのは、タッチパッドの設定を変えたところだけ。
気に食わないなら、USB マウスつなげばいいだけの話。
自動ログインは、管理者権限を与えておけば編集の必要はなかったし、別になければないで構わない。
Ubuntu は初心者向けによくできている、と思っているのだけど、LinuxBean はさらにハードルを下げている。
使い始めて慣れてしまったら、その時は Ubuntu のように使うこともできるしね。
タコは財産、という Linux 界の標語を久しぶりに思い出しました。
最後に、「どのくらい軽くなったか」を書いておこう。
時間計測は、すべてストップウォッチによる目測。厳密なものではない。
そもそも、Windows はしばらく使っていたので、それなりに常駐ソフトなども入っている。
フェアな比較にはなっていない、と断っておく。
常駐ソフトは主に動作の遅さなどを軽減するためのもので、重くなるようなものは入れていないのだけど。
Windows は起動中にユーザー選択が挟まる。手で操作して、一番起動項目の少ない子供用アカウントを選択しているが、1~2秒のタイムロスがあると考えていい。
Grub での OS 選択から、デスクトップが現れて操作可能になるまでの時間
(Windows は、そのあとも各種ソフトが起動していくが、その時間は含めていない)
Windows: 75s
LinuxBean: 35s
タスクマネージャ(使用メモリ量を見るためのアプリ)を起動した際の使用メモリ
(Windows は使用メモリ量=コミットチャージ)
Windows: 177MB
LinuxBean: 68MB
Chrome を初回起動するのにかかった時間
Windows: 12s
LinuxBean: 18s
Chrome を起動した際の使用メモリ
Windows: 223MB
LinuxBean: 138MB
全体に LinuxBean のほうが軽いのだけど、Chrome の初回起動だけ遅い。
(どちらの OS でも、キャッシュがあるので2回目以降の起動は速くなる)
これは思い当たる節があって、Windows は定期的にデフラグをやって、「よく使うソフト」などは HDD で高速アクセス可能な外周に寄せていた。
今回、LinuxBean は Windows があまり使っていない「内周側」に入れられたし、Linux ではデフラグによる最適化もされていない。
HDD の速度として、ずっと不利な条件かもしれない。
逆に考えれば、それでも起動が半分程度の時間、というのはすごく軽いことになるのだけど。
実は、計測しようとしている最中に、Windows がどうしようもなく重たくなった。
ずっと使わずにおいていたので、Windows Update と、アンチウィルスソフトの更新が重なり、メモリを 512M 以上使ってしまい、SWAP しながら動き出したのが原因だった。
LinuxBean は、何とも不親切なことに、自動的に Update なんてしてくれない。
セキュリティ意識をもって使い、定期的に忘れず Update しなくてはならない。
さもなくば、セキュリティが甘くて問題が出る、という不幸に見舞われる。
反面、裏で勝手にダウンロードを始めて重くなる、という不幸には見舞われない。
一長一短だけど、非力なマシンを使うならどちらにしても覚悟が必要だということだ。
今回は子供に使わせるものなので、「裏で勝手に何か起きる」というの余計な混乱を起こすだけ。
LinuxBean の方針がありがたい。
Update は子供が使っていないときに僕がやることにしよう。
後日談
非力なマシンはやっぱり非力でした。
でも、今まで使えてなかったのを、少し活用できそう。
同じテーマの日記(最近の一覧)
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
今日は、ジュラシックパークやアンドロメダ生命体でお馴染みの(?)マイケル・クライトンの誕生日(1942)。
以前、命日に記事を書いているので、詳しくはそちらを参照してください。
ジュラシックパークのシリーズは今でも人気で、現在シリーズ4作目となる「ジュラシックワールド」を公開していますね。
最初の2話しか原作書いてなくて、あとは別人がシナリオ書いているだけみたいですけど。
同じテーマの日記(最近の一覧)
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |