豊富な機能を軽量にまとめたPuppy Linux 4.00

 Barry Kauler氏率いる開発チームから先日リリースされた Puppy Linux 4.00 は、軽量ながらも機能豊富なLinuxオペレーティングシステムに仕上げられている。従来のPuppy 3.01はバイナリパッケージをベースとしていたが、Puppy 4.00では軽量化と多機能化を進める関係上、Slackware 12ベースのソースコードからコンパイルするよう改められており、その結果現行のPuppyはISOファイルでわずか87.1MBというサイズに収まりつつも、平均的なユーザのニーズを満たすのに充分以上のアプリケーション群が取りそろえられているのだ。

 Puppy 4.00ではユーザインタフェース関連の統一も施されており、これまで用いられてきたGTK+ 1およびTcl/Tkは廃棄され、完全なGTK+ 2ベースのシステムへと刷新されている。これに伴いPuppy開発陣は収録アプリケーション群の入れ換えないしアップグレードを進めており、例えばパーソナルオーガナイザはOsmo、PDFビュワーはePDFView、パーソナルファイナンスマネージャはHomebank、チャットクライアントはPidgin、イメージビュワーはFotox(現在の名称はFotoxx)、オーディオエディタはmhWaveEditといったGTK+ 2系の最新アプリケーションが利用可能となった。その他のPuppy 4.00で取り入れられた新機能としては、SANEおよびGtkamを介したスキャナとデジタルカメラのサポートが挙げられる。

 Puppy Linuxは従来よりライブCD形態で提供されており、他のオペレーティングシステムがインストールされているコンピュータであってもそのままPuppyを起動させることができる。またこうしたライブCDからの起動を行った場合、Puppy側からはハードドライブ上の任意のファイルにアクセス可能な状態となるが、Puppyの操作中これらのデータには変更が加えられないよう配慮がされており、ユーザが行った作業結果(デスクトップを含めた諸設定および各種ファイル)はpup_saveというファイルに保存されるようになっている(この仕様の詳細については後で詳しく説明する)。

