2009/08/06(木)ふぁーすとあにばーさりー
おうちのサーバの連続稼働日数が1年間を越えたようです。
$ uptime 22:52:12 up 368 days, 1:58, 1 user, load average: 0.72, 0.79, 0.80
ここまで長い時間落としていないと、設定の保存漏れとかあって再起動した時にちゃんと上がってくるかどうか心配です。
おうちのサーバの連続稼働日数が1年間を越えたようです。
$ uptime 22:52:12 up 368 days, 1:58, 1 user, load average: 0.72, 0.79, 0.80
ここまで長い時間落としていないと、設定の保存漏れとかあって再起動した時にちゃんと上がってくるかどうか心配です。
Kubuntu 9.04/amd64環境にVMware Server Console 1.0.9をインストールしたときのメモ。
コンソールからvmware-server-consoleを実行すると、以下のエラーが出て起動できない。
$ vmware-server-console /usr/lib/vmware-server-console/bin/vmware-server-console: symbol lookup error: /usr/lib32/libgio-2.0.so.0: undefined symbol: g_thread_gettime
このため、このエラーを回避するために以下のファイルを編集する必要がある。
/usr/lib/vmware-server-console/lib/wrapper-gtk24.sh
#!/bin/sh VMWARE_USE_SHIPPED_GTK="force" # <-この行を追加 libs="$1" shift binary="$1" shift confs="$1" shift 以下略
これでVMware Server Consoleが利用できるようになる
Kubuntu 9.04/amd64 環境下でトラックポイントデバイスをWindows環境下と同様に利用できるようにしたときのメモ。
Kubuntu 8.04を利用していたときにはxorg.confにトラックポイントの設定を記述していたが、Kubuntu 9.04では、/etc/hal/fdi/policy/以下に設定ファイルを置くようになっている。
上記記事を参考に/etc/hal/fdi/policy/trackpoint.fdiを作成
<match key="info.product" string="TPPS/2 IBM TrackPoint"> <merge key="input.x11_options.EmulateWheel" type="string">true</merge> <merge key="input.x11_options.EmulateWheelButton" type="string">2</merge> <merge key="input.x11_options.XAxisMapping" type="string">6 7</merge> <merge key="input.x11_options.YAxisMapping" type="string">4 5</merge> <merge key="input.x11_options.ZAxisMapping" type="string">4 5</merge> <merge key="input.x11_options.Emulate3Buttons" type="string">true</merge> </match>
これでセンターボタン押下時にトラックポイントを上下左右に動かすことで縦横のスクロールが可能となる。
上記記事によると、/sys/devices/platform/i8042/serio? 以下にあるspeedとsensitivityの値を変更してやればいいらしい。が、再起動すると初期化されてしまうため、自動的に最適な値にしてやるようにします。
以下のような方針にて設定を行います。
まずはdmesgでトラックポイントデバイスの情報を取得します。
$ dmesg | grep input | grep TPPS/2 [ 9.004286] input: TPPS/2 IBM TrackPoint as /devices/platform/i8042/serio1/input/input10
続いて、この情報を元にudevadmを用いて*1デバイスの詳細情報を取得します。マウスの実態はinput10ディレクトリ以下のmouse?になるので、それに対する情報を取得する点に注意してください。
udevadm info -a -p /sys/devices/platform/i8042/serio1/input/input10/mouse3/ Udevadm info starts with the device specified by the devpath and then walks up the chain of parent devices. It prints for every device found, all possible attributes in the udev rules key format. A rule to match, can be composed by the attributes of the device and the attributes from one single parent device. looking at device '/devices/platform/i8042/serio1/input/input10/mouse3': KERNEL=="mouse3" SUBSYSTEM=="input" DRIVER=="" looking at parent device '/devices/platform/i8042/serio1/input/input10': KERNELS=="input10" SUBSYSTEMS=="input" DRIVERS=="" ATTRS{name}=="TPPS/2 IBM TrackPoint" ATTRS{phys}=="isa0060/serio1/input0" ATTRS{uniq}=="" ATTRS{modalias}=="input:b0011v0002p000Ae0000-e0,1,2,k110,111,112,r0,1,amlsfw" looking at parent device '/devices/platform/i8042/serio1': KERNELS=="serio1" SUBSYSTEMS=="serio" DRIVERS=="psmouse" ATTRS{description}=="i8042 AUX port" ATTRS{modalias}=="serio:ty01pr00id00ex00" ATTRS{bind_mode}=="auto" ATTRS{sensitivity}=="192" ATTRS{speed}=="97" ATTRS{inertia}=="6" ATTRS{reach}=="10" ATTRS{draghys}=="255" ATTRS{mindrag}=="20" ATTRS{thresh}=="8" ATTRS{upthresh}=="255" ATTRS{ztime}=="38" ATTRS{jenks}=="135" ATTRS{press_to_select}=="0" ATTRS{skipback}=="0" ATTRS{ext_dev}=="1" ATTRS{protocol}=="TPPS/2" ATTRS{rate}=="100" ATTRS{resolution}=="200" ATTRS{resetafter}=="5" ATTRS{resync_time}=="0" looking at parent device '/devices/platform/i8042': KERNELS=="i8042" SUBSYSTEMS=="platform" DRIVERS=="i8042" ATTRS{modalias}=="platform:i8042" looking at parent device '/devices/platform': KERNELS=="platform" SUBSYSTEMS=="" DRIVERS==""
ここから、udevルールに使えそうな値を選んでルールを作ります。
/etc/udev/rules.d/99-local.rules
# udev rule for IBM TrackPoint IV KERNEL=="mouse?", SUBSYSTEM=="input", ATTRS{name}=="TPPS/2 IBM TrackPoint", NAME="input/%k", SYMLINK+="input/tp4"
これで、/dev/input/tp4にトラックポイントデバイスが作成されます。
udevで作成した/dev/input/tp4をudevadmを使用してディレクトリを抽出。その後、sensitivityとspeedを設定する。
/etc/rc.local
temp=`udevadm info -a -p \`udevadm info -q path -n /dev/input/tp4\` \ | grep -v input \ | grep looking \ | sed -e 's/'\''/"/g' \ | cut -d '"' -f 2 \ | head -1` Tp4Sensitivity=/sys/$temp/sensitivity Tp4Speed=/sys/$temp/speed # Configuare for TrackPoint Device echo -n 192 > $Tp4Sensitivity echo -n 97 > $Tp4Speed
上記の例ではsensitivityに192, speedに97を設定しています。
09/07/12追記 インストール時のキーボードにJapan以外(Japan - Kana, Japan - OADG 109A)を選択すると以下のような挙動になるようです。
xmodmapで騙す場合は以下の方法を参考にしてください。
Kubuntu 9.04環境では、SCIM+Anthyの環境でかな入力を行う場合、配列に次のような相違があります。
一方、キーボードの表記通りの配列は以下のようになっています。
これらの違いを意識して入力するのは不便なので調整を行った時のメモ。
ちなみに、Kubuntu 9.04/i386環境ではこの様な調整は必要なく、表記通りの配列で入力を行うことが可能です。
.Xmodmapを作成し、問題のキーの調整を行う。具体的には次の通り。
$ xmodmap -pke > ~/.Xmodmap
作成してできた.Xmodmapを以下のように変更
! keycode 19 = 0 NoSymbol 0 NoSymbol 0 keycode 19 = 0 asciitilde 0 asciitilde 0 asciitilde ! keycode 132 = yen bar yen bar yen bar keycode 132 = bar bar bar yen bar yen
Kubuntu 8.04の時には~/.Xmodmapを自動的に読み込んでくれていたが、Kubuntu 9.04では読み込んでくれなくなっている。このため、.Xmodmapを自動的に読み込ますために、~/.kde/Autostart/ に以下のスクリプトを作成する。
~/.kde/Autostart/load_xmodmap.sh
#!/bin/sh xmodmap ~/.Xmodmap
これで、WindowsなどでのJISかな入力環境と同様に入力できるようになります。
KDE3.5 on Kubuntu 8.04の環境では、PrintScreenキーを押下するとKSnapshotが起動するように設定されていましたが、KDE4.2 on Kubuntu 9.04の環境ではPrintScreenキーを押下してもKSnapshotは起動しないようになっています。
ちなみに、デフォルトの設定では、デスクトップのスクリーンショットの取得はCtrl+PrintScreenで、ウィンドウのスクリーンショットの取得はAlt+PrintScreenで取得できるようになっている*1。
また、khotkeys*2の設定にそれらしいものはあるのですが、こちらにPrintScreenを割り当てても期待通りの動作はしません。
KDE4.2 on Kubuntu 9.04環境でPrintScreen押下でKSnapshotが起動できるように設定したときのメモ。