2009年03月06日

そのコード、異端か革命か(T)

この記事では、Linux初心者の私がLinuxを使っていて感じた疑問点と、その改善のためにLinuxはどういったシステムになっていくべきなのか、と言うことを書いています。ここで私が提案した機能は実際には既に装備されていて、ただ単に私がその設定方法に気づいていないだけのこともあるかもしれません。

はじめに

私は狂信的なアップル信者で、Mac OS Xを愛用していますが、オープンソースの理念にも心酔していまして、最近インテルMacにLinuxをインストールしました。まだお試し程度ではあるもののいろいろと使って試しています。Linuxも結構進歩していて、そこそこ使えるのですが、でもやっぱりまだ使いにくいなぁと言う感がぬぐえないのも事実です。無料で誰もが使え、世界中の人の手によって進歩するというその理念が私は好きなので、Linuxには世界ナンバーワンのOSになってほしいと私は思っているのですが、それにはまだ遠いようです。そこでLinuxがその将来を見据え、次のステップへ進むためにどういう事を心がけ、開発していけばいいのか、そのスローガンと実際の機能を考えてみました。

パーティションを簡単に区切れるようにする

Linuxを使うためにはまずもちろんインストールしないといけないのですが、これがなかなか敷居が高いものです。使っていないPCが手に入れば何も問題はないのですが、私などはなかなかまともに動くPCが手に入らずかなり困りました。

PCにLinuxを入れるにはパーティションを切る必要がありますが、パーティションを切ればハードディスク内のデータは全て消え去ってしまいます。なのでもとからデータが入っているPCにLinuxを入れようとすると、結構難しい問題になるのです。わたしはインテルMac上でMac OS X Leopardとデュアルブートにしたので、一応買ったばかりのMacであって作業データは特別無かったのですが、でもLeopardを再インストールするのもめんどくさいなあ、とは思っていました。

結局は本来MacにWindowsをインストールするためのソフトであるBootCampをつかって、Leopardを消さずにLinuxパーティションを作ることが出来ました。しかし、それでもLinuxインストール時に再度パーティションを設定しなければいけないので、ここでミスをしたらアウトです。やはりパーティションを区切ることはわたしのようなLinux初心者にとってはとても気の使う、危険を伴う作業だと思います。

私は今回使いませんでしたが、GParted(およびQtならQtParted)というソフトがあり、これを使うとデータを消去せずにパーティションを変更できるそうです(ただしデータ保全性には注意が必要)。ネット上の情報に書かれていたと思うのですが、操作方法によっては一部のLinuxディストリビューションではインストールディスク上からこれを利用することが可能だったように思います。

なので、私は思います。Linuxのインストーラはその内部にPartedソフトを内蔵し、通常のインストール手順上でもPC内に元から入っているデータを消さずにパーティションを区切りLinuxをインストールできるようにすべきです。こうすればパーティションを区切る、およびインストールをすると言うことの敷居が格段に低くなります。それはLinuxを利用したいと思っている一般ユーザーには朗報になるはずです。

また将来的にMac OS Xその他のOSには新技術としてZFSと言うファイルシステムが採用されると言います。詳しくは私もわからないので省略しますが、それはドライブだとかボリュームだとかパーティションというディスク管理上の概念を全く無用にする、非常に柔軟で革新的なファイルシステムだそうです。

もしZFSによってパーティションという考えがなくなるのなら、Linuxをインストールするのにもパーティションを区切る作業は必要なくなるのかもしれません。それってデュアルもトリプルもグアッドブートも簡単にできるようにする、素晴らしい技術じゃないでしょうか。それはLinuxがシェアを伸ばすために重要な技術の一つになるとおもいます。LinuxもZFSに対応することを眼中に入れておくべきです。

Xを堅牢にする

わたしはKDE4をデスクトップ環境としてGNOMEと共に入れていて、使っているのですが、いろいろな問題点の中の一つとしてとても困ることがあります。それはトラックパッドのタップの問題です。MacBookのトラックパッド自体はちゃんとLinuxでも使えるのですが、KDE4ではタップ機能を無効にする簡単な方法がないのです。KDE4はまだブラッシュアップされていなく、トラックパッドを使うとカーソルを移動させたいだけなのにすぐタップ機能が働いてクリックしてしまうのです。

