NetWalker購入

昨日、突然無性に欲しくなってしまい、今日NetWalkerを購入してきた。miniUSBホスト端子用をUSBに変換するアダプタも購入。miniUSB端子の後ろ側にACアダプタコネクタ接続端子があるので、手前側にくるようなタイプにした。

普段はDebian5とSolaris10ばかり(あ、WindowsXPももちろん)使用しているので、Ubuntuは慣れてない…。以前VMwareでちょこっと触ったくらいで。ぼちぼちいじっていこうと思う。

以前から持っていたBUFFALOのLUA-KTX(残念ながら現在は販売終了)で有線で自宅LANに繋いだところ、問題なく接続できた。お約束の、eth0として認識されている。

NetWalkerのマニュアルには、Ubuntuのことはほとんどなにも書いてない。これじゃ、初心者が間違えて購入したら、死ぬほど後悔するんじゃないかなぁ。

さて、セットアップを始めよう。

楽天を語るフィッシング?それとも安全?、いずれにせよ楽天を退会

携帯に直接、Myプロフという送信者から、

「みぃさんからメッセージが届いています★」

というメールが届いた。

Myプロフなどというサービスを使ったことすらないし、全く知らない人から。気になったので、調べてみた。

メッセージヘッダを確認すると、nvc04.ynot.co.jp(172.26.1.197)から来ている。そもそも送ってきたホスト名が楽天ではない。怪しい。

メッセージを見るためのサイトアドレスは

$ dig mpr.rakuten.co.jp

; <<>> DiG 9.3.6-P1 <<>> mpr.rakuten.co.jp
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 682
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;mpr.rakuten.co.jp. IN A

;; ANSWER SECTION:
mpr.rakuten.co.jp. 3535 IN A 203.190.60.31

203.190.60.31のようだ。

また、「楽天市場でショッピング」とクリックできるアドレスがあったので、

$ dig mp.rakuten.co.jp

; <<>> DiG 9.3.6-P1 <<>> mp.rakuten.co.jp
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 409
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4

;; QUESTION SECTION:
;mp.rakuten.co.jp. IN A

;; ANSWER SECTION:
mp.rakuten.co.jp. 3600 IN A 211.4.177.12

;; AUTHORITY SECTION:
rakuten.co.jp. 2162 IN NS ns03c.rakuten.co.jp.
rakuten.co.jp. 2162 IN NS ns02c.rakuten.co.jp.
rakuten.co.jp. 2162 IN NS ns01c.rakuten.co.jp.
rakuten.co.jp. 2162 IN NS ns04d.rakuten.co.jp.

;; ADDITIONAL SECTION:
ns01c.rakuten.co.jp. 2425 IN A 202.72.49.60
ns02c.rakuten.co.jp. 2425 IN A 202.72.49.1
ns03c.rakuten.co.jp. 2425 IN A 202.72.49.61
ns04d.rakuten.co.jp. 2425 IN A 203.190.57.136

211.4.177.12で、楽天とはずいぶん異なる。ただし、楽天DNSサーバがこのIPアドレスを返しているように見える。

いわゆる楽天市場のアドレスは

$ dig www.rakuten.co.jp

; <<>> DiG 9.3.6-P1 <<>> www.rakuten.co.jp
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 725
;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.rakuten.co.jp. IN A

;; ANSWER SECTION:
www.rakuten.co.jp. 2417 IN A 202.72.53.58
www.rakuten.co.jp. 2417 IN A 202.72.53.1
www.rakuten.co.jp. 2417 IN A 202.72.50.130
www.rakuten.co.jp. 2417 IN A 202.72.50.129
www.rakuten.co.jp. 2417 IN A 202.72.50.128
www.rakuten.co.jp. 2417 IN A 202.72.50.127
www.rakuten.co.jp. 2417 IN A 202.72.53.64
www.rakuten.co.jp. 2417 IN A 202.72.53.63

202.72.50.XXないしは202.72.53.XX辺りのクラスCアドレスのようだ。

これらの情報から、(楽天DNSサーバが返しているアドレスなので、)mp.rakuten.co.jpは問題無いのかもしれない。
mpr.rakuten.co.jpは、(楽天がクラスBのアドレス範囲203.190を持っているとは考えにくいので)怪しい。。。

メールメッセージヘッダ、クリックせよと言っている先のサイトIPアドレスが怪しい。

気持ち悪いので、楽天に問い合わせようと思ったところ…。

