KDE on Knoppix インストールメモ
パソコンが直ってきたので、週末にLinuxで作業環境を作ってみました。簡単な感想として
以下、簡単な作業メモと所感です。
KDE on Knoppix
Knoppix(参考記事)は、ひょっとして「最もインストールの簡単なディストリビューション」ではないでしょうか。よほどのことがない限りCDからは普通に起動するし、インストールや事前の調査や調整の為のツール類も、全部GUIで揃っています。
そして、インストールしただけで、完全に設定済の状態で三種の神器がバッチリ使えます。
それから、KDEの設定も細かい所まで全部GUIでできて、小回りもきく。
- パネルとアプレットの配置自由自在(パネルを右クリックしてパネルメニューから選択)
- 複数デスクトップで、アプリごとに自動的に指定したデスクトップで起動する(コントロールセンター→デスクトップ→ウィンドウ固有の設定)
- 起動時に指定ユーザで自動ログイン(コントロールセンター→システム管理→ログインマネージャー)
- デスクトップの切り替え等に対話的にショートカットを割当てる(コントロールセンター→地域及びアクセス補助→キーボードショートカット)
デスクトップはこんな感じです。
上部のバーは、ニュースティッカーとコマンド起動ツールです。ニュースティッカー(knewsticker)は普通のRSSリーダーになっていて、私は自分のブックマークのお気に入りを入れています(参照)
左端には小物アプレットと起動アイコンを並べました。充電状態やシステムの負荷を表示しています。小さいですが、ギリギリ実用になります。起動用アイコンは、マウスが近付くと拡大しますので、見た目よりは使いやすいです。
下のバーは、タスクバーとページャ(デスクトップの切り替えと状態表示)です。マウスカーソルを見失うことも多いので、時計の横の目玉も重宝しています。
それで、普通の全画面表示は上のようにこの三つのパネルを残した状態なのですが、これと別に「フルスクリーン」というのがあって、これは、パネルも隠した本当のフルスクリーンになります。
普通はニュースティッカー等が見える状態で、特に集中して作業する時は、それを全部隠してその画面だけにします。私は両方にショートカットを割当てて切り替えていますが、ワンタッチでこの切り替えができることは、心理的に非常に快適です。
細かい所まで自由に調整できて、全てのアプリが当然のごとくきちんと管理される統一感は、Windowsでは味わえないものです。Windowsでもフリーソフトの小物をいろいろ入れておけば、好きな画面、好きな操作にはなりますが、バラバラでバッティングするものがひとつふたつ出て来るものですよね。
それに対して、Linuxのデスクトップでは、KDEと関係ないFirefoxやThunderbirdも、上記の設定通りにKDEの中でうまく統一されて動きます。
Software suspend2
Debian 辞典を参考に、カーネルをリコンパイルして、休止状態をできるようにしました。すごくわかりやすい本なので、試す方は、ぜひこの本をお手元に置いておくことをおすすめします。
Knoppixはdebianベースですが、debianのパッケージシステムは、本当によくできていますね。
一般的にカーネルのコンパイルは、以下の選択肢が直交するので、非常に複雑になります。
debianでは、これらの要素を自分で選択して、「俺専用カーネルパッケージ」を自分で作成することになりますが、それがほぼ完全に自動化されていて、かなりの程度組合せチェックをしてくれます。実績のある組合せであれば、コマンドを一発打つと全部自動的に進むし、そうでない場合には、ちょっとした調整で、at your own riskでトライすることもできます。
その結果がひとつのパッケージになっているので、配布やインストール、アンインストールも簡単です。
Knoppixは、バカチョンの派手派手ディストリという顔を持つ一方で、このような渋めのdebianの特性も引き継いでいるわけで、なかなか馬鹿にできない。
参考までに実行したコマンドだけ書いておきます。
# apt-get install kernel-package libncurses5-dev fakeroot hibernate
# apt-get install kernel-tree-2.6.10-6 kernel-patch-suspend2
# cd /usr/src
# tar jxf kernel-source-2.6.11.tar.bz2
# cd kernel-source-2.6.10/
# make-kpkg clean
# make-kpkg --revision essa1 --added-patches debian,suspend2 --config menuconfig configure (Software suspend2 の関連オプションをONに設定)
# make-kpkg kernel-image
# dpkg -i ../kernel-image-2.6.10_essa1_i386.deb
そして、/boot/grub/menu.lst に新しいカーネルの行があるので、このオプションに
resume2=swap:/dev/hda5
を追加して、そのカーネルをデフォルトに設定して再起動。
後は、/etc/hibernate/hibernate.conf
SuspendDevice swap:/dev/hda5
を追加すれば、できあがりです。(/dev/hda5は私のマシンのswapデバイスの名前です)
# hibernate
で、サスペンドして電源が切れます。普通にスィッチを入れて見ていれば、レジュームします。
後は、KDEのコントロールセンター→電源管理→ラップトップバッテリ→ACPI設定、ボタンのアクション で、設定すると、パネルから実行したりふたしめやバッテリー低下等と連動させることができます。
ntfsresize と Knoppix のインストール
話が前後しますが、インストールしたハードウェアは以下の通りです。
- Endeavor NT330
- CPU: Pentium(R) M processor 1700MHz
- メモリ 768M
- Disk 60G
Disk全部が1パーティションで、Windows XPが入っていました。ですから、Windowsのパーティションを縮小する必要があったのですが、qtparted というGUIのツールでやると途中でエラーになってしまいました。そこで、コマンドライン(rootシェル)から、下記のコマンドを直接実行しました。
# ntfsresize -s 30G /dev/hda1
ちなみに、このコマンドは、qtparted 実行中に、別のシェルから ps ax として、表示されたものです(qtpartedが内部的に起動していたコマンド)
これをしてから、空いた領域に、swapと ext3 のパーティッションを切ってから、KnoppixのCDで普通に起動して、
# knoppix-installer
とやると、対話的にハードディスクにインストールできます。
ネットワーク設定
ハードウェアはほとんど全部認識しましたが、ネットワークに接続できなくてちょっとつまりました。
CDで起動した時には何もしないでつながったのですが、ハードディスクにインストールしてから起動すると、何故かネットワークにつながらないのです。
ドライバがロードされてないのかと思ったらそうではなくて、/etc/network/interfaceの記述が足りない為でした。
auto eth1
iface eth1 inet dhcp
を追加してOKです。(eth0はIEEE1394のLANで使われている為、eth1になります)
問題点、ひっかかった所
カーネルパッケージの作成失敗
最初に、2.6.11のカーネルソースから自分用カーネルパッケージを作ったら、Knoppixのデフォルトのカーネルとバージョンが同じため?インストール時にエラーが出ました。強行したら、サスペンドがうまく行きませんでした。(原因不明、reiserfsだったから?)
dist-upgradeしたら文字化け
apt-get dist-upgrade すると、KDEのデスクトップが文字化けしました。前に別のマシンでも同じようになったことがあります。
上記の問題もあったので、また最初からインストールし直しました(ちょっと情けない)。
レジューム時に画面がまっくろ
KDE(ふたしめ)から休止すると、復帰時に画面がまっくろになります。マウスでもキーボードでも何かすると再表示されるので、実害はありません。
内蔵無線LAN認識せず
内蔵の無線LAN(BCM4306)は認識されていません。ndiswrapperというのを試してみましたが、Error inserting ndiswrapper というエラーで断念。前に使っていたPCMCIAの無線LANカードは使えたので、それを使っています。
WEBブラウザの選択
ニュースティッカーをクリックした時等に、KDEに設定したデフォルトブラウザで、ページが表示されます。デフォルトは、当然、KDE標準のkonquerorです。コントロールセンター→KDEコンポーネント→コンポーネント選択で、/usr/bin/firefoxに変更しました。
これで、無事、Firefoxで表示するようになりましたが、その代わり、konquerorのアドレスバーにURLを入れてエンターを押した時も、そのページをFirefoxで表示してしまいます。特に困ることもないのですが、実質的に、konquerorが使えない状態です。