w3m

Unnamed repository; edit this file to name it for gitweb.
git clone https://logand.com/git/w3m.git/
Log | Files | Refs | README

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