ネット上で情報を探したところ、Xの設定をいじれば出来るよー、と書いていたサイトがいくつもあったので試してみました。ただ困ったのはその設定記述のサンプルがまちまちだったことです。サイトによってどう記述しろと言うのが違います。どれか一つぐらい動くだろー、と思って(ちゃんと設定ファイルをバックアップして)いじってみたところ、ログアウト後に見事にXがお亡くなりになりました。再起動してもエラーが出て、CUIログイン画面しか出ません。CUIの使い方がまだ良く理解できていたなかった私は結局Linux自体を再インストールして直しました。トホホ。

2回目も同じ事があったので、そのときはCUIログインして、viコマンドで設定ファイルを元に書き戻して何とか事なきを得ましたが、もし設定ファイルがどこにあるか覚えていなかったらlsコマンドでそれを見つけるのは気の遠くなるような作業だっただろうな、と思います。

なので、私は思います。まず第一に解釈不能またはシステムを起動不可にするような危険な記述が設定ファイルにあったなら、Xはそれを無視すべきです。ちょっと設定ファイルにおかしいところがあったからって起動できないって何ですか。たぶんXだってちゃんとバックアップファイルくらいとっているのでしょうから、現行の設定ファイルにおかしいところがあったらその自動バックアップファイルを利用するようにすべきです。奇妙な記述があるのなら、勝手に修正してくれてもいいくらいです。

もう一つ方法はあります。それは代替ミニXを作るって事です。つまり最低限のウィンドウシステム、デスクトップ、ファイルブラウザ、そしてパスワードを打ち込めば管理者権限でファイルを編集できるテキストエディタ。こういったものを揃えた最低限のフェイルセーフウィンドウシステムを用意するいうことです。これらがあれば不整合のある設定ファイルを書き戻すくらいのことは出来るでしょう。

ソフトウェアデータベースを守る

えーと、私は馬鹿をやらかしました。端末でapt-getを使いながら、パッケージマネージャを動かしてしまったんです。しかもパッケージマネージャがインストールやってる最中に端末を終了させてしまいました。結果どうなったかわかる人もいるかと思います。そのときはKDE4を新規にインストールしていたときだったのですが、一応インストール自体は終わってKDE4にログインしてみると、「Plasmaが壊れています」と表示されてデスクトップすら現れません、ログアウトどころかなにも出来ません。GNOMEはあるはずなのですが、良くは覚えていないんですがそれも使えなくなったみたいで、結局LinuxをインストールCDから再インストールしました。

私が馬鹿なんだと言えばそれまでですが、でも端末でapt-getしながらパッケージマネージャを動かすと言うことは、別にしようとして出来ないことではありませんし、警告も何も表示されません。ユーザーがそう言う操作を行いうる、と言う状況があるのなら、ソフトを設計するときに十分に配慮すべきです。

なんで私は思います。ソフトウェアデータベースにアクセスする(特に書き込み、かな?)、またはパッケージマネージャを起動すると言った場合は、システムがそれを検知して交通整理し、「複数のパッケージマネージャは同時に開けないから終了するよ」とか警告すべきなんじゃないかと言うことです。そうすれば私のような愚かな失敗をしてシステムをぶっ壊す奴はいなくなると思います。Linuxはソフトウェアデータベースが命なんですから、もっと堅固に作ってほしいものです。

ハードウェアに積極的に対応する

Linuxの素晴らしい点、かつ難しい点はどんなPCでも大抵は動く、と言うことです。Linuxは様々なプラットフォームに対応することが理念ですから、それも当然かもしれませんが、でも様々なハードウェアがある中でそれを実現するってなかなか大変なことなんじゃないかと思います。

LinuxはMacでも動きます。わたしはLinux初心者で情報がいろいろと必要ですし、あまり極度なマイノリティーになるわけにはいかなかったので新しく買ったインテルの方のMacにLinuxをインストールしましたが、本当はiBookの方にインストールしようと考えてたくらいですし、Linux自体もディストリビューションによってはPPC版を配布しているものもあります。学校の先生もPowerBookにFedoraをインストールしていました。

