週に一回は書きますよ 月に4つ記事を書けばノルマは満たされます。
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

configure the trackpoint @ thinkwikiに従います。次のファイルを作って再起動するだけ。

$ cat /etc/hal/fdi/policy/mouse-wheel.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.Emulate3Buttons" type="string">true</merge>
 <merge key="input.x11_options.EmulateWheelTimeout" type="string">200</merge>
</match>

XとYはなんとなく順序を変えてみました。

以下悪戦苦闘録。

Thinkpadのトラックポイントを使えるようにするより。xorg.confのInputDevice Sectionに書き足せばよいらしいです。しかし確認したところ、私のマシンのxorg.confにはそのSectionがありません。書きたせばよいのか?

とりあえずxorg.conf inputdevice trackpointとかで探しました。Thinkpad x200にdebianには違う方法が紹介されています。ただそれはxorg7.4以上じゃないとできないらしい。わたしのは?

$ dpkg --list | grep ' xorg '
ii  xorg                                       1:7.4~5ubuntu18                           X.Org X Window System

丁度7.4でした。なるほど。

ついでに別のubuntu機(8.04からupdateしてきたもの)のxorg.confを確認。InputDeviceの項目が次のようにコメントアウトされていました。

 # commented out by update-manager, HAL is now used
 #Section "InputDevice"

ここから冒頭の設定につながります。

設定次第ではfirefoxの横スクロールで前のページに移動してしまうらしい(例えばこの例)ですが、私の場合は普通に左にスクロールしてくれました。

スポンサーサイト

Windows 7 RCにvmware server 2.0を導入してみました。とりあえず備忘録。

  • ダウンロード。ユーザ登録を要求されます。
    • 昔server 1.0で登録したアカウントは使えませんでした。よって新たに登録。面倒。
  • インストール。fqdnを要求されたのでてきとうに返答。
  • 管理コンソールにログイン。賛否両論のあるウェブベースのインターフェスです。
    • ショートカットが、上で答えたhttps://てきとうなfqdn:8333/ui/に接続しようとするので繋がりません。
    • 手動でlocalhostに変更して、さらに証明されてないhttpsを強行突破します。
  • username/passwordの要求が来ます。文脈がなく何のアカウントかわかりませんでした。調べるとホストのユーザアカウントだと分かり、入力。

ここまでで管理コンソールに来ます。ローカルなのに微妙にレスポンスが悪いです。とりあえずdebian lennyを載せたvmを作ってみました。以下はまりどころ。

  • CDとしてisoファイルが設定できません。
    • datastoreの中においてあるものしか認識しない様子。'virtual machines'の下に置くか、あるいはiso用のdatastoreを登録すればよい。私は後者を採用。
  • VMできた。power on. しかし何も起きない? コンソールはどこから出るのか。
    • 個々のvmのメニューからコンソールを開くとよい。するとvmware consoleと追加active X(firefoxだと違うかも)をインストールするよう指示が出る。
      • Chromeだと出ない。ハマリ。
  • コンソールが出たらおとなしくインストール。

インストール画面まで出て、その後ちゃんとネットワークが繋がれば一安心です。私はこのあと一度トラブってvmが起動しなくなりましたが。再度vmを作って回避しました。

今のところはちゃんと動いています。今はsshを設定してputtyから入り、手持ちのgit repository内のプログラムがちゃんと動くか確かめています。このくらいのことは余裕。グラフィックは全く調べていません。

ところで、vmのネットワークデバイスをbridge接続にしてしまったのでIPアドレスが固定にできません。あるいは、別のネットワークに繋ぐとアドレスを変える必要が出たりします。IPアドレスが不定だとsshがしにくくて厄介です。どうしたものか。必要な時以外はNATに変えたほうがよいかもしれません。

あとメモ.

  • vmware server2のvmコンソールを直接起動することができます。これがあればブラウザ経由でアクセスする必要がありません。
    • sshを走らせるので正直コンソールすら不要ですが。
  • vmware server 2のweb accessを停止しておくとtomcatが走らないのでだいぶ計算資源が節約できます。上の方法などでコンソールしか起動しない場合はこれでok.
    • vmware serverのサービス全体を手動起動にするというもっと積極的な選択肢もあります。これを殺すとvmに繋ぐ度にサービスを順に立ち上げないといけないので不便そうですが。一度バッチファイルにしてしまえば楽かな。

急に無線が繋らなくなり、しばらくしたら何となく直りました。

経緯

  • 昨日(木曜) aptitude updateおよび safe-upgradeをかけた。そのときにカーネルのバージョンが上がり、再起動を要求された。
  • 再起動したら無線が立ちあがらなくなった。
  • とりあえず放置するも、今朝も無線が起動せず。
    • 何回か再起動をしてもまったく回復しません。

