ThinkPad X31再利用計画(Ubuntu化)

長年愛用してきたThinkPad X31だが、いよいよヤバくなってきた。Windows XPがSP3になった頃からしんどくなって来たと感じていたが、ここ最近べらぼう重くてさすがに我慢出来なくなった。この期に及んでまだセキュリティパッチが続々とリリースされるし(もちろんMSが永らくXPをサポートしてくれていることは評価しているが)、もう限界だと言うのが正直な気持ちだ。XPのくせに重すぎる・・

というわけで思い切ってUNIX系のOSに変更する事にした。なぜならWindowsはパッチパッチの継ぎ接ぎで使いつづければ重くなる構造、UNIX系は多少肥大はすれども、ファイルの差し替えなので肥大化は比較的抑えられると理解しているから。実際、使いつづけて著しくパフォーマンスが落ちた事は今のところない。

さて、ディストリビューション選びだ。 真っ先に思いついたのはUNIX系OSを覚えるきっかけとなり私を育ててくれたFreeBSDだ。もしくはOpenBSDでもシンプルで良いかも知れない。そう考えたのだが、Firefoxの使用を前提とした時にやや面倒な事が頭に浮かび見送ることにした。

次にSolaris10が浮かんだのは、言うまでもなくIMにATOKを実装していること。これはタイピングが快適なX31には強い武器となるのだが、いかんせんSolarisはもはや死に体な訳で、サーバー用途ならまだしもデスクトップ用には制限が多すぎると判断し却下した。

という訳で無難にLinuxでいきますか。 と考えたときに慣れたRedhat系がいいと思ったのだが、CentOSの事もあるし、Redhat系はパーソナルユースには向かないと考えるべきだろうと言う考えに至った。一時期使っていたVinelinuxもRedhat系の知識が活かせるのでこれも候補にしたが、パッケージの更新やらコミュニティの力を考えるとやや心許ない。結局は慣れの問題だからと言うことでDebian系で行く事に決めた。

最有力は、やはりUbuntuだろう。OSと戯れる時期は私はもう過ぎたつもりなので、やりたいことをすぐにやれて、余計な手間がかからない方が良いと考えた。Ubuntu 10.04LTSのISOファイルダウンロードしてCD-Rに焼き付けた。USBMEMブートも考えたがおそらく使いつづける事になるだろうと判断してメディアに焼いた。

インストールはあっさり終わり、パッケージのアップデートを行ったが非常に快適である。Firefox4へのアップグレードはPPAリポジトリを使用した。後はThinkPad向けのチューニングを行うだけだ。

トラックポインタは問題なく使用できているが、センターボタンを押しながらトラックポインタの上下でスクロールが出来ない。これは非常に使い辛いのでカスタマイズを行う。

こちらのサイトがZ61のインストールTIPSだが充分参考になる。まぁ書いてあるとおりなのだが、/usr/lib/X11/xorg.conf.d/に適当なconfファイルを作って、xorgに読み込ませるだけの話だ。一応自分の備忘録の為に手順を転記しておく。

$ sudo vi /usr/lib/X11/xorg.conf.d/20-trackpoint.conf
Section "InputClass"
Identifier      "Trackpoint Wheel Emulation"
MatchProduct    "TrackPoint"
MatchDevicePath "/dev/input/event*"
Driver          "evdev"
Option          "EmulateWheel" "true"
Option          "EmulateWheelButton" "2"
Option          "EmulateWheelTimeout" "200"
Option	    "Emulate3Buttons"	"false"
Option          "YAxisMapping" "4 5"
Option          "XAxisMapping" "6 7"
EndSection

Xを再起動すれば、センターボタンを使ってスクロールが出きるようになった。

もう一つ厄介なことがTPにはある。カーソルの横に居座る、忌まわしきブラウズキーの存在である。こいつのおかげでX31を買った当時、かなりブルーな思いをさせられたが、キーボードカスタマイズユーティリティーをIBMがリリースしてくれて直ぐさま無効にしたのは忘れられない。このブラウズキーがLinux環境でも邪魔する訳だ。