ただ例えインテルでもやっぱMacと言う時点でもうすでにマイノリティーなんですね。私が最初インストールしたバージョンのUbuntu Linuxは音が出なくて、トラックパッドも動作しませんでした。ネットで英文の情報をなんとか読解して設定ファイルを書き換えたら解決はしましたが、そう言う事って運が良くないと出来ないことだと思います。

まあ、先ほどの再インストールの時に新バージョンを入れたらこれらは何もせずに解決したのでコミュニティーに感謝ですが、やはり無線LANが動きません、動かそうとネット上に情報を探してもmadwifi?コンパイルしろだって……?と言うことで断念。でもなんかパッケージマネージャで適当にソフトを入れていたら、関連するソフトがあったらしくてKDE4上でMacBookの無線LANが利用可能になりました。その後GNOMEでもつながるように。うちはUSBハブがないので、有線使うと完全に回線を占有してしまうのですが、無線LANでつながることによってその問題も解決しました。でもいまでもペンタブレットはドライバ付きカーネルがどこで手にはいるかがわかりません……。これがないとInkscapeのカリグラフィーツールが実用的に使えないのですが。

で、思います。できれば無線LANモジュールはインストールディスクに最初から収録してほしいと。まあ、ドライバの種類はいっぱいありますから、容量の限られるインストールディスクに全てのドライバを入れるのは難しいかもしれませんが、それでも一回有線で繋いだときに即座に無線LANドライバをダウンロードできるようなナビゲーションがほしいんですよね。ドライバはプロプライエタリであることも多いですが、プロプライエタリなソフトウェアと共存していくこともLinuxの将来のためを考えれば必要なんではないかと思います。Mac独特のイジェクトキーはpommedという名前のソフトを入れたらちゃんと動作するようになってくれたのでこれはうれしいのですが、出来ればシステムがハードウェアを検出して、適切なユーティリティーやドライバを自動的にダウンロードしてインストールするといった気配りがあってもいいんじゃないかと思います。欲を言えばキーコンビネーションの設定なんかもMacならそれを検出してデフォルトでMac的設定にしてくれたらいいのになとも思うのです。

システムの安定性を確保する

私の環境だけかもしれませんが、Linuxを使っているといきなり固まって全く動作を受け付けなくなることがあります。GNOMEでもKDEでもそうですので、たぶんカーネルの問題なんだと思います。確かめたわけではないので正確なことは言えませんが、たとえばOOoを動かしたときやSongBirdで曲を鳴らしたままほうって置くとそうなることがあるので、これはメモリの消費の問題かな、と思います。もしかしたらスワップが限界まで増殖して、それでフリーズしているのかもしれません。

なので、もしそうならこれは一考しなければいけません。メモリ消費量やスワップ消費量が限界を超えて増加するようなそんなプロセスを野放しにしていていいのか。限界値をもうけてそれを越えたらリソースはOSの管理のためのものを優先するようなそう言った仕様にした方がいいのではないか。まあ、そういった設定項目は既にどっかにあって、私が気づいていないだけなのかもしれませんが……。

わたしが実際に動いているLinuxを生で初めて見たのはLive CDから起動させたKNOPPIXでした。そしてKDE4に長らく憧れを抱いていた私はSUSE LinuxのKDE4のライブCDを良く焼いて動かして楽しんでいました。うちの家パソは全く役に立たない代物なので、KDE4など動かすとすぐに固まってしまってしまうのですが、昔のKDE4では電源ボタンを押しても固まったままだったのが、新しいバージョンのものではちゃんとハードウェアに反応しておとなしく終了してくれるようになりました。いまUbuntu Linuxで音楽用にrtカーネルを使っていると終了プロセスが途中で止まることが良くあって困っているのですが、「ちゃんと終了する」と言う一見当たり前のことが非常に重要なことなんだとつくづく実感します。

#TO BE CONTINUED...SOME OTHER TIME
posted by whitecaps at 16:10| Comment(0) | TrackBack(0) | コンピューター | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。