Cygwinのrxvtの日本語化

2003.11.12新規公開。2002.11.23の随感の内容を大幅に加筆し、最新の情報にした。

Cygwinに含まれているrxvtは、そのままでは日本語が通らない。いくつかのWebページでパッチが公開されているが、configureの引数の説明が誤っているものもあり、穴に嵌ることがある。

まずパッチを入手する。

上記のパッチは、rxvt on Cygwinのものを最新版に対応させたもの。

パッチを当てたら、configureを走らせる。例えば次のようにする。--x-includes --x-libraries は必須。

$ ./configure --prefix=/usr/local --x-includes="../W11 -IW11" \
    --x-libraries="../W11/lib -mwindows ../W11/wrap/rxvt_res.o -Wl,--subsystem,console" \
    --with-xpm-includes="../W11" --with-xpm-library="../W11/lib" --enable-menubar \
    --enable-transparency --enable-xpm-background --enable-languages --enable-next-scroll

リンカに渡す--subsystemの引数はconsoleでなければならないことに注意。Webページによっては、windowsとしているものがあるが、それではエクスプローラから直接起動したときにフリーズしてしまう(コマンドプロンプトからなら起動できるので気づきにくいかも)。

configureのオプションとして--with-encodingを指定してもいい。省略するとsjisとみなされる。文字コードは、rxvtの起動時にも指定できる。

Note.

-Wlオプションは、リンカldに渡される。日本語のldのマニュアルは、例えば次のページにある。

--subsystem windowsはWinMain()関数を用意する場合、consoleはmain()関数から開始する場合に用いる。

ところで、-mwindowsオプションは、cc1に渡される。その他のオプションは、次のようになっている。-mwindows -Wl,--subsystem,consoleは、Windowsアプリケーションにもかかわらずコンソールを表示する。

  -mwin32                   Set Windows defines
  -mno-win32                Don't set Windows defines
  -mwindows                 Create GUI application
  -mno-cygwin               Use the Mingw32 interface
  -mcygwin                  Use the Cygwin interface

あとは、make && make install すればいい。

スタートメニューから起動できるように、ショートカットを作成する。-kmオプションで文字コードを指定する。また、bashなどを起動する。

D:\cygwin\usr\local\bin\rxvt.exe -km sjis -e /bin/bash --login -i

あるいは、別マシンにログインする場合は、次のようにする。

D:\cygwin\usr\local\bin\rxvt.exe -km eucj -e /bin/ssh -l ユーザ名 ホスト名