2006/12/21

Gnome 2.16 with dbus 1.0

Gentoo Linuxを以前からアップデートを繰り返して使用し続けている場合、dbus-0.6x から dbus-1.0.xへアップグレードした後に、ファイルの関連づけが機能しなくなる問題が発生することがある。

たとえば、ファイルブラウザからダブルクリックでファイルを開けない、拡張子に対してアップリケーションの関連づけを行おうとしても反映されない、など。

これはACLの設定が原因で、ユーザがmessagebusグループに入っていないとこの機能が働くなくなるためである。
ということで、/etc/groupのmessagebusの行の最後にユーザIDを追加することで元通り関連づけが出来るようになる。

2006/09/17

Ajax

Ajaxの要、XMLHttpRequestの簡単な説明が載っている。
http://www.hawk.34sp.com/stdpls/xml/xmlhttprequest.html

Google Web Toolkitはクライアント側のプログラミングをswingっぽく簡単に出来てJava Scriptにコンパイルして変換してくれる。特にAjaxライブラリを別に必要としない。コンパイルして出来たHTMLなどをWeb Serverに配置するだけで、クライアントコードが動く。

Ajax Toolkit Framework はdojoやZimbra なんかのAjax用 Java scriptライブラリを簡単に使える環境を提供してくれる。これらのライブラリを使いたいときは、こっちが良い。

でもこれらって全部クライアント側のフレームワークなんだよね。
リクエストを受け取ったサーバー側でどうやってるのかってあんまり書いてあるところが少ないんだよな~。
多分普通にcgiとかservletとか使ってXML返すように作るんだろうけど。

クライアントを生成するのと同時に、perlとかruby CGIとか、Servletのソースコードのテンプレートも自動的に生成してくれないかな~。

2006/09/03

Intel SpeedStep を利用する

Intel SpeedStepを利用することで、システム負荷によって自動的にCPUの周波数を変更させることが出来ます。
必要なのは、
  • kernelのIntel SpeedStep サポート設定を有効に
  • cpufreqdとcpufrequtilsのインストール
  • /etc/cpufreqd.conf でのルールの設定
kernelの設定では、
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
# CONFIG_CPU_FREQ_DEBUG is not set
CONFIG_CPU_FREQ_STAT=y
# CONFIG_CPU_FREQ_STAT_DETAILS is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
こんな感じになるようにkernelの設定をする。
ondemandの設定を有効にすると良いです。

cpufreqdとcpufrequtilsは、Gentooでは
#emerge cpufreqd cpufrequtils
で完了。cpufreqd.conf にはdefaultである程度設定がしてあるので、あとはRuleを自分の好みに従って変えればよい。

自分はコンセントに接続した状態でも低負荷の時は周波数を低くして欲しいので、ac=onのときでもondemandの設定を使用します。

[Rule]
name=AC Rule
ac=on # (on/off)
profile=On Demand High
[/Rule]

"On Demand High"のprofileはDefaultで以下の様に設定されてます。

[Profile]
name=On Demand High
minfreq=40%
maxfreq=100%
policy=ondemand
[/Profile]

この他、ムービーを見るときは常にこうパフォーマンスが出るように、

[Rule]
name=Movie Watcher
programs=xine,mplayer,gmplayer
battery_interval=0-100
acpi_temperature=0-60
cpu_interval=0-100
profile=Performance High
[/Rule]

というプログラム専用のルールがあると便利です。
(Gentooの?)Defaultでこのように設定されてます。すばらしいね。

/etc/init.d/cpufreqd start
/etc/init.d/cpufrequtils start

で起動。次回のパソコン起動時にもstartするために
rc-update add cpufreqd default
rc-update add cpufrequtils default
を実行。

gDeskletsのcpu frequcency monitorや、GnomeのCPU周波数モニタアプレットがあれば現在の周波数が簡単に確認できます。

2006/09/02

gDesklets

Gnome使っている人はすでに知っているかもしれないですが、
gDesklets というMac OS Xやgoogle desktopのGadgetみたいなのがLinuxにもあります。

OS Xのアプリケーション起動メニューみたいのや、お決まりの時計やカレンダー、
Gmailのメールボックスチェック、wireless LANの状態チェックなど。

GnomeだとWindowsとかOS Xに比べて寂しいな〜、という方はお試しあれ。
デスクトップが一気にエンターテイメントっぽくなりますよ。

2006/08/20

Gentoo: DRI (Thinkpad T42/ Radeon Mobility 7500)

Thinkpad T42のグラフィックスチップでDRI(Direct Rendering Infrastructure)を利用する。

最新のxorgとkernelでDRIを有効にするにはちょっとコツがいる。
  1. kernelの中のDRIサポートは使用しない
  2. x11-drm ebuildをインストールする(カーネルモジュールなので、カーネル変更毎に再emergeが必要)
  3. xorg.confでModule "glx", "dri" を指定
  4. xorg.confのDriverは"radeon"

kernelに入っているDRIのxorg用モジュールは、最新のxorgだとモジュールが古くなっていることがある。なので、kernel configでCharacter deviceにあるDRI は無効にする。AGPは有効にしておいて構わない。

