Cygwinを導入する

Cygwin導入の経緯

 仕事で使ったことをきっかけに、自分のPCにも入れてみようと思った。ずっと以前、WindowsマシンでC/C++コンパイルをしたいと思ったときに、Cygwinを入れるかMinGWを入れるかで迷い、その時はCygwinの導入も煩雑さ、難しさに音を上げた記憶があったような気がする。

 CygwinWindows環境にLinuxのようなコンソール環境及びX-Windows環境を導入しようというものであるが、Linuxの構築と同様、何を入れて何を入れなくてよいか、どういう設定をすればよいか、ということに頭を悩ませ、Googleの検索窓に何度となくキーワードを入力することになる。

 今回も何度となく「検索」ボタンを押したわけだが、そうして導入したCygwin環境の流れをここに記録しておく。

 ちなみに、ここの通りに導入すると、ハードディスク容量で1.8GBほど使用する。

導入の前提

 導入の前提として、次を挙げた。

  1. ssh、scpができること
  2. opensslの鍵が作れること
  3. C/C++Javaなど、主要な言語のコンパイルができること
  4. コンソールはUTF-8であり、できたら日本語が入力できること

Cygwinをsetup.exeからインストールする

参考URL 1. より

 http://cygwin.com/ の右上にある「Install Cygwin now」をクリックする。要点は、導入するパッケージの内容である。
 「Cygwin Setup - Select packages」の画面でインストールするパッケージの内容を選択するのだが、Cygwinはそのままでは開発系のプログラムが導入されないらしい。そのため、次のものを有効にして(SkipからInstallにして)おかなければいけない。

  1. Category:Devel
  2. Category:Graphics -> gnuplot
  3. Category:Net -> openssh
  4. Category:X11

 なお、gnuplotとはグラフを作成するためのもので、大学の頃はよく使っていた。もうすっかり忘れてしまったが。今回は参考としたページが大学の講義のためのものであるようで、つい懐かしくて導入した。

 しかし、Vistaマシンでは、おそらくフォルダのアクセス権限だろうと思うのだが、「startxwin.sh」としてもX-Windowプロセスは上がるのだがそれに接続できなかった。
 Cygwinを起動する時に右クリックから「管理者として実行」とすれば別ウインドウにX-Windowが立ち上がる。

参考URL 2. より

 CygwinUTF-8環境とする。UTF-8 Cygwin - ダウンロードの上の方から「cygwin1-dll-20-11-18.tar.bz2」をダウンロード・解凍する。もし、「tar.bz2」の圧縮ファイルが解凍できない場合は、解凍レンジをお勧めする。

 解凍された「cygwin1.dll」というファイルを「C:\cygwin\bin」(CygwinをCドライブの下にインストールした場合)にある同名ファイルと置き換える。怖ければ元のファイルをバックアップしておくとよいだろう。

 次に、設定ファイルに追記する。UTF-8 Cygwin - 使用法にある通りだ。

  1. ~/.bashrc
  2. ~/.inputrc
  3. ~/.vimrc

~/.bashrc

stty kill undef

if [ $TERM = dumb ]
then PS1='$?$SHLVL:\w\$ '
else PS1='\[\e]0;\w\a\e[36m\]$?$SHLVL:\w\[\e[32m\]\$\[\e[0m\] '
fi

alias ls='ls -F --show-control-chars'  la='ls -a'  v='ls -l'

export LESS=MrXEd

~/.inputrc

C-u: possible-completions
set convert-meta off
set output-meta on

 このうち、Vistaマシンでは1行目の記述は有効ではないかもしれない。

~/.vimrc

set encoding=utf-8
set fileencodings=iso-2022-jp,utf-8,euc-jp,cp932
let $LANG='ja'

set number

 また、次のファイルは初めからないと思うので、新規作成する。

  1. /usr/lib/python2.x/site-packages/sitecustomize.py

/usr/lib/python2.x/site-packages/sitecustomize.py

from encodings import aliases
aliases.aliases['us_ascii'] = 'utf_8'

import sys
sys.setdefaultencoding('utf-8')