Cygwinのインストール&設定方法

CygwinでMUSASHIを利用する方法を以下に解説します。ここではエディタとしてviを利用することを前提にしています。emacs等については各自でインストール方法を研究してください。
また、以下の手順はかなり厳密です。歯車が狂うとインストールがうまくいかない可能性がありますので、慎重に行ってください。

1. Cygwinのダウンロード&インストール

a) setup.exeのDL&起動

http://cygwin.com/よりsetpu.exeをダウンロードし起動てください。

以下に注意すべき画面を中心に解説します(より詳しい手順はCygwinのページを参照したください)。

b) テキストファイル形式の選択

以下の「Default Text File Type」に「Unix」を選びます(テキストファイルがUNIX形式(改行がLF)となります)。またCygwinをインストールするマシンをサーバーとして利用したい場合には、「Install For」で「All Users」を選びます。

c) パッケージ選択

パッケージ選択の画面にてCategoryの「All」を「Install」に変更する。この変更によって全パッケージがインストールされることになる(ただし、次のd)の手順にて説明するようにvim,groff,manはインストールしない)。

d) vim, groff, manのスキップ

vim, groff, manは後で日本語バージョンをインストールするので「Skip」に変更しておく。

vimはCategoryがEditorsにある。

groffはCategoryがTextにある。

manはCategoryがBaseにある。

上記の設定が終われば「次へ」をクリックすれば、ダウンロード&インストールが始まる。

2. Cygwin-JEのダウンロード&インストール

インストールが終了したら、次にJEパッケージをインストールする。そのために再度Setup.exeを起動する。

a) ダウンロード先の入力

以下の画面にてダウンロード先にhttp://www.sixnine.net/pub/cygwin_je/と入力する。

「add」ボタンをクリックし続けて「次へ」をクリックする。

b) パッケージ選択

まず、以下のように「keep」(ラジオボタン)を選択する。
この作業を怠るとCygwinが起動しなくなるので注意。

次に、以下のようにvim、groff、man、man-pages-ja、cygtermパッケージのNewの欄をクリックしインストールするように指定する。各パッケージのCategoryは次の通り。
vim : Editors
groff : Text
man, man-pages-ja : Doc
cygterm : Utils

3. インストール後の設定

a) ホームディレクトリの作成

通常、デスクトップにできたCygwinアイコンをクリックすると、/usr/usernameがホームディレクトリになるが、Windowsの環境変数HOMEが設定されていれば、Cygwinにおいてもそこがホームディレクトリとなる。この問題を避けるために、コントロールパネルの「システム」を起動し、「詳細設定」タブの下にある「環境変数」をクリックする。そしてユーザ環境変数にHOME変数が設定されていれば削除する。
ここでデスクトップのCygwinアイコンをクリックすればホームディレクトリが自動的に作成される。

次にホームディレクトリの下に各種設定ファイルを編集していく。利用する漢字コードによって設定方法が異なるので、以下ではEUC環境とSJIS環境に分けて説明する。設定するファイルは、.bash_profile、.bashrc、.inputrc、.vimrcの4つで(全てのファイルはピリオドから始まるファイルで隠しファイルとなっており、"ls -a" にて確認できる)、以下に示した通りに設定する。既に存在するファイルについては追加し、存在しないファイルについては新規作成する。またファイルの編集はTeraPadなどのエディタを利用すれば便利。注意点として、新規ファイルを保存する際には、「ファイル」→「漢字・改行コードを指定保存」を選び、改行コードに「LF」を選んで保存してください。

b) EUC環境

.bash_profile
export TERM=vt100
export LANG=ja_JP.eucJP

.bashrc
alias ls='ls --show-control-chars --color=auto'
alias ct='cygterm &'
alias less='less -r'
function ie {
echo /cygdrive/c/Program\ Files/Internet\ Explorer/IEXPLORE "$(cygpath -w $PWD)\\$1"
/cygdrive/c/Program\ Files/Internet\ Explorer/IEXPLORE "$(cygpath -w $PWD)\\$1" &
}
上記のie関数を設定しておくことにより、XMLやXMLtableファイルをコマンド上から起動可能になる。
例) ie dat.xt #dat.xtをInternetExploreを利用して表示する。