x11-drmは、最新のxorg-base用のDRMモジュールをインストールしてくれる。
x11-drmをインストールするまえに、
emerge -p x11-drm
で有効なVIDEO_CARDS の値を調べる。radeonはdefaultで無効になっているので、
/etc/make.confの中に
VIDEO_CARDS="radeon"
を書いて、再度上記のコマンドで有効になっているのを確認後、インストール。
インストール後、
/usr/lib/dri/
の下にradeonのモジュールが出来ていることを確認する。

xorg.confのModuleセクションに
Load "glx"
Load "dri"
を追加。DRIのオプション設定もいるかも。
Section "dri"
Mode 0666
EndSection

xorg.confの中でのDeviceセクションのDriver設定は、"radeon"に。


設定後、Xを立ち上げる。/var/log/xorg.0.log を参照し、
(EE)
で始まっているDRM, DRI関係のエラーが無いか確認。
モジュールが読み込めない、などの場合はx11-drmが正しくインストールされていないかも。

設定後、
glxinfo
の最初の方に
Direct rendering yes
があれば、DRIは有効に機能している。
glxgear
を実行して、十分なレンダリング性能が出ていることを確認する。

(補足)
module-rebuild add x11-drm-xxxxxx (xxxxxxはバージョン番号)
することで、kernelを変更(kernel-config set xxxxxx ) した後に
module-rebuild rebuild
することで、setした他のモジュールと一緒に新しいカーネル用にモジュールをビルドしてくれる。
新しいカーネルで起動する前でも、kernel-configしてあればビルドしてくれる。

Gentoo: xineでwmvを再生する

xineでxmvを再生するのに必要なのは、
USE="win32codecs asf"
みたい。他にもいろいろUSE flagに設定しておいた方が幸せかも。
"dvd avi ffmpeg aac mpeg mpeg2 mp4live"
とかかな。 いらないのもあるかも。

realplayerをインストールしているときは、
/opt/RealPlayer/codecs
をPreferenceのReal media codecのパスに設定するとrm形式の再生もできます。

ちなみに、mplayerはUSE="win32codecs" だけでちゃんとwmvの再生ができます。
が、mplayerはaccelerator keyの設定がいまいちで、xineの方が好みに合ってるので、できるだけxineで全部できるといいな。

2006/08/06

Gentoo: カーネルアップデートと一緒に外部モジュールもアップデート

module-rebuild を使用すると便利。
たとえば、ipw2200と ieee80211の2つの外部モジュールを使用している場合、
module-rebuild add ipw2200
module-rebuild add ieee80211
でリストに追加 (確認は module-rebuild list)。

kernel-configコマンドで /usr/src/linux のリンクを変更したら、module-rebuild rebuild でリストにあるモジュールを一遍に更新してくれる。

Thinkpad の Wireless LANをLinuxで使う

Thinkpad T42のWireless LANのデバイスは、intelのipw2200.
これをLinuxで使用できるようにする方法は二つ。

1. Kernel の一部として配布されているドライバを使う
2. ipw2200 と ieee80211 のプログラムを別途導入

1. を使用するには、別途 firmwareが必要。http://ipw2200.sourceforge.net/firmware.php 参照。
ipw2200-bss.fw
ipw2200-ibss.fw
ipw2200-sniffer.fw
を/lib/firmware に置かないと、使用できません。
また、kernel設定で 80211のWEP を使える設定(80211-crypt-wep)にしておかないと暗号化できません。ipw2200と共に有効にするのを忘れずに。
gentooなら、ipw2200-firmwareをemergeして、カーネルの設定するだけ。楽。

2. を使用するには、 http://ipw2200.sourceforge.net/ で配布されているプログラムが必要。
また、1と同様にfirmwareが必要。 http://ipw2200.sourceforge.net/firmware.php 参照。
そのほか、ieee80211も必要。http://ieee80211.sourceforge.net/ 参照。


1、2どちらもwirelessの設定にはiwconfigコマンドが必要。
Wireless Tools で検索掛ければすぐ見つかります。

Linux で iPod を使う

gtkpod というプログラムを導入。

/etc/fstab に
/dev/sda2 vfat /mnt/ipod user,noauto,noatime,rw,iocharset=cp932 0 0
を追加すると、gtkpod 起動時にmount, 終了時にunmount を自動的にしてくれる。

iocharsetで正しい設定ができていると、gtkpodでも日本語が扱える。

linuxで日本語vfatをマウント

日本語のvfatファイルシステムをマウントするには
*カーネルのファイルシステムセクションで、dosファイルシステムを有効にする

mount -t vfat -o iocharset=cp932 /dev/sda2 /mnt/ipod

iocharsetないと、マウントできないときがある。
たぶんカーネルのdefault設定で回避可能。

2006/06/20

別室作成しました

本館もあまり更新してないにも関わらず、別室を作ってみました(笑)
Blogger使ってみたかっただけなんだけど。
どういう風に使って行こうか思案中です~。