Cygwin

Cygwin

Windows内に、UNIXライクな環境を構築できる。やり方次第では、日本語使うんでなければ、仮想マシンよりも速いので、そこそこ使える。以下では、簡単な環境構築例を挙げる。

インストール

Cygwinの公式サイトからsetup.exeを入手し、実行する。インストール先はシステムドライブ(普通はCドライブ)の直下に"cygwin"というディレクトリを作るような設定になっている。特に理由が無い限り、そのままで問題は無い。インストール時にどこのサーバーから墜といてくるか必ず聞かれるが、基本的には".jp"と付いてるものならどこでも大丈夫だと思われる。
インストーラーでは、必要なものを選択しインストールする。もしよくわからないようなら、フルインストールしてしまっても問題は無い。

設定ファイル

Cygwinを起動する前に、設定ファイルを、Cygwinのホームに置く。改行コードがWindowsのデフォルトであるCR + LFではエラーが出るので、TeraPad等を使い、LFの改行コードを使うようにして保存すること!!
設定ファイルの"#"はコメントなので、設定とは関係ない。よって、削除してしまってもかまわない(個人的な設定は一応コメントにしてありますが、その辺はよきにはからっていただければ、と)。下記の設定ファイルを適切な場所に置けば、Cygwinで導入したツールをCygwinのターミナルから呼び出すことができる。

  • .bash_profile
 # .bashrc の読み込み
 if [ -f $HOME/.bashrc ]; then
 source $HOME/.bashrc
 fi

  • .bashrc
 if [ -f /etc/bashrc ]; then
 . /etc/bashrc
 fi 
 export SHELL=/bin/bash
 export HOME=/home/taka
 export TMPDIR=/tmp
 export TZ=JST-09
 export MAKE_MODE=unix
 export CYGWIN=ntsec
 
 #PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin:/usr/X11R6/bin:/usr/bin:/bin
 
 #NTEmacs
 #PATH=/cygdrive/c/local/src/emacs/bin:$PATH
 
 #Vim
 #alias vi='gvim'
 #PATH=/cygdrive/c/vim72:$PATH
 
 #Octave
 #PATH=/cygdrive/c/Octave/3.2.4_gcc-4.4.0/bin:$PATH
 
 #TeraPad
 #alias tp='terapad'
 #PATH=/cygdrive/c/Program\ Files/TeraPad:$PATH
 
 PAGER=more
 JLESSCHARSET=japanese-sjis
 export PATH PAGER JLESSCHARSET
 
 if [ -n ${DISPLAY} ]; then
 export DISPLAY=localhost:0.0
 fi
 
 if [ ! -n "${TERM}" ]; then
 TERM=cygwin
 fi
 
 #some alias
 alias ls='ls -p'
 alias la='ls -a'
 alias ll='ls -l'
 #alias lla='la -l'
 alias l='ls'

Windowsのボリューム上にあるツールにパスを通す方法


Windowsのボリューム上にあるツールをCygwinのターミナルから呼びたい場合は、Windows本体の環境変数を設定するか、.bashrcあたりに設定を書く方法がある。前者はWindowsのシステム全体の設定を汚染するので、後でアンインストールしたくなった時に面倒になる。よってここでは、後者の方法で設定する。

CygwinではWindowsのボリュームは "/cygdrive" 以下にマウントされる。たとえば、WindowsのCドライブへのパスは、Cygwinでは "/cygdrive/c" となる。この要領でパスを指定すれば、Cygwinのインストーラー以外で導入したツールも、Cygwinのターミナルから呼び出すことができるようになる。
パスの通しかたの例を記す。たとえば、WindowsのCドライブ直下の"hogehoge"というディレクトリの中の"bin"というディレクトリにパスを通したいのだとしたら、.bashrcに

 PATH=/cygdrive/c/hogehoge/bin:$PATH

と追記すればよい。この時、ディレクトリ名にスペースが用いられている時は、注意が必要である。スペースの前に円記号"\"(本当はバックスラッシュなのだが日本語環境化では円記号になってしまうことが多々ある)を付けなくてはいけない。たとえば、Cドライブ直下の"Program Files"の中の"hogehoge"の中の"bin"というディレクトリにパスを通したい時は、先程と同様に、.bashrcに

 PATH=/cygdrive/c/Program\ Files/hogehoge/bin:$PATH

と追記すればよい。環境によりバックスラッシュだったり円記号だったり様々だが、文字コードは同じなので、素直に出るほうの文字で良い。
参考 -> http://ja.wikipedia.org/wiki/バックスラッシュ#.E3.83.90.E3.83.83.E3.82.AF.E3.82.B9.E3.83.A9.E3.83.83.E3.82.B7.E3.83.A5.E3.81.A8.E5.86.86.E8.A8.98.E5.8F.B7


Cygwinのアンインストール

Cygwinには、アンインストーラーが無い。よって、手動でアンインストールすることになる。
以下の方法で、アンインストールできる。

  1. スタートアップメニュー(だったっけ?)の中のCygwinに関する物をすべて削除する。
  2. デスクトップにあるのCygwin関係のショートカットをすべて削除する。
  3. Cygwinをインストールしたディレクトリ(デフォルトではCドライブ直下のcygwinというディレクトリ)を丸ごと削除。

この3つの手順をふめば、アンインストールできる。
なお、仮にWindows側でシステムの環境変数を別途変更している場合は、その環境変数の設定を戻さなければ完璧なアンインストールとは言えない。



不具合

デフォルトのターミナル・エミュレータでは、control + c を受け付けてくれない(2008年12月現在)。つまり、Emacsの終了等を行えない状態になる。これに関しては、Cyglaunchを使うことで、回避できる。また、Cyglaunchを使わなくても、NTEmacs(Windowsでネイティブ動作するEmacsのひとつ)別途導入してemacsのパスをそこに通せば、CygwinのEmacsを使わないので、この問題を回避できる。
Cygwinで入れたOctaveが動作しない不具合が出たり出なかったりする(要確認)。もし動かないようなら、Windows用Octaveを入れてパスと通して使う方法がある。


gnupack

CygwinやNTEmacs等を、とても簡単にインストールできるパッケージもある。
gnupaskプロジェクト日本語トップページ
最終更新:2010年07月02日 20:43
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。