確か、キーの番号は [166]と[167]だったと記憶しているが、確証を得る為に調べてみる。xevでxのイベント情報を表示出来るので、ターミナルを起動してxevを実行する。キーボードやマウスの操作に応じてイベントがズラズラと表示されるので、慎重にブラウズキーを押してみて番号を調べる。やはり [166]と[167]で正解だった。[XF86Back]と[XF86Forward]が問題の部分。

デフォルトブラウズキー
KeyPress event, serial 33, synthetic NO, window 0x4800001,
root 0xee, subw 0x4800002, time 132245, (64,65), root:(662,116),
state 0x0, keycode 166 (keysym 0x1008ff26, XF86Back), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 36, synthetic NO, window 0x4800001,
root 0xee, subw 0x4800002, time 132355, (64,65), root:(662,116),
state 0x0, keycode 166 (keysym 0x1008ff26, XF86Back), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 36, synthetic NO, window 0x4800001,
root 0xee, subw 0x4800002, time 171970, (64,65), root:(662,116),
state 0x0, keycode 167 (keysym 0x1008ff27, XF86Forward), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 36, synthetic NO, window 0x4800001,
root 0xee, subw 0x4800002, time 172121, (64,65), root:(662,116),
state 0x0, keycode 167 (keysym 0x1008ff27, XF86Forward), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False

という訳でこいつらを無効にするより簡単に左向きは普通にLeft、右向きはRightにする事に決めた。要するに単なるカーソルキーと同じだ。調べてみたところ、.xmodmapというファイルをホームディレクトリに配置すればそれを読んでくれるみたいだ。ではさっそく実行だ。

$ vi ~/.xmodmap
keycode 166 = Left
keycode 167 = Right
$ xmodmap ~/.xmodmap

これでただのカーソルキーが出来た。Firefoxで検証してみたが、Webブラウザのページを戻したり進めたりと余計な事してくれないのでこれでオッケーだ。テキストエディタ上では単なるカーソルキーとして機能している。

ブラウズキーマップを変更後
KeyPress event, serial 33, synthetic NO, window 0x4c00001,
root 0xee, subw 0x0, time 366846, (12,7), root:(610,58),
state 0x0, keycode 166 (keysym 0xff51, Left), same_screen YES,
XKeysymToKeycode returns keycode: 113
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 36, synthetic NO, window 0x4c00001,
root 0xee, subw 0x0, time 366988, (12,7), root:(610,58),
state 0x0, keycode 166 (keysym 0xff51, Left), same_screen YES,
XKeysymToKeycode returns keycode: 113
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 36, synthetic NO, window 0x4c00001,
root 0xee, subw 0x0, time 368084, (12,7), root:(610,58),
state 0x0, keycode 167 (keysym 0xff53, Right), same_screen YES,
XKeysymToKeycode returns keycode: 114
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 36, synthetic NO, window 0x4c00001,
root 0xee, subw 0x0, time 368257, (12,7), root:(610,58),
state 0x0, keycode 167 (keysym 0xff53, Right), same_screen YES,
XKeysymToKeycode returns keycode: 114
XLookupString gives 0 bytes:

xevで調べてみると、キーマップが置き換わっているのが分かる。これでブラウズキーの忌まわしい挙動に悩まされずに使用することが出来る。X31のキータッチは好きだしこのサイズが手頃だからまだまだ活躍してほしいのだ。後はPythonの学習環境を整えるだけだな。

Ubuntu素晴らしいです。本買えばCaonical社に寄付みたいになるのかな?いやそれは無いな。 かと言って有償サポートを申し込む金はない。出きることと言えばUbuntuの普及(布教活動?)くらいなもんか。今後も続けてほしいから草の根活動をしようっと。

コメント

Comment spam is annoying.

There has been an increase in comment spam, but we decline it. It’s pointless because we use Akismet to block spam comments. Spam comments will not be posted.

コメントスパムが増えていますがお断りします。akismetでスパムコメントを弾いているので無意味です。スパムコメントは掲載されません。

ブロックしたスパム

DMM広告

タイトルとURLをコピーしました