ハングアップの日々

2003年 10月分

2003/10/30

 日本語対応 rxvt-2.7.10-3 を使ってみた。rxvt-2.7.9-4-j05.4a とは違って、DOS 窓以外から起動したときに一瞬 DOS 窓が開くのが気になった。XFree86-startup-scripts の中にある run.exe 経由で起動すれば DOS 窓は開かないということだったので試してみることにした。しかし、これだけのために Cygwin に X を入れるのはあほらしいので、まず、Cygwin のインストーラを使って XFree86-startup-scripts-4.2.0-5.tar.bz2 を DL しておいて、インストーラを使わずにこれだけを解凍して使うことにした。rxvt へのショートカットを、

E:\cygwin\usr\X11R6\bin\run.exe /bin/rxvt -km sjis -fn Terminal -fm Terminal -rv -sr -geometry 80x25 -e bash --login -i

というように変更して設定完了。無事最新の rxvt が使えるようになった。

2003/10/26

 FIVA の Cygwin 上で rxvt が起動しない原因が判明した。/etc/passwd で指定されているホームディレクトリと実際のホームディレクトリ名の大文字小文字が一致していなかったのが原因だった。/etc/passwd を修正したところ、rxvt も cygterm + Tera Term Pro も問題なく起動するようになった。

 掲示板の設定を変更して、メールアドレスを書かなくても良いようにしてみた。

2003/10/25

 Spam Mail Killer で誤削除が1件あった。To: または Cc: に、kentkt@anet.ne.jp 以外の @anet.ne.jp が付くメールアドレスが含まれていると spam と見なすという設定に引っかかってしまったのである。@anet.ne.jp 宛のメールアドレスが連名で書かれているようなメールは 99.9% 以上が spam な訳だが・・・。

2003/10/24

 日本語の spam が1件来たが、Spam Mail Killer に引っかからなかった。何か良い削除条件はないかと見てみると、その spam は quoted-printable エンコーディングが使われていた。早速、メールヘッダ内に、

Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: quoted-printable

が含まれているメールを削除するように条件を追加した。ちなみに通常の日本語メールでは、

Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit

となっているはずである。
 念のため、spam ではないメールで quoted-printable エンコーディングが使われた日本語メールが送られてきたことがないか調べてみたところ・・・M$ からのメールは quoted-printable だった。ハァ? やはり M$ のやることは狂っている。ほかにも1人、quoted-printable な日本語メールを送ってきた人がいたが・・・まあ、それは数年前のことなので、どうでも良い。

 FIVA で rxvt が起動しない件だが、libW11.dll が複数存在していると rxvt が起動しないことがあったという話を見たので調べてみたが、関係ないようだった。rxvt だけでなく、cygterm + Tera Term Pro も起動しないのが気になる。

2003/10/22

 Ls150 にインストールした Cygwin のプロンプトの表示がおかしい。FIVA では、プロンプトにユーザー名、ホスト名、カレントディレクトリがカラー表示されているのに、Ls150 ではそれが表示されないのである。調べてみると、Ls150 と FIVA では、/etc/profile の内容が全く違っていた。Cygwin を更新しても、/etc/profile は更新されなかったため、FIVA の方は大昔の /etc/profile がそのまま残っていたようである。古い /etc/profile なら問題ないのに、新しい方では動かない原因を調べてみると、どうやら、Win9x の問題のようである。新しい /etc/profile では、$0 を調べてシェルの種類を判別し、それに応じて適切な環境変数を設定するようになっていたが、シェルの判別に失敗していた。というのも、Win9x では GetModuleFileName() 等で実行ファイル名を取得すると、ファイル名がすべて大文字になってしまう。その影響で $0 に設定されていた実行ファイル名も大文字になっていたのである。そこで /etc/profile の

# Shell dependent settings
case "$0" in
bash     | -bash     | */bash | \
bash.exe | -bash.exe | */bash.exe )

という部分を、

# Shell dependent settings
case "$0" in
bash     | -bash     | */bash | \
bash.exe | -bash.exe | */bash.exe | \
BASH     | -BASH     | */BASH | \
BASH.EXE | -BASH.EXE | */BASH.EXE )