30分程、ヘルプ、楽天トップページ、総合案内所などを探してみたのだが、問い合わせ先が見つからない。普通のWebサイトなら、「お問い合わせ」がトップページのどこかにあって良さそうなものなのに。。。

個人的に、最初に来た怪しいメール、それを問い合わせる先がわからない、と、印象が悪くなったので、楽天は退会した。

NTEmacs 23.1はVMwareゲストなWindowsXP SP3でビルドすると危険

Linux(64bit)ホスト、WindowsXP Pro(32bit)ゲストでNTEmacsのビルドを試してみた。

数回試してみたが、make bootstrap処理中、xxx.elのコンパイルの途中でハングする。これが、ゲストWindowsのmakeコマンドのみならず、ホストOS全体をハングアップさせてしまう。

使用したのは、以下の環境

ホスト: Debian GNU/Linux 5 lenny amd64(64bit)
ゲスト: Windows XP Professional(32bit)
仮想マシン: VMware Player 3.0

原因は不明だが、数回試してみて、かならずホストOS含めハングアップしたので、上記環境ではNTEmacs 23.1(+IME patch)のビルドは行わない方が良いと思われる。

IME patchを適用したemacs 23.1(NTEmacs)のビルド

emacs 23.1がリリースされてから結構たつのに、NTEmacs JP Projectさんから、なかなかバイナリがリリースされない。(IME用patchは2009/08/04にリリースされている)

しびれを切らして、自分でビルドしてみることにした。JOhn DOeさんの、Windows用Emacs22.1(NTEmacs)をMinGW+MSYSでビルドという日記を参考にさせてもらった。

環境は、Windows XP Professional SP3にMinGW+MSYS+グラフィック関係ライブラリで行った。

おおざっぱだが、手順だけ記録しておく。

ちなみに、できたバイナリは、ここに置いている。

Windows上に、ビルド環境を準備

開発環境をインストール
  • MinGWサイトから、MinGWをダウンロードする。メインページの左メニューのNavigationの中に、Downloadsというのがあるので、そこから。今回はMinGW-5.1.6.exeをダウンロードした。実行すると、デフォルトでC:\MinGWにインストールされる。
  • MSYSをダウンロードする。上記MinGWのダウンロードページの下〜の方に、MSYS-1.0.11.exeというのがあったので、今回はこれをダウンロードした。実行すると、デフォルトでC:\msys\1.0にインストールされる。
画像関係のライブラリをインストール

GnuWin32 Packagesから、NTEmacsのビルドに必要なライブラリをダウンロードしてきている。

必要なのは、Jpeg、LibPng、LibUnGif、Tiff、Xpm、Zlib。各パッケージ右側のSetupリンクをクリックして、ダウンロードする。全てインストールする。これらは、C:\Program Files\GnuWin32にインストールされる。

  • C:\Program Files\GnuWin32\include内のヘッダファイルを、まるごとC:\MinGW\includeにコピーする。また、C:\Program Files\GnuWin32\lib内の、拡張子が.aのファイルを、まるごとC:\MinGW\libにコピーする。これはMSYSコマンドプロンプトで以下を実行すると良い。

galaxy@BLACKHOLE
$ cd /c/Program\ Files/GnuWin32
galaxy@BLACKHOLE
$ cp -a include /mingw
galaxy@BLACKHOLE
$ cd lib
galaxy@BLACKHOLE
$ cp -a *.a /mingw/lib

上述GnuWin32 Packageから、Xpm(一番左側のリンク)をクリック。・SourcesのSetupをクリックしてダウンロードする。

C:\Program Files\GnuWin32\src\xpm\3.5.1\libXpm-3.5.1-src\libにある(3.5.1はりリースによって異なると思われる)、simx.hをC:\MinGW\includeにコピー。

galaxy@BLACKHOLE
$ cd /c/Program\ Files/GnuWin32/src/xpm/3.5.1/libXpm-3.5.1-src/lib
galaxy@BLACKHOLE
$ cp -a simx.h /mingw/include

ソースの準備、パッチ適用

emacs-23.1のソースをGNUのダウンロードミラーからダウンロードしてくる。lhacaなどを使用すると展開できる。

NTEmacs JP Projectから、Emacs-23.1-IME.patch.gzをダウンロードしてくる。これも圧縮されているので展開しておく。以下のコマンドプロンプトのように配置しておく。MSYSを起動し、ファイルをC:\usr\local\srcに配置した例。