症状はこんなところです。

# ifup wlan0
SIOCSIFFLAGS: Resource temporarily unavailable
Could not set interface 'wlan0' UP
SIOCSIFFLAGS: Resource temporarily unavailable
SIOCSIFFLAGS: Resource temporarily unavailable
Failed to bring up wlan0.

$ dmsg
(snip)
[   11.684379] ath5k_pci 0000:02:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[   11.684393] ath5k_pci 0000:02:00.0: setting latency timer to 64
[   11.684450] ath5k_pci 0000:02:00.0: registered as 'phy0'
[   11.759647] phy0: Selected rate control algorithm 'pid'
[   11.857792] iTCO_vendor_support: vendor-support=0
[   11.903647] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.05
[   11.903782] iTCO_wdt: Found a ICH7-M or ICH7-U TCO device (Version=2, TCOBASE
=0x0460)
[   11.903858] iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
[   11.947271] ath5k phy0: Atheros AR5414 chip found (MAC: 0xa3, PHY: 0x61)
[   12.107628] HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22

(snip)

[   26.245198] ath5k phy0: noise floor calibration timeout (2412MHz)
[   26.245381] ath5k phy0: noise floor calibration timeout (2427MHz)
[   26.590719] ath5k phy0: gain calibration timeout (2427MHz)
[   26.590724] ath5k phy0: can't reset hardware (-11)
[   26.590728] wlan0: Failed to config new SSID to the low-level driver
[   26.935193] ath5k phy0: gain calibration timeout (2427MHz)
[   26.935199] ath5k phy0: can't reset hardware (-11)
[   26.935203] wlan0: Failed to config new BSSID to the low-level driver
[   32.312588] ath5k phy0: gain calibration timeout (2412MHz)
[   32.312595] ath5k phy0: can't reset hardware (-11)
[   32.312599] phy0: failed to set freq to 2412 MHz for scan
[   32.657112] ath5k phy0: gain calibration timeout (2417MHz)
[   32.657116] ath5k phy0: can't reset hardware (-11)

(snip)

どうも起動時に何か障害が起きているようです。ついでに、ath5k_pciというジョブがずっとCPUを100 %食っています。どうみてもおかしいです。

きっかけがアップデートなので、とりあえずカーネルのバージョンを下げてみます。バージョンは2.6.28-11から2.6.28-13に上がっていたので、とりあえず11に戻してみました。

直りました。

dmsgにあったエラーも無くなっています。それ以外は一致。これはレポートをしないといけない予感です。どこに投げればよいのか。

とりあえず最新カーネルで再度立ちあげて、不具合を確認してみます。

最新カーネルでも直りました。何故直ったし。上の通りエラーメッセージの他に変化が無いので何が悪かったのかわかりません。

とりあえずネットワークは使えるので、こうして記事を投稿しています。

Thinkpad x60sのHDDをSSDにしてみました。ついでに容量を倍増。既にノウハウはネット上に大量に転がっているので楽でした。


まず前準備。この辺りは平日夜に少しずつ進めます。

  • SSDを購入。
    • Intel X25-M 80 GBを四月に購入済。面倒なので放置してました。
  • 元のディスクのバックアップ。
    • mp3。mp3はノートに入れないことになるかもしれませんが。
    • レポジトリに入っていないソースコードを大量に回収。
  • Norton先生の自動期間延長をキャンセル。
    • 丁度メールが来ていたのでキャンセルしておきました。ノートンが起動されていない限り自動期間延長は発生しないように見えますが、念のため。
  • OSを準備。
    • せっかくだからクリーンインストールします。 50 GB のWindowsと30 GB のUbuntu。
    • Windows XPのCDが見つからない
      • せっかくだからWindows 7 RCを導入することにしました。
    • Windows 7 RC 32 bitのDVDとUbuntu 9.04 amd64のCDを用意。
      • 失敗その1 amd64はCore Duoでは動きません。
  • ドライバを用意。
    • Lenovoの冊子によるとC:\IBMTOOLSとC:\SWTOOLSは保存しておけとのことなのでUSBメモリに保存。
      • 結局使いませんでした。


並行して事前調査。Lenovoの冊子によるとOS再インストールの時はAHCIドライバをOS入れないと酷いことになるとのこと。あとは無線が不安です。あまりはっきりとした地雷はなさそうなので、実際に問題が出るまで対処しないことに。


ここで週末を待ちます。週末になったら次の作業を開始。