と書き換えたところ、プロンプトが正常に表示されるようになった。
 Ls150 のプロンプトが直ったので、その /etc/profile を FIVA にコピーしたところ、こんどは、FIVA で ~/.bashrc に書き込んだ内容が設定されなくなってしまった。調べてみると、FIVA には ~/.bash_profile が無かった。/etc/skel/ から .bash_profile をコピーしたところ、FIVA でも ~/.bashrc が無事読み込まれるようになった。

 Ls150 のプロンプトが直ったのはよいのだが、プロンプトでホスト名が表示されるはずのところになぜかユーザー名が表示されている。不思議に思って、winipcfg を実行してみると、こちらでもホスト名が表示される部分にユーザー名が表示されている。
 「ネットワークコンピュータ」のプロパティを開いて、「識別情報」タブの「コンピュータの説明」の欄に「コンピュータ名」と同じ文字を設定したところ、ようやくホスト名が正しく表示された。「コンピュータの説明」欄を設定しないとホスト名が設定されないというのは、かなり謎である。「コンピュータ名」=「ホスト名」で何の問題もないと思うのだが。

 「Cygwin + Cygwin JE」を購入。以前から、Cygwin 上で日本語入力ができないのが不満に思っていたのだが、どうやら、Win9x 系では MS-DOS プロンプトを使う限りどうにもならないらしい。しかし、rxvt などを使えば Win9x 系でも日本語入力が使えると書かれていたので、早速 rxvt をインストールしてみることにした。Ls150 では問題なく動いたのだが、FIVA では Cygwin 内から rxvt を起動しようとすると、何も表示せずに終了してしまう。謎だ。
 rxvt のほかに、cygterm + Tera Term Pro も試してみたが、こちらは less や vim で PageUp/Down によるスクロールがうまくいかない。rxvt の方が使い勝手が良さそうである。
 rxvt で vim を使うと、バックが白だと文字が見えなかったり、色の付いた文字がすべて bold で表示されてしまい困っていた。調べてみると vim の設定に問題があったようだ。日本語対応の Cygwin 用 vim 等を配布していた yzone 氏のサイト(行方不明)から持ってきた .vimrc を使っていたのだが、これの問題だった。文字の色を白に固定していた部分を削除し、Green, Magenta などの代わりに darkGreen, darkMagenta などを使ったところまともに見えるようになった。しかし、rxvt では明るい色を使うと必ず bold になってしまうのだろうか? (変更後の .vimrc

2003/10/16

 Mozilla 1.5 と Mozilla Firebird 0.7 をダウンロードしようとしたが、混んでいるようでなかなか落ちてこない。ミラーサイトの1つである Ring サーバ (OCN) から DL できた。
 早速、Mozilla 1.5 と Mozilla Firebird 0.7 をインストール。少し使ってみたが、とくに問題なく動いている。Windows 版は、今まで通り bsscroll.pl を使うことで、BackSpace で逆スクロールができるようになった。
 研究室の Linux マシンにも Mozilla 1.5 を入れてみたが、こちらはなぜか、BackSpace での逆スクロールができなくなってしまった。困ったことだ。
 よく確かめてみると、Windows でも bsscroll.pl を使っただけではソース表示の画面では BackSpace での逆スクロールはできず、userHTMLBindings.xml を res/builtin ディレクトリに入れることで、ソース画面でも BS で逆スクロールができるようになった。そこで、Linux でも同じように試してみたところ、こちらは userHTMLBindings.xml を入れただけで、メイン画面でも BS で逆スクロールができるようになった。なぜか、Linux 版では comm.jar を書き換える必要が無くなってしまったということになる。

 大学生協へ行ったら、「CPUの創りかた」が再入荷していた。今回はたっぷりと 10冊以上は置いてあった。

 MNG Plug-in, MNG4IE というソフトがあるそうだ。各ブラウザで MNG 形式が表示できるようになるプラグインらしい。面白そうだが、肝心の MNG 形式を出力するにはどんなソフトを使えばいいのだろうか。

2003/10/15

 久しぶりに、Cygwin をバージョンアップしてみた。いつの間にか Cygwin のバージョンが 1.3.x から 1.5.5 に上がっていた。GCC も 2.95 から 3.3.1 になっていた。ruby もインストールできるようになっていた。これを機会に ruby に手を出してみるのも面白いかもと思い、とりあえず一緒にインストールしておいた。

 The gif2png home page へ行ってみると、バージョンが 2.4.7 になっていた。2002/09/07 に書いたことを見ながらコンパイルした。以前と違うのは、mingw 用の zlib があらかじめ用意されていたことである。Cygwin のインストール時に、libpng12-devel 1.2.5-4 のソースと、mingw-zlib 1.1.4-4 をインストールしておいてから、以下の手順でコンパイルした。

  1. libpng のソースのアーカイブが /usr/src/ にインストールされるので、それを解凍。
    $ tar xvjf libpng-1.2.5.tar.bz2
  2. Cygwin 用のパッチを適用。
    $ patch -p0 < libpng-1.2.5-4.patch
  3. libpng のソースディレクトリ内の png.h, pngconf.h を /usr/include/mingw/ にコピー。
  4. libpng のソースディレクトリに移動して以下のコマンドを実行。
    $ make -f scripts/makefile.cygwin static MINGW=1
  5. できあがった libpng.a を/lib/mingw/ にコピー。
  6. gif2png のソースディレクトリに移動して以下のコマンドを実行。
    $ CC='gcc -mno-cygwin' LDFLAGS=-static ./configure
    $ make
    $ strip gif2png.exe

 Cygwin のディレクトリを見ていると、/usr/include/w32api/ddk/ というディレクトリがあった。Cygwin でデバイスドライバを作成できるのだろうか?

2003/10/13

 ここのところあまり見ないタイプのウィルスが送られてきた。調べてみると Klez.H だった。ったくどこの馬鹿だよ。添付ファイルを見てみると・・・またメイドのコスプレ写真。あんたがそういうの好きなのは分かったから、そろそろウィルス駆除してくれ。

2003/10/05

 スタイルシートを使って改行禁止の指定をするには、<span style="white-space:nowrap">〜</span> とすればよいようだが、NC4.78 では認識しなかった。困ったことだ。

2003/10/04

 どうも納得がいかないので、「TeX Q & A」で質問してみた。結論としては、a4 コマンドがコメントアウトされていたのはデバイス依存のコマンドであるからで、pdf に変換するだけならコメントを消して a4 コマンドを有効にしても良いということらしい。最終的には、こんな設定 にしてみた。

2003/10/03

 昨日の設定はほとんどが無駄だった。Distiller で「デフォルトのページサイズ」を 21.0cm x 29.7cm に設定したつもりが、21.0cm x 27.9cm になっていた。ずれて当然である。サイズを正しく設定し、印刷時に拡大縮小しないように直したところ、Acrobat から印刷してもずれないようになった。しかし、dvipsk で -t a4 というように用紙サイズを指定しても、それが Distiller で無視され、デフォルトのページサイズが使われるというのは一体どういうことなのだろうか。
 dvi から pdf への変換方法については「PDFの作り方」にいろいろと詳しく書かれていた。

> dvipsk -P pdf -t a4 foo.dvi

で良いようなことが書かれているようだが、やはり -t a4 が効いていないようである。「dvips の用紙サイズ指定」を見ると、config.ps に

@ a4 210mm 297mm
@+ ! %%DocumentPaperSizes: a4
@+ %%BeginPaperSize: a4
@+ a4
@+ %%EndPaperSize

と書かれているというようなことが書かれている。\usr\local\share\texmf\dvips\config\config.ps を見ると

@ a4 210mm 297mm
@+ ! %%DocumentPaperSizes: a4
@+ %%BeginPaperSize: a4
@+ %%a4
@+ %%EndPaperSize

と書かれていた。%%a4 を a4 に書き換えて、

> dvipsk -P pdf -t a4 foo.dvi

と実行したところ、Distiller で用紙サイズが認識されたようである。
 dvipsk + Distiller ではなく、dvipdfm を使ったところ、わざわざいろいろと設定しなくてもそのまま A4 サイズで出力された。しかしできあがった pdf のファイルサイズは dvipdfm の方が少し大きかった。

2003/10/02

 dvi を dvipsk を使って ps に変換し、それを Distiller を使って pdf に変換したものを Acrobat で印刷すると全体的に上にずれる。どうやったら直るのかいろいろ試してみた。
 まず、印刷テスト用の TeX ファイルである \usr\local\share\texmf\tex\latex\base\testpage.tex を pdf に変換してみると、用紙の上端 0.7inch が切れている。dvipsk で変換するときに 0.7inch ずらすようにしてみた。コマンドラインはこんな感じ。

> dvipsk -P dl -O 0in,0.7in foo.dvi

まだ、なんかおかしい。
 次に Distiller でジョブオプションを変更してみた。「デフォルトのページサイズ」を 21.0cm x 29.7cm に設定したがまだおかしい。Acrobat で印刷時に、用紙サイズに合わせて拡大・縮小や、用紙の中央に移動させないようにオプションを変更したところようやくまともになった。

 昼頃、大学生協の書籍部(=本屋)へ行ったら、噂の「CPUの創りかた」が2冊置いてあった。軽く目を通してみた感じでは、表紙のイラストは激しく ア レ だが、やっていることはかなり真面目だと思った。夕方、もう一度行ったら残り1冊だった。そして次の瞬間・・・買っちまったよ・・・_| ̄|○
 抵抗の単位が KΩ というように書いてあるんですが、正しくは kΩ(k は小文字)だという指摘は野暮でしょうか。

2003/10/01

 先月の spam メールの集計結果。着信拒否になった spam が少なくとも 828通程度。着信拒否にならなかった spam が 395通。そのうち Spam Mail Killer で削除できた spam は 387通(97.9%)。ウィルス(Sobig.F, Swen.A)がひどかった。


Copyright (C) 2003 K.Takata