README.cygwin (6828B)
1 cygwin で w3m を使う 2 (2003/02/17) 渡邉勝之 3 knabe@sannet.ne.jp 4 5 Windows で w3m を動かすためには,Windows 上の UNIX互換環境である Cygwin が 6 必要です. 7 Cygwin に関する情報は http://cygwin.com/ を参照してください. 8 9 10 * ビルド 11 12 w3m-0.2 以降から cygwin 向けの修正パッチが取り込まれたため,cygwin-1.1.4 13 以降の環境であれば特に問題なくビルドできます.Net Release 前の B18, B19, 14 B20あたりでもビルドできるはずですが,確認はされていません. 15 (*) Cygwin B20.1 の環境では 16 LOCAL_LIBRARIES に -luser32 をつける必要があります。 17 18 なお,termcap ないし ncurses パッケージは最新のものを使ってください.特 19 に termcap を使う場合,古いパッケージは /etc/termcap の cygwin のエント 20 リにバグがあり,表示がおかしくなります.この問題は termcap-20001020-1 で 21 修正されているため,これ以降のバージョンを使用してください. 22 23 ビルドする際には, 必ず ./configure してから make してください.以下で説 24 明するマクロが定義されなくなるため,正常に動作しなくなります.また,正常 25 にビルドできない,正常に動作しない場合には,バグ報告をする前に以下の点を 26 チェックしてください. 27 28 o make veryclean してから再度 ./configure && make してみる. 29 o gcc, binutils が正常にインストールされているかを確認する. 30 cygwin の setup.exe に問題があり,パッケージファイルのダウンロード 31 に失敗しても,エラーの報告をしないで正常終了してしまうことがあるよ 32 うです.その場合には再度 setup をやりなおしてください. 33 34 また Win95/98/ME では,環境変数 CYGWIN に 'ntsec' もしくは 'ntea' が含ま 35 れていると,シェルスクリプトに実行属性がつかなくなるため,configure に失 36 敗するようです.w3m に限らず,他にも問題が発生するという報告があるため, 37 Win95/98/ME で Cygwin を使用する場合には,最初に cygwin1.dll をロードす 38 る際の環境変数 CYGWIN から ntsec, ntea の記述を取り除いてください. 39 40 41 * マクロ 42 43 config.h には,Cygwin 環境向けに以下のマクロを定義してあります. 44 45 o USE_BINMODE_STREAM 46 -dump, -dump_{head,source,both,extra} 時の stdout への出力をバイナリ 47 モードで行います.cygwin-1.3.11 以降では不要になっているはずですが, 48 安全側に振っておくために残しています. 49 Cygwin, EMX 環境で共通です. 50 51 o SUPPORT_DOS_DRIVE_PREFIX 52 'C:', 'C:/', 'file://C:/', 'file://C|/' などのドライブレターを含むパ 53 スを認識し,ファイル名として扱う機能を有効にします. 54 Cygwin, EMX 環境で共通です. 55 56 o SUPPORT_NETBIOS_SHARE 57 '//NETBIOSHOST/SHARE/PATH', 'file://NETBIOSHOST/SHARE/PATH' 形式の 58 NETBIOS 共有資源へのアクセスを ftp: スキーマではなく file: スキーマ 59 として扱う機能を有効にします. 60 Cygwin 環境に特有です. 61 62 o SUPPORT_WIN9X_CONSOLE_MBCS 63 Win9X 系の DOS プロンプトで,検索およびフォームへの一行エディタ入力 64 時に日本語 IME 経由の入力をサポートします. 65 ただし,Win9X 系の DOS プロンプトの実装および Cygwin の tty レイヤー 66 の問題により,ローカルコンソールで TERM=cygwin かつ環境変数 CYGWIN 67 に 'tty' が含まれない場合のみ IME からの入力を許可しています. 68 なお,NT 系ではこのマクロを無効にしても動作は変更されず,ローカルコ 69 ンソールであれば IME による日本語入力が可能です. 70 LANG=JA 指定時の Cygwin 環境に特有です. 71 72 73 * Native Application との連携 74 75 Cygwin 環境でビルドした w3m から Win32 Native アプリケーションを起動する 76 場合,パスの記述形式の違いによって,ファイルが見つからないなどのエラーが 77 発生します. 78 79 o ローカルCGI 80 81 Cygwin 環境でビルドすると,$LIB (通常は /usr/local/lib/w3m/cgi-bin) 以下 82 にインストールされるローカル CGI は cygwin の /usr/bin/perl を使うように 83 設定されます.これに対し,Native アプリケーションの ActivePerl などを使 84 用する場合,以下のようなラッパースクリプトを用意し,$LIB 以下の各スクリ 85 プトを修正してください. 86 87 ------ /usr/local/bin/winperl ------ 88 #!/bin/sh 89 # wrapper script for Win32 Native Perl 90 PERL=/cygdrive/c/Perl/bin/perl.exe 91 case $1 in 92 -*) 93 ;; 94 *) 95 SCRIPT=`cygpath -w $1` 96 shift 97 ;; 98 esac 99 exec "$PERL" "$SCRIPT" $@ 100 ------------------------------------ 101 ※PERL= には Cygwin 環境の内部から見た Native Perl のパスを記述してくだ 102 さい.cygpath ユーティリティは cygwin パッケージに入っています. 103 104 なお,ディレクトリリストだけであれば,オプション設定で「ディレクトリリス 105 トに外部コマンドを使う」を NO にすれば,ローカル CGI を使わずにディレク 106 トリのブラウズを行います. 107 108 o エディタ 109 110 w3m はテキストエリアの内容編集などに外部エディタを使用しますが,外部エデ 111 ィタに Win32 Native アプリケーションを使う場合,以下のスクリプトを外部エ 112 ディタに指定してください. 113 114 ------ /usr/local/lib/w3m/winedit ------ 115 #!/bin/sh 116 EDITOR='/cygdrive/c/Program Files/sakura/sakura.exe' 117 FILE=`cygpath -a -w $1` 118 exec "$EDITOR" "$FILE" 119 ---------------------------------------- 120 ※EDITOR= には Cygwin 環境の内側から見た Native アプリケーションのパスを 121 記述してください. 122 123 なお,NT 系で inetd をサービスとして動かしていて,localhost に telnet で 124 接続している場合には,「デスクトップとの対話をサービスに許可」を ON にし 125 ておかなければ window が表示されません. 126 127 128 * 既知のバグ 129 130 以下は,Cygwin 環境で w3m を動かした場合の問題点です. 131 132 o -dump, -dump-source 時に LF -> CR+LF の変換が行われることがある. 133 134 コンパイル時にマクロ USE_BINMODE_STREAM が define されていない可能性が 135 あります. 136 きちんと configure したうえでコンパイルしなおすか,環境変数 CYGWIN に 137 binmode を設定してください. 138 139 o Win9X 系の DOS プロンプトで IME 経由の入力ができない. 140 141 環境変数 CYGWIN に 'tty' が含まれているときには,Cygwin の tty レイヤ 142 の問題を回避するために IME 経由の入力を禁止しています.環境変数 CYGWIN 143 から 'tty' を削除してください. 144 145 o Win9X 系の DOS プロンプトで IME が ON になっているとカーソルが効かない. 146 147 Win9X の DOS プロンプトと Cygwin の tty レイヤーの実装の問題です. 148 代わりに C-f, C-b, C-p, C-n を使ってください. 149 150 o NT 系のコマンドプロンプトで画面制御がおかしくなる. 151 152 「レイアウト」タブで画面バッファのサイズとウィンドウのサイズを違う値に 153 してバックスクロールができるように設定していると,画面制御がおかしくな 154 ることがあるようです. 155 156 o DOS プロンプト,コマンドプロンプトでマウスが使えない. 157 158 DOS プロンプト「編集オプション」/コマンドプロンプトの「オプション」で 159 「簡易編集モード」が ON になっていると,マウスイベントが w3m に渡され 160 ません.OFF に設定してください. 161 162 o DOS プロンプト,コマンドプロンプトでマウスボタンに対する反応がおかしい. 163 164 cygwin-1.3.15 までの環境では,マウスの右と中央ボタンのエスケープシー 165 ケンスが入れ替わっていました.これは cygwin-1.3.16-1 で修正されていま 166 すが,w3m 側のバージョン判定が完全ではないため,使用する環境でビルド 167 するようにしてください. 168 169 170 * その他 171 172 Cygwin 環境では,DOS プロンプト/コマンドプロンプトを使うよりも,inetd を 173 あげて,ローカルに TeraTerm, PuTTY などの telnet クライアント経由でログ 174 インする,ないしは rxvt, cygterm を使用するほうが快適です. 175 176 o rxvt: 177 rxvt on Cygwin 178 http://hp.vector.co.jp/authors/VA021953/rxvt/ 179 compiled package 180 http://matsu-www.is.titech.ac.jp/~sohda/cygwin/dist/ 181 o cygterm: 182 CygTerm - Yet another Cygwin console 183 http://www.dd.iij4u.or.jp/~nsym/cygwin/cygterm/ 184