puppy1_thumb.jpg
Puppy Linux 4.00

 今回の試用に私が用いたDell Latitude C600ラップトップマシン(850MHz Pentium IIIおよび384MB RAMを搭載)では、ライブCDからの起動に約2分を要した。起動時の手順としてはキーボードおよびビデオ関連の設定情報を指定する必要があるが、そうした手続きが済むと、壁紙に清々しい海と山の風景をあしらったデスクトップが表示されるようになっている。このデスクトップ画面には、時計、サウンド制御、バッテリモニタ(ラップトップ用)、メモリ残量、CPU使用率のグラフも表示されるが、こうしたPuppyのウィンドウマネージャとして採用されているのがJoe's Window Manager(JWM)である。確かにGNOMEやKDEに比べるとJWMは簡易化されたウィンドウマネージャではあるが、ユーザが通常必要とする機能は一通り取り揃えられており、必要最小限の構成というPuppyのアプローチに合致した選択だと言えるだろう。なおデスクトップ上には各種基本アプリケーションの起動用アイコンが配置されており、これらのアイコン群には個々の用途を示した簡潔な名称が付けられているが、ここに表示されていないアプリケーションに関しても画面左下の“Menu”ボタンから利用できるようになっている。またGetting Started Informationのトップバナーをクリックすると、Puppyでは定番となっているサウンド関連の動作確認を兼ねた犬の鳴き声が再生されるはずである。

 私のラップトップマシンについては、ポインタパッドのタッピングによる選択ができなかった以外、ポインタパッドとキーボード関連の機能は正常に動作している。またポインタパッドの右端を用いたスクロールのアップ/ダウンは正しく反応するものの、どうやらポインタパッド操作の水平方向はWebブラウザによるページスクロールとされているようであり、これは私の好みに合わない仕様である。

 私のラップトップマシンにはAtherosベースの無線用ath0ポートおよび有線用eth0ポートが装備されているが、PuppyのNetwork Wizardはこれら2つのインタフェースが共に利用可能であると認識してくれた。その後のeth0を切断して無線ネットワークを使用するための設定は、接続可能なネットワークのスキャニングも含めて簡単に実行できている。私の使用するネットワークを検出するには都合2回のスキャンを実行する必要があったものの、それ以外は接続先ネットワークの選択およびWEPキーとAuto DHCPの設定を行うだけで、Puppyによる無線ネットワークへの接続は完了してしまった。このように無線ネットワークへの接続を直感的な操作でスムースに確立できる点は、Puppyの有す特長の1つとして高く評価すべきであろう。

 ただし私が常用しているファイルサーバは別のサブネット(有線接続式)に置かれているので、今回は無線用ath0カードを外してeth0ポート経由でネットワーク接続させるよう設定してみた。ところがDHCP用にeth0ポートを設定したところ、ネットワーク接続が途切れてしまったのだ。少し調べた結果/etc/resolv.confの設定が間違っていたことが判明したのだが、そこから浮かび上がってきたのは実際にはath0ポートが機能していたのではないかという疑惑である。そこでNetwork Wizardに戻って確認を試みたところ、このユーティリティにはath0を明示的に切断する方法が用意されていないことが判明したため、手作業でath0を無効化させるべくコンソールから「ifconfig ath0 down」を実行してみた。その後eth0ポートからDHCPにアクセスするための設定を施したところ、Puppyによるネットワーク接続は再確立され、当該サーバを用いたSamba共有に対するPnethood Sambaクライアントの接続も簡単に実行できている。

 PuppyにはデフォルトでCUPSが組み込まれているので、印刷作業について必要な準備は手元にあるHewlett-Packard LaserJet 5Lプリンタに対してパラレルポート接続を行うことだけのはずである。実際、私の場合もこのプリンタ設定においてトラブルに遭遇することはなく、WebスイートのSeaMonkey、スプレッドシートのGnumeric、ワードプロセッサのAbiWord、テキストエディタのLeafpadといったプリンタ用ポップアップウィンドウを表示するアプリケーションでも問題なく印刷が行えている。ただしIDE/エディタのGeanyのように外部コマンドを介して印刷を実行するプログラムの場合は、多くのプリンタにおいて再設定が必要になるかもしれない。

 また残念ながらこのCUPSによる印刷機能は、私の利用するプリントサーバにつながれた共有プリンタには対応していなかった。おそらくこの現象については、設定時に何らかのエラーメッセージが表示されていたか、あるいはIPPプロトコルのURLが正しく処理されていないのであろう。結果的に他のサーバとの通信をさせる際にCUPSの処理能力に余力がなくなっているのだと思われるが、いずれにせよネットワークを用いたプリンタ共有などは普通に用いられている使用法であるので、Puppyにおいてもローカルプリンタと同様にネットワークプリンタも簡単に利用できる状態になっていて欲しかったところである。その点を差し引くとしても、PuppyにおけるCUPS実装の総合評価は良好と評していいのではないだろうか。

 先にも触れたようにPuppy 4.00ではデジタルカメラのサポートが追加されている。残念ながら私の所有するSamsung製の旧型デジタルカメラはGtkamによってサポートされておらず、自動で認識されることはなかったが、Pmountを用いてUSBデバイスとしてのマウントを実行したところ、ファイルマネージャのROX-filerウィンドウにおける写真データの表示とダウンロードが行えるようになった。このようにPuppyにおけるデジタルカメラの取り扱いは、すべてGtkam任せにしておけるという訳ではないが、平均的なLinuxユーザであれば問題なく対処することができるだろう。

 同じくPuppy 4.00ではスキャナの利用が可能となっているが、そのサポートに用いられているのがXSaneという優秀な出来のソフトウェアである。例えば大部分のスキャナでは最初にプレビューを取得する必要があるが、私の所有するEpsonスキャナの場合も“Acquire preview”のクリックによって、簡易スキャンした結果のイメージがプレビューウィンドウに表示されるようになっている。フルサイズのイメージについてはメインメニューにあるScanのクリックで取得できるが、こうしたデータは各種のフォーマットにて保存可能とされており、私の場合はFotoxを別途起動して、スキャンしたイメージの取得と保存が実際に正常に行われていることを確認している。このようにスムースに動作するXsaneの採用は、今回のPuppyにおける優れた改善点の1つと評せるだろう。

 WebブラウザのSeaMonkeyでは、YouTubeやYahoo!などの動画サイトで配信されているFlashベースのビデオを問題なく再生できており、その際にFlashの別途ダウンロードなどは必要なかった。メディアプレーヤのGxineでも、デフォルト設定のままMP3オーディオファイルおよびMPGとWMV形式のムービファイルをトラブルフリーで再生できている。このようにPuppyにおけるマルチメディア系コーデックのサポート状況は非常に良好と評していいはずだ。

 私のラップトップマシンの場合、ライブCDから起動させたPuppyはRAM上に読み込まれた状態で動作しているので、そこに読み込まれているアプリケーションの起動は1ないし2秒程度で完了してしまう。そして今回はこれと比較する目的で、旧式化したIBM 300 GLデスクトップマシン(167MHz Pentium CPUおよび128MB RAMを搭載)にPuppy Linux 4.00の部分インストールをしてみたところ、GRUBブート画面からの起動には2分程度を要し、AbiWord、Gnumeric、SeaMonkeyの起動もそれぞれ30秒、15秒、40秒を必要とした。なおこの事例のようにデスクトップにインストールした場合も、マウスおよびキーボードは正常に動作している。

 ハードドライブへのPuppyのインストールについては、通常のフルインストールおよび部分(Frugal)インストールという2種類の方式を選択できる。いずれの方式でもPuppyのインストールは、Puppy Universal Installerというプロンプトベースのユーティリティを利用することで簡単に実行できるようになっている。このうちフルインストールは他のOSにおけるパーティション全体を使用したインストールと同様のもので、必要なすべてのディレクトリやファイル群のインストールが実行されるが、むしろPuppyの運用法としてより使い勝手が高いのは、ブートローダエントリ以外のドライブへの追加項目をPuppyの4つのメインファイル(vmlinuz、initrd.gz、pup_400.sfs、zdrv_400.sfs)だけに制限した部分インストールの方なのである。つまりこの部分インストールでは、1つのドライブにPuppyのみを単独でインストールするだけでなく、現在使われている他の既存オペレーティングシステムと共存させる形でドライブ上に追加インストールさせたり、USBフラッシュドライブにインストールすることもできるのだ。と言うよりもPuppyというディストリビューションでは、最初から部分インストールにて最適な動作をするよう設計されているのであり、そのCDも部分インストールを基準としたセットアップがされているのである。

 こうしたPuppyのインストール方式について私が特に優れていると感じているのは、ユーザの行った作業結果をpup_saveという単独のファイルに一括して保存するという仕様である。しかもPuppyにおけるファイルシステム作成もこのファイル中にて行われるのであり、その他すべての設定およびユーザファイルもここに格納されるようになっている。なおこのセットアップは、Puppyを最初にシャットダウンする時点で指定するようになっており、その際にはユーザデータと設定情報をどのように処理するかの質問が提示されるが、その保存先オプションとしては、ハードドライブやUSBフラッシュドライブだけでなく、マルチセッションCDを選択することもできる。このようにユーザデータの格納先を単一ファイルに別途まとめておくという仕様が意味するのは、CDないしUSBフラッシュドライブからライブ起動する場合にせよ、部分インストールしたドライブから起動する場合にせよ、ユーザの作業結果はそのつど当該ファイルに保存されるので、次回以降のPuppy起動時にも引き続き利用できるということである。例えば私の場合、失敗した場合に復帰不可能な変更を他のOSに加える際のレスキュー用CD/OSとしてPuppyを利用しているため、そうしたコンピュータに関してはPuppyの臨時インストールを繰り返し実行するという事態を想定しておかなければならないのだ。

 Puppyには一般のユーザが必要とするであろうアプリケーション群が一通り取り揃えられている他、Petgetユーティリティを用いることで何百種類もの追加プログラムをダウンロードすることができ、またPuppyのブート時にパッケージ単位での機能追加を行うSquash File System(SFS)用ファイルを利用することもできる。例えばdevx_400.sfsを利用するとC/C++コンパイル用の全機能が追加され、openoffice-2.2.0.sfsを利用するとOpenOffice.orgスイートの一式(バージョン2.2.0)がPuppyに追加されるようになっている。こうしたSFSファイルを使用するには、その保存先を部分インストール用のファイル格納ディレクトリとした上で、BootManagerユーティリティを起動してブートアップ時に読み込むSFSモジュールを指定すればいい。

 Puppy 4.00というリリースについては、最高度の総合評価を与えていいだろう。Puppy Linux 4.00は高速かつ信頼性に優れたディストリビューションに仕上がっており(私のシステムの場合は数日間トラブルフリーで動作している)、無線ネットワークへの接続機能、スキャナ接続用の新規ツール、マルチメディア用の各種コーデックなどを用意しつつ、必要最小限の機能が快適に動作するようまとめられており、比較的旧式のコンピュータであってもこれをインストールすることで実務に耐えるマシンへと生まれ変わるはずである。Puppyはまた、緊急時のレスキュー用CDないしOSとしても利用することができ、そのドキュメント類の整備状況も良好であるが、新規ユーザにとっては活発に活動しているオンラインフォーラムも頼りになるだろう。

 その一方でPuppyに対する不満としては、ネットワークプリンタをサポートしていない点、ラップトップマシンのポインタパッド関連のマイナーな不具合が存在する点(私のマシンで見られたようなもの)、Network Wizardの設定でポートを切断できない点、デジタルカメラのサポートに関しては手作業での対処が必要な点を挙げることができる。ただしこれらの不備は致命的なバグというものではなく、むしろ私個人のPuppy 4.00に対する評価は、常に手元に置いておきたい必要最小限の軽量型Linuxディストリビューションの1つと見なしているくらいだ。

Dennis L. Ericsonはリアルタイム組み込みシステムを専門とするソフトウェアエンジニアであり、現在はコネティカット州ウェストハートフォードに在住している。

Linux.com 原文