トップ |
good old-fashioned
|
2010年04月22日 01:51:17 クドPCをFreeBSD化する。(5)
6. その他の音声設定
最後に、KDEのシステム通知で対応する項目のない音声の設定を行います。 行うことは以下のとおりです。 ・rc.dにて停止音の設定 ・バッテリモニタにてバッテリ警告音の設定 ・devdにてデバイス接続音の設定 以下に個々の具体的な設定を説明します。 停止音はrc.dにてshutdown時にスクリプトを実行することで鳴らします。 スクリプトファイルについてはここに置いてあります。 スクリプト内でのwavファイルの再生にはwaveplayを使用しています。 # install -o root -g wheel -m 555 kudoryavka /usr/local/etc/rc.d # cd `whereis -q waveplay` # make install # echo 'kudoryavka_enable="YES"' >> /etc/rc.conf バッテリ警告音の設定にはKDEのバッテリモニタを使用します。 バッテリモニタでは内部でAPMを使用しているため、APMを有効にしてやる必要があります。 また、バッテリモニタでは/dev/apmに書き込みを行うようなので、別途/etc/groupを編集し、operatorグループにユーザ追加をする必要があります。 # pkg_add -r kdeutils-klaptopdaemon # echo 'apm_enable="YES"' >> /etc/rc.conf # /etc/rc.d/apm start バッテリモニタの設定から警告音を設定します。 クドPCではバッテリモニタは残り時間が正しく取得できず、常に残り0分になってしまうため、残量は%で指定します。 [設定]-[電源管理]-[ラップトップバッテリ] [バッテリ低下 警告(W)]-[警告を出す残量(T)] 7% [バッテリ低下 警告(W)]-[サウンドを再生(P)] 10.wav [バッテリ低下 危険(C)]-[危険を知らせる残量(T)] 3% [バッテリ低下 危険(C)]-[サウンドを再生(P)] 11.wav devd.confにてデバイスのattach/detach時の音声を設定します。 サンプルはここに置いてあります。 基本的にデフォルトの/etc/devd.confのaction部にwaveplayにて音声を再生するコマンドを設定しているだけですが、action部で指定されたコマンドが終了するまでdevdは待機するため、バックグラウンドで実行する設定にしています。 またサンプルファイルでは、クドPCがUSBメモリ接続時に不明なデバイスとしても認識してしまうため、接続成功と接続失敗の音が同時に鳴ってしまいます…。 起動時にもいくつかの不明なデバイスを認識するようです。 以上で一通りの設定は完了です。 まだ以下のようないくつかの課題があります。 ・定期的に/var/log/messagesに"cpuX: Cx states changed"のログが出る。 バッテリモニタから/dev/apmにアクセスする際に出るようです。 機能上問題はないはずですが、余分にバッテリを消費している可能性はあるかも知れません。 ・テーマ変更の音声が未使用である。 現状、currentのシンボリックリンクの向き先を変更することでテーマの変更を行っているので、変更専用のスクリプトを作ってその中で音を鳴らす、とかでしょうか…。 ・メモリカードリーダが使えない。 前面にあるカードリーダにmicroSDカードを挿しても認識しませんでした。pciconfなりでちゃんと調べればいいのでしょうけど…。 ・Xセッション終了後、ログイン画面に戻らない。 真っ暗な画面にカーソルが表示された状態でXがハングアップするようです。 リモートからのssh等によるログインは可能です。 時間が出来たらXドライバのデバッグモード有効にして調べて見ます。
2010年04月21日 11:52:24 クドPCをFreeBSD化する。(4)
5. KDEのシステム通知設定
次は音声の設定を行います。 音声についてはWindowsとFreeBSD(KDE)で1対1に対応がとれていないため、設定箇所が多岐にわたることになります。 ここではまずKDEのシステム通知設定を行います。 現段階ではサウンドモジュールがロードされていないため、KDEのシステム通知設定を行う前に、サウンドモジュールの起動設定を行います。 # echo 'sound_load="YES"' >> /boot/loader.conf # echo 'snd_driver_load="YES"' >> /boot/loader.conf これで次回起動時から音が鳴るようになります。 再起動せずに音を鳴らしたい場合は以下のコマンドも叩いておいてください。 # kldload sound # kldload snd_driver テーマに含まれる音声ファイル名は数字.wavの形式になっているため、どのファイルがどの音声に対応しているかファイル名のみからは分かりません。 展開したテーマに含まれる.themeファイル内にどのファイルがどの音声に対応しているかが記載されているため、概ねそこから役割が類推できるかと思います。 以下は適当と思われる音声ファイルを選択しています。 KDEのシステム通知設定は左下のメニューから以下の通り設定します。 [設定]-[サウンド&マルチメディア]-[システム通知] KDE システム通知 ごみ箱を空にしました 16.wav 質問が出されています 06.wav 情報メッセージを表示します 12.wav 警告メッセージを表示します 13.wav クリティカルメッセージを表示します 05.wav 何か特別なことがプログラムに起こりました 14.wav KDE終了中 03.wav KDE起動中 04.wav KMail 新規メール着信 15.wav Konsole 可視セッションでベルが鳴りました 14.wav また、Konsoleでの通知を有効にするため、以下を設定します。 [システム]-[Konsole - ターミナルプログラム] [設定]-[ベル(B)]-[システム通知(N)] つづく
2010年04月21日 11:41:06 クドPCをFreeBSD化する。(3)
4. 壁紙の設定
Xが起動するようになったので、クドのテーマを移植します。 それぞれのテーマファイルは.themepackという拡張子になっていますが、実態はcabファイルですので、cabextractなどのコマンドで展開してやります。 ここでは、展開したテーマを/usr/local/share/kudoryavka以下に配置する前提で話を進めます。 実際に使用したいテーマに対しcurrentからのシンボリックリンクを貼り、各設定ではcurrent下のファイルで設定を行います。 /usr/local/share/kudoryavka配下は以下のようなイメージです。 # ls -l /usr/local/share/kudoryavka total 14 drwxr-xr-x 3 root wheel 512 4 7 21:08 LoveLove drwxr-xr-x 3 root wheel 512 4 7 21:08 Maid drwxr-xr-x 3 root wheel 512 4 7 21:08 Normal drwxr-xr-x 3 root wheel 512 4 7 21:08 Russian drwxr-xr-x 3 root wheel 512 4 7 21:08 WafuWafu drwxr-xr-x 3 root wheel 512 4 7 21:08 YourSister drwxr-xr-x 3 root wheel 512 4 7 21:08 YourWife lrwxr-xr-x 1 root wheel 6 4 18 22:51 current -> Normal 背景の設定は左下のメニューから以下の通り設定します。 [設定]-[外観&テーマ]-[背景] a.スライドショー(I)にチェックを入れます。 b.設定(U)を選び、追加(A)で/usr/local/share/kudoryavka/current/DesktopBackground下のファイルをすべて選択します。 c.画像を切り替える間隔(P)を5分に設定します。 d.ランダムに画像を表示する(S)のチェックを外します。 画像切り替えの間隔やランダムについては元々のテーマファイルと同じ設定にしています。 OKを選択するとデスクトップに壁紙が設定されます。 また、ウインドウが複数立ち上がると背景が見えなくなってしまうため、個人的な好みとして私は以下も設定しています。 [システム]-[Konsole - ターミナルプログラム] [設定]-[エンコーディング(E)]-[日本語(eucjp)] [設定]-[スキーマ(E)]-[透明、暗い背景] [設定]-[標準として保存(S)] [設定]-[外観&テーマ]-[スタイル] [効果(E)]-[GUI効果を有効にする] [効果(E)]-[GUI効果を有効にする]-[メニューの効果(M)]-[半透明にする] [効果(E)]-[メニューの不透明度(P)]-[70%] [設定]-[デスクトップ]-[パネル] [外観]-[パネルの背景]-[パネルを透明にする(T)] つづく
2010年04月20日 14:34:08 クドPCをFreeBSD化する。(2)
3. Xインストール、設定
ウインドウマネージャおよびドライバのインストールと設定をします。 xorgはインストールされている、という前提です。 ウインドウマネージャにはKDE3.5を使用します。 ドライバについては、タッチパッド用のsynapticsドライバと、ビデオ用のintelドライバを入れる必要がありますが、intelドライバはportsに載っているバージョンだとFBCを無効にするところでドライバがハングアップするため、パッチを当てます。 まずはKDEのインストール。 これだけだとIMを入れてないので日本語入力できませんがクドPCのテーマを移すだけなら関係ないのでここでは割愛します。 # pkg_add -r kde.tbz # pkg_add -r ja-kde-i18n 次にsynapticsドライバのインストール。 # cd `whereis -q xf86-input-synaptics` # make install intelドライバのパッチ当てとインストール。 バージョンは2.7.1を想定しています。 ソースはportsツリーから拾ってくるのが早くて確実ではないでしょうか。 パッチファイルはここにおいてあります。 このパッチでやっていることはFBCの無効化に一定時間以上かかったらタイムアウトする、という処理を追加しています。 # tar xvfz xf86-video-intel-2.7.1.bz2 # cd xf86-video-intel-2.7.1 # ./configure # cd src # patch < xf86-video-intel.patch # cd .. # make install /etc/X11/xorg.confの設定。 Xorg -configureで生成した設定ファイルに対し、マウスドライバとして"synaptic"を指定すればよいです。 intelドライバは自動生成されるファイルですでに指定済みのはずです。 また、haldとdbusを有効にする設定をrc.confにしていない場合は、以下の設定も必要です。 Section "ServerFlags" Option "AllowEmptyInput" "off" EndSection /etc/ttysの設定。 起動時にXがKDEで立ち上がるようにするため、ttyv8の行を以下の通り変更します。 ttyv8 "/usr/local/bin/kdm -nodaemon" xterm on secure ここまでの設定が終わったら、再起動します。 # shutdown -r now Xが1024x600で上がってくれば成功です。 つづく
2010年04月19日 14:44:46 クドPCをFreeBSD化する。(1)
クドPCにIntel SSDを挿してFreeBSDを再構築しなおしたところ、概ね問題なさそうなので手順を公開してみることにしました。
それなりに量があるので何回かに分けて公開します。 バージョンはFreeBSD-7.3をインストールする前提で話を進めます。 1. OSインストール クドPCの場合、内蔵の光学ドライブがないので、もし、CD/DVDメディアからインストールするならば外付けドライブをUSB接続する必要があります。 しかし、USBデバイスからのブート時にBTX haltedと表示され起動しないと思われるので、PXEブートにてネットワーク経由でインストールします。 PXEブートのやり方はいろんなサイトで紹介されているのでここでは省略します。 なお、ブートだけでなくインストールまでNFSで行う場合、パスはCD-ROM内の7.3-RELEASEディレクトリに向ければよいのですが、一部のディストリビューションではパッケージが必要になるため、packagesディレクトリ毎7.3-RELEASEの下においてあげる必要があります。 2. カーネル再構築 7.3のドライバでは、クドPCに搭載されているGMA3150に対応していないため、パッチを当ててカーネルを再構築する必要があります。 パッチは以下のURLで偉い人が公開してくれています。 http://groups.google.co.jp/group/fa.freebsd.bugs/browse_thread/thread/4dc2d17f0ef05a1e ただし、上記ファイルではIdタグまで変わってしまっており、このIdタグ部分が7.3のソースコードのリビジョンと一致しないため、そこだけは手動で当てる必要があります。 Idタグ部分を修正したパッチをkernel.patchとした場合に想定される手順は次のような感じでしょうか。 パッチ適用対象のファイルを/usr/src下から拾ってきてパッチを当てます。 # cp -p /usr/src/sys/pci/agp_i810.c ./ # cp -p /usr/src/sys/dev/drm/i915_drv.h ./ # cp -p /usr/src/sys/dev/drm/i915_reg.h ./ # cp -p /usr/src/sys/dev/drm/drm_pciids.h ./ # patch < kernel.patch # cp -p *.c /usr/src/sys/pci/ # cp -p *.h /usr/src/sys/dev/drm/ カーネルを再コンパイルします。 別に新しいモジュールを追加したわけではありませんが、カーネルの名前はなくとなくクドリャフカにしてみました。 # cd /usr/src/sys/i386/conf # sed -e 's/GENERIC/KUDORYAVKA/g' < GENERIC > KUDORYAVKA # config KUDORYAVKA # cd ../compile/KUDORYAVKA # make cleandepend && make depend && make && make install && shutdown -r now /dev/agpgartが出来ていれば成功です。 つづく |