CygwinはLinuxをWindows上エミュレートするソフトウェアです。
最近のバージョンではレジストリを使わないようになりました
gccやVimもインストールできるため、これをUSBメモリ等にインストールすることによって
開発環境を容易に持ち運ぶことが可能となります
VMware/VirtualPCと比較した時の利点としては、持ち運び先に特定のソフトウェアがインストールされてなくても使えること、そしてスペックが低くてもある程度使用できることです。
しかし、デフォルトで作られる起動用バッチファイルとショートカットは絶対パスで指定してあり使いにくいことでしょう。
そこで今私が使用している設定を公開することにします。
もしよろしければ参考にどうぞ
まずは起動用バッチファイル
Cygwin.bat
MAKE_MODE、CYGWIN、SHELLといった環境変数は自分の環境に合わせて書き換えてください。
私はshellをデフォルトのままのbashにしていますが、zshなどもいいかとおもいます。
そしてショートカット。
USBメモリのルートにCygwinフォルダを作成しインストールしているときは、
すると、あとはこのショートカットから起動することができます。
ちなみに私はこのショートカットのアイコンを%SystemRoot%\system32\cmd.exeに変更しています。
コマンドプロンプトのアイコンと同じになるはずです
おまけ・オススメのコマンド
apt-cyg aptやyumといったLinuxパッケージ管理に似ているコマンド。これでsetup.exeから解放されます。ただし、インストールする前にwget、subversion、bzip2、tar、gawkをインストールしておいてください。
インストール方法は、
あとはapt-cyg install <package name>などとするだけでかんたんインストールです。
apt-cyg find <string>でパッケージ検索も可能。
cocot これはCOde COnverter on Ttyの略で、cygwin ver1.7から標準のターミナルエミュレーターになったminttyを使うとき便利です。
minttyは高性能ですが、ckと違い文字コードは決め打ちです。
普通はLinuxエミュレータなのでUTF-8に設定していると思います。
しかしifconfigやpingを使用したい時、cygwinはそれらのコマンドを持っていないので
コマンドプロンプトのipconfig、pingコマンドを使用する必要がありますが、Shift-JISでしか出力できないためにmintty上では確実に文字化けしてしまうのです。
そこで、cocotを使用すると文字コードを判別してUTF-8で吐き出してくれます。
一番の魅力はnkfと違いpingのような逐次に出力するコマンドでもつかえることです。
ただし、このままだとコマンドが長くなって面倒なのでcocotを導入したときは次のようなエイリアスを.bashrc等に書き込むと便利でしょう
最近のバージョンではレジストリを使わないようになりました
gccやVimもインストールできるため、これをUSBメモリ等にインストールすることによって
開発環境を容易に持ち運ぶことが可能となります
VMware/VirtualPCと比較した時の利点としては、持ち運び先に特定のソフトウェアがインストールされてなくても使えること、そしてスペックが低くてもある程度使用できることです。
しかし、デフォルトで作られる起動用バッチファイルとショートカットは絶対パスで指定してあり使いにくいことでしょう。
そこで今私が使用している設定を公開することにします。
もしよろしければ参考にどうぞ
まずは起動用バッチファイル
Cygwin.bat
@echo off %~d0 set PATH=%SystemRoot%\system32 set cygdrive=%~d0 set cygdir=%~dp0 cd %~dp0\bin set MAKE_MODE=unix set CYGWIN=noacl nontsec nosmbntsec set SHELL=/bin/bash sh.exe -c "/usr/bin/mintty - &" exitこうすれば、USBメモリのドライブレターがどうなってもCygwinのパスに柔軟に対応できます
MAKE_MODE、CYGWIN、SHELLといった環境変数は自分の環境に合わせて書き換えてください。
私はshellをデフォルトのままのbashにしていますが、zshなどもいいかとおもいます。
そしてショートカット。
USBメモリのルートにCygwinフォルダを作成しインストールしているときは、
%windir%\system32\rundll32.exe url.dll,FileProtocolHandler "Cygwin\Cygwin.bat"というリンクのショートカットをUSBメモリのルートフォルダにおいてください。
すると、あとはこのショートカットから起動することができます。
ちなみに私はこのショートカットのアイコンを%SystemRoot%\system32\cmd.exeに変更しています。
コマンドプロンプトのアイコンと同じになるはずです
おまけ・オススメのコマンド
apt-cyg aptやyumといったLinuxパッケージ管理に似ているコマンド。これでsetup.exeから解放されます。ただし、インストールする前にwget、subversion、bzip2、tar、gawkをインストールしておいてください。
インストール方法は、
# svn --force export http://apt-cyg.googlecode.com/svn/trunk/ /bin/を実行するだけでOK
# chmod +x /bin/apt-cyg
あとはapt-cyg install <package name>などとするだけでかんたんインストールです。
apt-cyg find <string>でパッケージ検索も可能。
cocot これはCOde COnverter on Ttyの略で、cygwin ver1.7から標準のターミナルエミュレーターになったminttyを使うとき便利です。
minttyは高性能ですが、ckと違い文字コードは決め打ちです。
普通はLinuxエミュレータなのでUTF-8に設定していると思います。
しかしifconfigやpingを使用したい時、cygwinはそれらのコマンドを持っていないので
コマンドプロンプトのipconfig、pingコマンドを使用する必要がありますが、Shift-JISでしか出力できないためにmintty上では確実に文字化けしてしまうのです。
そこで、cocotを使用すると文字コードを判別してUTF-8で吐き出してくれます。
一番の魅力はnkfと違いpingのような逐次に出力するコマンドでもつかえることです。
ただし、このままだとコマンドが長くなって面倒なのでcocotを導入したときは次のようなエイリアスを.bashrc等に書き込むと便利でしょう
alias ifconfig="cocot ipconfig"
alias ping="cocot ping"
alias arp="cocot arp"
alias nslookup="cocot nslookup"
alias traceroute="cocot tracert"
alias route="cocot route"
alias netstat="cocot netstat"