Cygwinの使い方
概要
Cygwinとは仮想UNIX環境をつくるソフトである。WindowsはUNIXベースの環境ではないので、コマンドライン操作がとてもやりづらい。Cygwinを使えば、C言語をはじめとしてrubyやpythonなど様々な開発をWindows上でできる。しかも、GUIでなくCUIなのでとても軽い。
Cygwinのインストール手順
- Cygwin.comからCygwinのインストーラをダウンロードする。32bitマシン用と64bitマシン用があるので適当なほうを選ぶ。
- DLしたインストーラを起動する。
- デフォルトの設定で次へを押す。
- URLを選択するところでは
~~~.jp
など、日本のURLを選ぶとダウンロードが早く終わる。 - インストールするファイルを選ぶところでは、一番上で
wget
と検索して、Web
の中のwget: Utility to ~
の回転矢印アイコンをクリックして次へを押し、インストールする。他のソフトは後でapt-cyg
でインストールするので、今はこれだけでいい。 - インストールしたらcygwinを開く。
インストール画像
apt-cygを使う
apt-cygとは
apt-cygとは普通のシェルスクリプトで、新しくソフトウェアをインストールするときに使う。Macintoshのyumやlinuxのapt-getとほぼ同じ使い方ができる。
apt-cygを使う理由
cygwinでは、新たにソフトをインストールする際には、cygwinインストール時に使ったsetup.exeを使うのが一般的である。
しかし、setup.exeで欲しいソフトをインストールするとき、そのソフトが他のソフトに依存していることがある。それなのに欲しいソフトだけインストールしても、エラーになってしまう。これを解決するには、Googleでそのソフトの依存関係を調べて、必要なソフトをすべてsetup.exeで選んでインストールしなければならない。はっきり言ってめんどくさい。
めんどくさいので、setup.exeに表示された すべてのソフト をインストールしてみたことがある。これなら依存関係があっても全部あるんだから大丈夫!と思った。
が、なんど1晩かかってもDLが終わらず、インストールが終わった後にサイズを確認したら 60GB も容量を取られてしまった。もう絶対にやらない。
apt-cygをインストール
Cygwinを起動したら、以下のコマンドを実行する。
$ wget https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg
$ chmod 755 apt-cyg
$ mv apt-cyg /usr/local/bin/
インストール画面
これでインストールは完了。
あとは、欲しいソフトをインストールする
$ apt-cyg install vim
$ apt-cyg install make
$ apt-cyg install gcc-core
$ apt-cyg install gcc-g++
$ apt-cyg install zsh
$ apt-cyg install tmux
$ apt-cyg install git
などなど
おまけ(各種設定)
Windowsのコピペを使う
Cygwinのデフォルトの設定ではWindowsのCtrl+C,Ctrl+Vが使えない。これでは不便なので使えるようにする。
- Cygwinのウィンドウの左上のCygwinアイコンを右クリックする。
- optionを開く
Keys
の中の一番下のCtrl+Shift+letter shortcuts
にチェックを入れる。- ついでに
Looks
のなかのCursor
をBlock
にするとよい。 - さらに
Looks
のなかのTransparency
をMedium
かHigh
にするとブラウザなどを下に置いたときに透かして見れるので便利。 - saveで終了。
Shiftキー+いつものコピペキーでコピペができる。
設定画像
デフォルトのシェルをzshにする
$ apt-cyg install zsh
$ ls /etc/passwd
ここで/etc/passwd
が存在しないときは以下のコマンドを打ち作る。
$ mkpasswd > /etc/passwd
作ったら開く
$ vim /etc/passwd
一番下のほうの自分のユーザー名のところで、/bin/bash
を/bin/zsh
に変更する。
あとはCygwinを再起動すればデフォルトがzshellになっている。
ついでに僕の.zshrc
を書いておく。
シェルを起動するとsshのkeyを求められるので入力すると、2回目からは自動で入力してくれるようになってる。