まずHDD換装

  • HDD換装。
    • にぽたん研究所の記事が写真付きで詳しい。
    • Lenovoの冊子には、「"両脇についてたゴムのやつ"を新しいハードディスクに付けろ」とありましたが、私はにぽたん研究所の記事に従って "HDDが付いていたケース的なもの" も付け替えました。ケース的なものにはHDDを引っぱり出せる用のビニールのピラピラが付いているので便利。


ついでUbuntu 9.04の導入。

  • UbuntuのCDを入れたDVDドライブを付けて起動。
    • 失敗その2. Windowsを後に入れると容赦なくMBRを書き換えてしまうのでよくない。先に入れるべき。
  • ブートしない件。
    • thinkpadに載っているCore Duoではamd64が動かないということにやっと気づく。
    • 一時間かけてi386版をDL。
      • ついでに風呂。
  • Ubuntuをインストール。
    • パーティションを20000 MB + 3000 MBのswap.と切る。残りはWindowsへ。
  • Ubuntuを起動。
    • すぐにwifiが使えることに感動。今までこんなことはありませんでした。


Ubuntuの設定は放っておいてWindowsも導入。

  • Windows 7のDVDをセットして再起動。
  • Lenovoの手引きに従ってインストール中にAHCIのドライバをとりあえず入れてみようとするも失敗。
    • そのまま無視しました。動かなくなっても再度インストールすればよいです。今のところ問題は起きていません。Vista以降はちゃんとOS付属のドライバが効くのかな。
  • Custom installを選択して空き領域を指定。
  • インストール中に再起動を要求される。
    • そのまま再起動したらまたDVDから起動してまた始めからインストールを要求される。おいおい。
    • DVD外して再起動。
  • Windows 7 の登場。わりと普通に動きます。


ところで再起動したらWindows 7 しか起動しなくなりました。GRUBを上書きされたのでしょう。修復しないといけません。

  • Ubuntu CDから起動。
  • "Try ubuntu without any change to your computer"を選択。
  • $ mount でどこにハードディスクがマウントされているか確認。
    • どこにもext3がいない。つまりマウントされてなかった。
  • とりあえず適当にマウント
    • # mkdir /mnt/disk && mount -w -t ext3 /dev/sda1 /mnt/disk
  • grub-installする
# grub-install --root-directory=/mnt/disk /dev/sda
[: 494: =: unexpected operator
Installing GRUB to /dev/sda as (hd0)...
Installation finished. No error reported.
This is the contents of the device map /mnt/disk/boot/grub/device.map.
(ry うまくいったっぽい?)
  • 再起動. linux が起動することを確認。
  • /boot/grub/menu.lstを編集してWindowsを足す。
title Microsoft Windows 7.
root (hd0,2)
savedefault
chainloader +1
  • 再起動。Windowsが起動することを確認。


ここまでで四時間程度でした。

  • 無線のトラブルが全くなかった。運がよかったのかなんなのか。
    • 特にUbuntuで無線がすぐに繋がったのにはおどろきです。
  • grub修復は手間取りました。ここにはさらっとしか書いていませんが。ハードディスクにchrootしろと書いてあるブログがいくつかあるものの、それに従うと/dev/sdaが見えなくなるのでgrub-installが失敗してしまいます。結局chroot無しでできる方法を探しました。
  • Windows 7にSSD用の設定を書かなければいけないのかよくわかりません。fsutil disablelastaccess は既に1になっていました。
  • Windows 7は軽い。
  • Windows 7は使いかたがよくわかりません。ゲームとitunesを入れるとわかってくるかも。
  • Ubuntuはvmware内で使用するというオプションもありました。そうすると再起動しなくてもOSを変えられます。

型レベルプログラミングの会にいってきました。何度もコンパイラに整数計算を強制させるアツい会でした。

C++の可変長テンプレートを使うと型リストが異常に定義しやすくなっていて衝撃でした。cons cell定義しなくても型リストが使えます。どうしたC++。

template <typename... Args>
class Hoge {};  // Primary template.

template <>
class Hoge<> {};  // template with [].

template <typename Head, typename... Tail>
class Hoge<Head, Tail...>  {};  // template with cons.

パターンマッチさえあればcons cellは不要でしたの巻。

さらに、"..."で自明な繰り返しを表現できます。そのため、再帰せずにmapが定義できます。ちなみにこの...の使い方は他の何かの言語でもあった覚えがあります。どの言語か忘れてしまいましたが、...を複数使った時にどのようにループするかの定義があったはず。

scalaはとりあえずインストールしてみないといけないと思いました。それから正直Haskellの型レは私が慣れてなさすぎるのか全くついていけませんでした。ちょっといろいろ読まないといけない。FunDepsの何故型チェック通らないのかの下りとかが掴めませんでした。Prologと違って型がバックトラック無しに単一に解決できないといけないからかしら。

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。