2008/08/20(水)prefork? worker?

apache2とadiary 2.003を導入したのだが、adiaryのSystem infoでpreforkとして認識されている。
workerとして導入したはずなのだが、何か間違っているのだろうか?

apache環境調査

# apache2 -l
Compiled in modules:
  core.c
  mod_log_config.c
  mod_logio.c
  worker.c
  http_core.c
  mod_so.c

# apache2 -V | grep worker
 -D APACHE_MPM_DIR="server/mpm/worker"

adiary環境調査

Server : Apache/2.2.3 (Debian) (prefork)
Perl : /usr/bin/perl (Ver 5.8.8)
Runtime : cgi perl
RDBMS : pseudo DB
adiary Version : 2.003
Basepath /
Request_base 
cgifile adiary.cgi
myself  /
myself2 /
v.myself  /dummy/
v.myself2 /dummy/
mod_rewrite = 1

GATEWAY_INTERFACE=CGI/1.1
HTTP_USER_AGENT=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008072820 Firefox/3.0.1
PATH_INFO=/dummy
PATH_INFO_orig=/dummy
PATH_TRANSLATED=redirect:/adiary.cgi/dummy
QUERY_STRING=system_check
QUERY_STRING_orig=system_check
REDIRECT_QUERY_STRING=system_check
REDIRECT_STATUS=200
REDIRECT_URL=/dummy
REQUEST_URI=/dummy?system_check
SCRIPT_FILENAME=/home/adiary/adiary.cgi
SCRIPT_NAME=/adiary.cgi
SERVER_PORT=80
SERVER_PROTOCOL=HTTP/1.1
SERVER_SOFTWARE=Apache/2.2.3 (Debian)

2008/08/20(水)Hi Quality USB DAC

usb_dac.jpg