.inputrc
set convert-meta off
set input-meta on
set output-meta on

.vimrc
set encoding=japan
set fileencodings=euc-jp

c) SJIS環境

.bash_profile
export TERM=vt100
export LANG=ja_JP.SJIS
export LESSCHARSET=japanese-sjis

.bashrc
alias ls='ls --show-control-chars --color=auto'
alias ct='cygterm &'
function ie {
echo /cygdrive/c/Program\ Files/Internet\ Explorer/IEXPLORE "$(cygpath -w $PWD)\\$1"
/cygdrive/c/Program\ Files/Internet\ Explorer/IEXPLORE "$(cygpath -w $PWD)\\$1" &
}
上記のie関数を設定しておくことにより、XMLやXMLtableファイルをコマンド上から起動可能になる。
例) ie dat.xt #dat.xtをInternetExploreを利用して表示する。

.inputrc
set convert-meta off
set input-meta on
set output-meta on

.vimrc
set encoding=japan
set fileencodings=sjis

d) tera termのインストール(SJIS環境では、これ以降のインストールは必要ありません)

EUC環境で利用するためには、ターミナルとしてTeraTermなどのエンコーディングが考慮された(入力したSJISの漢字を裏でEUCに変換してくれる)ターミナルソフトを利用する必要があります。このページからTeraTermをインストールしてください。

e) cygterm.cfgの編集

/usr/bin/cygterm.cfgを以下のように編集する。/usr/binディレクトリはWindows上ではCygwinをインストールしたルートディレクトリ(通常はc:\cygwin)の下のbinディレクトリに等しい。詳しくはこちらを参照願います。)

# cygterm setting

TERM = C:\program files\ttermpro\ttermpro.exe %s %d /KR=EUC /KT=EUC
#TERM = telnet.exe %s %d
TERM_TYPE = vt100
PORT_START = 20000
PORT_RANGE = 40
SHELL = /bin/bash
ENV_1 = MAKE_MODE=unix
#ENV_2 = HOME=/home
TERMの「SJIS」を「EUC」に変更。
TeraTermのインストール先が異なっていれば、パスを変更する。
ENV_2の行をコメントアウト。

f) cygwin.batの編集

CygwinをインストールするとCygwinルートディレクトリ(デフォルトではc:\cygwin)に「cygwin.bat」が作成されます。そのファイルを以下のように編集し、「cygwinct.bat」という名前で保存する。

@echo off

C:
chdir C:\cygwin\bin
set HOME=
bash --login -i -c cygterm
「set HOME=」により、HOME環境変数がクリアされる。そうすれば/home/usernameがホームディレクトリとなる。この設定がなければWindowsのホームディレクトリ(c:\Documents and settings\username)がホームディレクトリとなる。

g) ショートカットの編集

デスクトップ上のCygwinのショートカットアイコンのコピーをデスクトップに作成し、そのプロパティを以下のように編集する。リンク先にf)で設定したファイル(cygwinct.bat)を指定する。また実行時の大きさを「最小化」に設定しておく。

4. EUC vs SJIS どちらを選ぶか

MUSASHIを日本語で利用する際に、EUCとSJISのどちらを選ぶかについては以下の利点・欠点を参考にしてください。

EUC

利点:
  MUSASHIはこれまでEUC環境で動作してきたので安心。

欠点:
  ファイル名に日本語を使えない(使えるがEUCなので、Windowsから見れば文字化けする)。
  SJIS化されたコマンド(makeなど)があれば、そのメッセージは文字化けする。

コメント:
Linux環境に慣れている人にとってはお勧め。

SJIS

利点
  ファイル名に日本語が使える。

欠点
  MUSASHIのs-jisi環境での動作実績がない。

5. その他のアプリケーションのインストール

a) FDclone

いわゆるファイラー。Cygwin上でもさくさく動く。コンパイルの必要あり。

b) TeraPad

漢字コードを自動認識でき、EUC、SJIS等指定して保存可能なエディタ。改行もUNIXスタイルを指定できる。

6. Cygwinに詳しいページ

参考文献

佐藤竜一、いけだやすし、野村直「Windowsで動かすUNIX環境Cygwin+JE」ASCII,2003.