Windowsのターミナル環境を整える vol.1


今回は､`Windows`のターミナル環境を整える方法を紹介していきたいと思います｡

##Windows PowerShell 3.0

`Windows`はシェルが貧弱という言葉を耳にすることがあります｡確かに､`cmd`は貧弱かも知れませんが､`PowerShell`はそうでもありません｡3.0が来ていますので､導入してみましょう｡


*Windows 7 64bit*
[Windows6.1-KB2506143-x64.MSU](http://download.microsoft.com/download/C/C/8/CC87C64D-2D20-4797-8FE6-EAD6651AA944/Windows6.1-KB2506143-x64.msu)

*Windows 7 32bit*
[Windows6.1-KB2506143-x86.MSU](http://download.microsoft.com/download/C/C/8/CC87C64D-2D20-4797-8FE6-EAD6651AA944/Windows6.1-KB2506143-x86.msu)

*Windows Server 2008 64bit*
[Windows6.0-KB2506146-x64.MSU](http://download.microsoft.com/download/C/C/8/CC87C64D-2D20-4797-8FE6-EAD6651AA944/Windows6.0-KB2506146-x64.msu)

*Windows Server 2008 32bit*
[Windows6.0-KB2506146-x86.MSU](http://download.microsoft.com/download/C/C/8/CC87C64D-2D20-4797-8FE6-EAD6651AA944/Windows6.0-KB2506146-x86.msu)

###インストール出来ない場合
[.NET Framework 4](http://www.microsoft.com/downloads/ja-jp/details.aspx?familyid=9cfb2d51-5ff4-4491-b0e5-b386f32c0992)がインストールされていない可能性があります｡[こちら](http://blog.powershell-from.jp/?p=1682)が参考になります｡

###バージョンの確認

```
$PSversionTable
```

##Cygwin

`Cygwin`とは､Windows上に仮想空間のようなものを構築し､Unixコマンドなどを扱えるようにするツールのことです｡[こちら]()からダウンロードして､実行ファイルをダブルクリックするのもいいですが､`PowerShell`でやったほうが簡単なので､以下にスクリプトを記します｡ただし､実行ファイルをダブルクリックしてからインストールする場合は､`Wget`にチェックを入れておきましょう｡

```shell:PowerShell
function Install-Cygwin
{
   param ( $TempCygDir="$env:temp\cygInstall" )
   if(!(Test-Path -Path $TempCygDir -PathType Container))
    {
       $null = New-Item -Type Directory -Path $TempCygDir -Force
    }
   $client = new-object System.Net.WebClient
   $client.DownloadFile("http://cygwin.com/setup.exe", "$TempCygDir\setup.exe" )
   Start-Process -wait -FilePath "$TempCygDir\setup.exe" -ArgumentList "-q -n -l $TempCygDir -s http://mirror.nyi.net/cygwin/ -R c:\Cygwin"
   Start-Process -wait -FilePath "$TempCygDir\setup.exe" -ArgumentList "-q -n -l $TempCygDir -s http://mirror.nyi.net/cygwin/ -R c:\Cygwin -P openssh"
   Start-Process -wait -FilePath "$TempCygDir\setup.exe" -ArgumentList "-q -n -l $TempCygDir -s http://mirror.nyi.net/cygwin/ -R c:\Cygwin -P wget"
}
```


```
Install-Cygwin
```

###apt-cyg
次に､パッケージマネージャーをインストールしましょう｡`cygport`と並行して使うこともできます｡



```shell:Cygwin
wget http://apt-cyg.googlecode.com/svn/trunk/apt-cyg

mv apt-cyg  /usr/bin

chmod +x /usr/bin/apt-cyg
```

###zshのインストールから設定まで

```shell:Cygwin
apt-cyg install zsh

sed -i 's/bash/zsh/g' /Cygwin.bat

touch ~/.zshrc

/Cygwin.bat
```

`/etc/passwd`と`/Cygwin.bat`の最後の行あたりにある`bash`を`zsh`に変更するわけですが､よくわからないという人は､[こちら](http://yanother.blogspot.jp/2011/02/zsh.html)の記事が参考になります｡

```
apt-cyg install vim

vim /etc/passwd /Cygwin.bat
```

##gow
`gow`はWindows Shell上でUnix的なコマンドを実行できるようにするためのツール群です｡

```shell:Cygwin
# apt-cyg install curl w3m

curl -L -o Gow.exe https://github.com/downloads/bmatzelle/gow/Gow-0.7.0.exe --insecure

chmod +x Gow.exe

または､

apt-cyg install w3m

w3m https://github.com/bmatzelle/gow/downloads

chmod +x Gow-.0.X.X.exe
```

```shell:Cygwin
cygstart Gow.exe
```


ちなみに､`cygstart`は結構役立つコマンドなので､オプションを見てみると面白いかもしれません｡例えば､`cygstart .`でディレクトリをWindowsエクスプローラーで開きます｡


```
gow -l
```



##console 2

`console`は､Windowsで動作する`Terminal`です｡数多くのShellに対応しています｡また､設定項目も豊富で､ウィンドウの透過度を設定することもできます｡


```shell:Cygwin
cd /
 
w3m http://sourceforge.net/projects/console/
 
apt-cyg install unzip
 
unzip hoge.zip

chmod +x hoge

cygstart powershell
```

すると､`PowerShell`がWindowsのTerminalで開きます｡

```shell:PowerShell
mv C:\cygwin/hoge C:\Program Files\
```
(この操作には､`gow`が必要かもしれません)

###初期設定

####表示のズレ
まず､初期設定として重要なのが､表示がズレる現象を回避することです｡これは､日本語環境によるものですが､比較的容易に解決できます｡

1. View > Console Window
2. `Alt+Space`,`P` = 右クリック > プロパティ > フォント


1. `Ctrl+S`(Setting) > Apperarance > Font


この2箇所でフォントを`MSゴシック`に変更します｡

####タブの設定
`console`は､それぞれのシェルをタブで開くことができます｡



例えば､`Cygwin`の場合は､`C:¥cygwin¥bin¥bash.exe --login -i`です｡

また､`icon`を設定できますが､[IconsExtract](http://www.nirsoft.net/utils/iconsext.html)を使うと実行ファイルから簡単に取得することができます｡

```shell:Cygwin
wget http://www.nirsoft.net/utils/iconsext.zip
 
unzip iconsext.zip
 
chmod +x iconsext.exe
 
cygstart iconsext.exe
```

スキャンすべきパス
*c:¥Windows¥System32¥*
*c:¥Program Files¥*


####NYAOS
Windowsで使えるシェルでお勧めなのは､`NYAOS`です｡日本語､Unixに強いので便利に使えると思います｡

```shell:Cygwin
w3m http://www.nyaos.org/index.cgi?p=NYAOS+3000
 
unzip hoge.zip
 
chmod +x hoge.exe
```



##最後に

[Windowsのターミナル環境を整える vol.2](http://qiita.com/items/22250a9aca4c0b7cee12)を書きましたのでよろしくお願いします｡