2008年2月28日木曜日

mltermをwindowsのランチャから起動

mltermをwindowsのランチャーから起動出来るようにしてみた。便利かも。CoLinux以外でも使えるし、もちろんmlterm以外でも。

plinkw user@host "mlterm -d
tapのアドレス:0
-w 12 -8=true --sb=false"


tapのアドレスはslirpでも良いんだけど、tapの方が速かったからtapのアドレス。
私はtapのアドレスを固定しているので、それをそのまま指定すればいい。
わからなければ、とりあえずsshでもtelnetでもいいからリモートからログインして、wとかwhoするかログを見る。

Xmingの設定でアクセス制限をしている場合、slirpならローカルホストになるのでxhostがそのまま使えるが、
tapだと当然別のアドレスになるのでうまく行かない。
最初は、

  • slirp経由でログイン
  • .bash_profileでxhostを使ってtap側のアドレスも接続可能にする
  • DISPLAYをtap側に設定
とやっていたが、なんかださいので調べたら、XmingをインストールしたディレクトリにあるX0.hostsに、アドレスを1行1ホストで羅列すればいいらしい。これでアクセス制限をかけていても面倒ではなくなった。

以下は最初は.bash_profileに書いていたが、ログインシェルじゃなくても良いように.bashrcに移した。

export ESPEAKER=tapのアドレス:16001
export GTK_IM_MODULE=uim
export LANG=ja_JP.UTF-8



2008年2月26日火曜日

Xmingで日本語入力(uim-anthy)

やっぱり、たまにmltermでも日本語を入れたいことがあったので、ちゃんと設定しておく。
前回は適当に検索してあきらめていたけど、Xでの日本語(等)入力の仕組み(XIMやらIIIM, GTK/QTのIMM)的に出来ないわけはないので、やってみたらとても簡単だった。
ubuntuなので、パッケージを入れて終了。

  • mlterm-im-uim
  • uim-gtk2.0
  • uim-anthy
mltermを含むgtkなアプリで日本語が化けていたのが気になっていたが、fontconfigで扱う日本語のフォントがなかったからだった。とりあえずパッケージがあるvl-gothicをいれたら、ちゃんと日本語も表示できるようになったので、Systemaも入れてみた。fc-cacheでいろいろやるのは覚えていたので、/usr/share/fonts/truetype/systemaにttfを突っ込んで、sudo fc-cache -fしたら使えた。

2008年2月22日金曜日

udevでethXを固定する

coLinuxにtapを追加してから、ネットワークの設定が自動でされなくなったので原因を調べたんだけど、書き忘れたので別エントリで書いておく。

問題
コマンドラインから起動するときと、サービスとして起動するときで違うMACアドレスが振られることがあるらしい。
MACアドレスとethXの対応をudevが記憶しているから、MACアドレスが変わるとethXが変わってしまい、eth0用の設定(ubuntuだと/etc/network/interfacesに書いてあるやつ)が適用されなくなってしまう。
なので、コマンドラインから起動したときのMACアドレスと、サービスとして起動したときのMACアドレスを両方同じethXになるように登録すれば解決。

対応
udevが対応を記憶しているファイル(/etc/udev/rules.d/70-persistent-net.rules)を見て、新規に追加されたエントリを割り当てたいethXにすればok。
私の場合は、元々eth0, eth1があったところにeth2, eth3が追加されたので、eth2→eth0, eth3→eth1にした。
こんな感じ

# PCI device 0x1a55:0x0005 (conet)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="サービス時のアドレス", NAME="eth0"
# PCI device 0x1a55:0x0005 (conet)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="コマンドライン時のアドレス", NAME="eth0"

2008年2月21日木曜日

tracでpsycoをつかう

tracもpythonで書いてあるんだから、psyco使ったら速くなるかな?とふと思ったので試してみた。
私の所では、mod_pythonを使っているので、trac/web/modpython_frontend.pyに以下を追加して試した。


import psyco
psyco.profile()

abで負荷かけてみたら、平均だと20msecぐらい速くなった。
min 154→130
mean 161→137
median 159→136
max 810→531

1000リクエストにかかった時間が、160sec→138secで22秒差だから大体あってるかな。



coLinuxを更新(20080220)

coLinuxをdevel-coLinux-20080220.exeに更新した。
いつの間にかcoaudio/covideoなんてものが。まだ動かないようだけど。

slirpだとやっぱり遅いので、tap接続を追加した。ついでにesdも。
これならfrozen-bubbleもそれなりに遊べる。



2008年2月14日木曜日

Kaspersky 7.0(MP1)を入れたらもっさり

ジャストシステムからのお知らせが来たので更新してみたら、explorerがやたら遅くなった。
調べてみたらMP1のトラブルシューティングにある現象っぽい。書いてあるとおりdnsq.dllとklif.sysを差し替えて再起動したら戻った。

11日からわかってたなら、ジャストシステムは、これの修正が自動更新に載るぐらいまで遅らせればいいのに。。



Windows版SafariでWebInspector

Windows版Safari 3.0.4でWeb Inspectorを使えるようにしてみた。WebKitのnightlyとか入れなくても、設定ファイルを書くだけで使えた。

C:\Documents and Settings\your name\Application Data\Apple Computer\Safari\WebKitPreferences.plist
を作って、内容はこんな感じ。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>WebKitDeveloperExtras</key>
    <true/>
</dict>
</plist>

ついでにdebugメニューもメモっておく。Preferences.plistに以下のエントリを追加。

<key>IncludeDebugMenu</key>
<true/>

  • パスのコピペをミスってたので修正
  • IncludeDebugMenuの方は、Mac版のコマンドライン見るとbooleanだからtrueにしてみた



2008年2月10日日曜日

Xmingいれた

やっぱりemacsをXで使いたいので(ターミナル経由だと送れないコードがあるから)、Xmingをいれてみた。
Windows側にフォントを入れるのが面倒なので、フォントサーバを使うことにした。

フォントサーバはなにも考えずに、apt-get install xfs
coLinuxで使ってるのがSlirpなので、7100:7100のマッピングをして、Xmingのフォントサーバに127.0.0,1を指定すればok。
emacs22-noxからemacs22に入れ替えて、emacsを起動したら無事に起動した。

Xmingのマルチウィンドウモードでは日本語入力をする術がないらしいが、日本語を入力するのはemacsだけでいいのでanthy-elを入れた。Windows側との違和感がないように、キーバインドを設定してみた。


(load-library "anthy")
(setq default-input-method "japanese-anthy")
(global-set-key [M-zenkaku-hankaku] 'toggle-input-method)
(global-set-key [zenkaku-hankaku] 'toggle-input-method)



2008年2月1日金曜日

MySQLのマージテーブルが壊れる原因

原因不明で悩まされてきた、一部のテーブルがやたら壊れる現象は、
マージテーブルの問題にかかれている、You cannotな操作をしているのが原因っぽい。
マージテーブルでまとめている各テーブルを、optimizeしてるよ。。

大きいインデックスを持つMyISAMのテーブルからレコードを削除すると、インデックスが壊れる問題(Bug #22384)は、4.1.22(4.1.21で直った)にして解決したはずなのに、まだ壊れるので困ってた。MERGEなのだけ壊れるはずだ。