galaxy@BLACKHOLE
$ mkdir -p /c/usr/local/src
galaxy@BLACKHOLE
$ cd /c/usr/local/src
galaxy@BLACKHOLE
$ ls
Emacs-23.1-IME.patch.gz
emacs-23.1.tar.bz2
galaxy@BLACKHOLE
$ gunzip Emacs-23.1-IME.patch.gz
galaxy@BLACKHOLE
$ tar xjf emacs-23.1.tar.bz2
galaxy@BLACKHOLE
$ ls
Emacs-23.1-IME.patch emacs-23.1
galaxy@BLACKHOLE
$ cd emacs-23.1
galaxy@BLACKHOLE
$ patch -p3 < ..\Emacs-23.1-IME.patch

ビルド

私は、以下のようにしてビルドした。上記ディレクトリから、

galaxy@BLACKHOLE
$ cd nt
galaxy@BLACKHOLE
$ cmd
Microsoft Windows CP [Version 5.x.xxx]
Copyright 1995-2001 Microsoft Corp.
C:\usr\local\src\emacs-23.1\nt>configure.bat --enable-w32-ime --cflags -DIME_CONTROL --cflags -DRECONVERSION --cflags -D_UNICODE
  :
C:\usr\local\src\emacs-23.1\nt>make bootstrap
  :
C:\usr\local\src\emacs-23.1\nt>make install INSTALL_DIR=C:/usr/local
C:\usr\local\src\emacs-23.1\nt>exit
galaxy@BLACKHOLE
$ exit

これで、NTEmacs 23.1 IMEパッチ適用済みバイナリが、C:\usr\local配下にできる。

最後に、C:\Program Files\GnuWin32\binにあるdllファイルをC:\usr\local\binにコピーしておく。MSYSだと、

galaxy@BLACKHOLE
$ cp -a /c/Program\ Files/GnuWin32/bin/*.dll /c/usr/local/bin

Linux Zaurusでemacs 23.1 - 使用時の補足

emacs 23.1は、通常の*nix、例えばDebian GNU/Linux 5.0 lennyやSolaris10では、coding systemを自動判別してくれる。このため、emacs 22の時に$HOME/.emacs.elに設定していた設定を省いて使用していた。

のだが、Linux Zaurusの場合は、そうは行かなかった。キャラクタセットの判別ができないライブラリかなにかなのだろう。全体的に、今時のOSディストリビューションに比べると、古いライブラリを使用しているし。

ということで、以下の設定が必要。(Linux Zaurusは、デフォルトロケールEUCなので、以下のようになる。)

(set-language-environment 'japanese)
(setq prefer-coding-system 'euc-jp-unix)
(set-buffer-file-coding-system 'euc-jp-unix)
(set-file-name-coding-system 'euc-jp-unix)
(set-terminal-coding-system 'euc-jp-unix)
(set-keyboard-coding-system 'euc-jp-unix)

なお、ついでに書いておくと、emacs 23.1では、embedded-konsoleや、TeraTermでログインして使う、端末からの使用時も、ファンクションキーカスタマイズがウィンドウ版と同様にできるので便利。
例えば、

(global-set-key [f2] 'split-window-vertically)

と記述するだけで、F2キーを押すと、端末内のemacsウィンドウが縦に二分割される。以前はキーの部分を"\C-[[12~"などと、実際に端末に入力されるキーストロークを記述する必要があったので、かなり便利になった♪

VMware Player 3.0 for LinuxホストでCPU使用率100%になる問題

Linuxホスト上で動作させるVMware Playerにて、ゲストOSを動作させたままにしておくと、CPU使用率が100%になる問題が発生した。

実際の環境は、

Core2Duo E8400なマシンをDebian GNU/Linux 5 lenny amd64(x86_64)で動作させる。これにVMware Player 3.0をインストール。(Debianはホストとしてはサポートされていないが、今回の問題はUbuntuでも発生しており、Debianがホストであったことはさほど影響ないと考えられた。)

ゲストOSはSolaris10 10/09。

しばらく(1〜2日)動かしていると、Debianで表示させているxloadコマンドにより、片方のCPUコア使用率が100%になっていることがわかった。

googleで調べたところ、VMware Toolsのアップデートの問題らしいということがわかった。アップデートのチェックにCPU資源を消費している?

以下の対処で、おさまったようだ。

1. VMware Playerを起動する。
2. 「ファイル」メニューの「環境設定」をクリックし、環境設定ダイアログを開く。
3. 「今すぐすべてのコンポーネントをダウンロード」をクリックし、VMware Toolsなどのコンポーネント全てをダウンロードする。

その後、Solaris10ゲストを動作させたところ、CPU資源消費の問題は発生しなくなったようだ。