adiaryユーザ会への委託品、石油コンビナート(違USB-DACを譲っていただきました。早速ONKYO SE-90PCIと聞き比べ。環境はLinux ALSA デバイスドライバ + Amarok(xineエンジン サウンドシステム) + FETヘッドホンアンプ + Audio-technica AD1000。

……確かにSE-90PCIよりも音の明瞭感が向上しているのだけれども、同時にサンプリングの悪さもはっきりと判るようになってしまったorz

……自分が聴きたい曲はこんなのばっか(TT)

[Debian/Apache2] mod_rewriteを有効にする

2008/08/19PC::Linux/BSD

adiaryでmod_rewriteを利用しようとしたところ、mod_rewriteが有効になっていないみたいだったので調べてみた。

環境

  • Debian GNU/Linux 4.0r3 (etch)
  • apache 2.2.3
  • adiary 2.002

mod_rewriteを有効にする

a2enmodを利用しmod_rewriteを有効にする。

# a2enmod rewrite

apache2のDirectoryディレクティブを以下のように設定する

AllowOverride FileInfo

apacheを再起動する。

adiary側の設定(.htaccess)

adiary設置ディレクトリに.htaccessを作成し以下のように記述*1

<IfModule mod_rewrite.c>
    RewriteEngine  On
    RewriteBase    /
    RewriteCond    %{REQUEST_FILENAME}	!-f
    RewriteRule    ^(.*)$	   	adiary.cgi/$1	[L]
</IfModule>

これでadiary.cgiなしでアクセスできるはず。

*1 : RewriteBaseなどの設定は個々の環境に合わせて変更する必要がある

参考

特殊なマウスを使う

2008/08/17PC::Linux/BSD

X環境で以下のポインティングデバイスを利用する方法について調べてみた。

  • 5ボタンマウス
  • トラックポイント

環境

OS
Kubuntu 8.04.1 日本語ローカライズド
Window Manager
KDE 3.5.9
5ボタンマウス
Microsoft Wireless IntelliMouse Explorer 2.0 (USB)
トラックポイント
IBM Space Saver II Keyboard
Firefox
3.0.1 (Ubuntuパッケージ版)

5ボタンマウスを利用する

Kubuntuデフォルトの設定では5ボタンマウスの第4、第5ボタンが機能しません。これらを利用可能とするには/etc/X11/xorg.confをのマウスに関するセクションを以下のように編集します。

Section "InputDevice"
    Identifier    "Mouse0"
    Driver        "mouse"
    Option        "Protocol" "auto"
    Option        "Device" "/dev/psaux"
    Option        "Emulate3Buttons" "no"
    Option        "ZAxisMapping" "4 5"
EndSection

ちなみに、このマウスのセクションはnVidia Settingsが吐き出すものです。

トラックポイントを利用する

トラックポイント4ではセンターボタンを押下時にポインタを動かすことにより、スクロールさせる機能が備わっています。これをLinux上で利用する場合のメモ。

xorg.confの設定

こちらの記事を参考に、5ボタンマウスを利用する場合と同様に以下のように/etc/X11/xorg.confのマウスのセクションを変更します。

Section "InputDevice"
    Identifier    "Mouse0"
    Driver        "mouse"
    Option        "Device" "/dev/input/mice"
    Option        "Protocol" "ImPS/2"
    Option        "Emulate3Buttons" "on"
    Option        "Emulate3Timeout" "50"
    Option        "ZAxisMapping" "4 5"
    # スクロール機能の有効化
    Option        "EmulateWheel" "on"
    # センターボタン押下時にスクロールボタン機能を割り当て
    Option        "EmulateWheelButton" "2"
    Option        "EmulateInertia" "50"
    # 横スクロール機能の有効化
    Option        "XAxisMapping" "6 7"
EndSection

Firefox側の設定

Firefoxにて横スクロール機能を利用する場兄はabout:configにて以下の項目を設定する必要がある。

  • mousewheel.horizscroll.withnokey.action = 0
  • mousewheel.horizscroll.withnokey.numlines = 1

設定の効果

センターボタンをホールド時にはスクロールボタンとして機能することとなり、Windows環境でのトラックポイントのように利用することが出来ます。なお、Windowsのトラックポイントドライバはセンターボタンを常にスクロールボタンとして機能させていますが、上記の設定の場合、センターボタンクリック時には通常のセンターボタンとして動作するため、FirefoxでCtrl+クリックで新しいタブに開いていたところをセンターボタンクリックのみで実現できます。

また、この設定を通常の3ボタンマウス*1に適用することでトラックポイントライクな操作性を実現することが出来ます。

*1 : ホイールではない純粋な3ボタンマウス。いや、ホイールタイプのマウスでも同様に動作しますけど、ホイールタイプなら素直にホイール回せ、と(苦笑

5ボタンマウス+トラックポイントの組み合わせの場合

これまでの設定を参考に、私の環境である5ボタンマウス+トラックポイントの組み合わせの場合を記述してみた。

Section "InputDevice"
    Identifier    "Mouse0"
    Driver        "mouse"
    Option        "CorePointer"
    Option        "Device" "/dev/input/mice"
    Option        "Protocol" "ExplorerPS/2"
    # マウスのボタンの数
    # 5ボタン+上下スクロール+チルトスクロールで9つ
    Option        "Buttons" "9"
    # マウスのボタンのマッピング
    # 第4ボタン: 8(Firefoxで「戻る」ボタン)
    # 第5ボタン: 9(Firefoxで「進む」ボタン)
    Option        "ButtonMapping "1 2 3 8 9"
    Option        "Emulate3Buttons" "false"
    Option        "Emulate3Timeout" "50"
    Option        "ZAxisMapping" "4 5"
    # スクロール機能の有効化
    Option        "EmulateWheel" "on"
    # センターボタン押下時にスクロールボタン機能を割り当て
    Option        "EmulateWheelButton" "2"
    Option        "EmulateInertia" "50"
    # 横スクロール機能の有効化
    Option        "XAxisMapping" "6 7"
EndSection

ちゃんとした設定を行うにはxorg.conf(5)を読まないといけないのだが、日本語化されたものがないのが辛い。そのうち読むつもりはあるが、とりあえず意図した通りに動いているのでよしとする。