Cygwinをインストールする
Windows環境でもbashを使いたい!
という時がありますよね。
web系の開発では、Linuxをサーバーとして使用すること多いので、
ローカルの開発環境がWindowsであっても、bashのコマンドを使いたくなるときがあります。
そんな時に便利なのが、WindowsでもLinuxと同じような操作感覚が得られる、
Cygwinが便利です。
この記事では、Cygwinのインストールから、初期設定までの手順を紹介します。
Cygwinをインストール
セットアップツールのインストール
公式サイトの、インストールページへ行き、「setup-x86_64.exe」のリンクをクリック。
ダウンロードしたsetup-x86_64.exe を実行します。
実行したら、こちらの記事を参考にインストールします。(めっちゃ分かりやすくまとめてくれていて感謝!)
インストール時の注意点は以下です。
パッケージをインストールする際に、git、wget、gnupg、libiconvはインストールしておいてください。
(apt-cygで使用するためです。どれも最新バージョンを選んでおけば間違いないです。)
apt-cygの導入
パッケージをいちいち、setup-x86_64.exeを立ち上げてインストールするのは、手間なので、Cygwinのパッケージをコマンドラインでインストールできるように、apt-cygを導入します。
apt-cygの正規版は、こちらなのですが、
https://github.com/transcode-open/apt-cyg
開発が終了してしまっているので、 現在でも正規版をForkして開発が行われている、こちら
https://github.com/kou1okada/apt-cyg
のリポジトリから、インストールします。
開発元がapt-cygの開発をしなくなったのは、もう4年も前の話ですが、 現在でもForkされて開発が継続されているのは感謝ですね!
apt-cygを/usr/localへclone
$ cd /usr/local
$ git clone https://github.com/kou1okada/apt-cyg.git
cloneしてきた実行ファイルへPATHを通すためにシンボリックリンクを作る (apt-cygというファイルが実行ファイル自体です。)
$ cd /usr/local/bin
$ ln -s /usr/local/apt-cyg/apt-cyg
コマンドを実行できるかを確認
$ apt-cyg --version
apt-cygはCentOSのyumコマンドやUbuntuのaptコマンドと同じような使い方ができます。
使用例)Vimをインストール
$ apt-cyg install vim
これで、パッケージをインストールする際にいちいちsetup-x86_64.exeを立ち上げる必要がなくなりました!
その他の設定
fstabへのnoacl設定 [必須です]
Cygwinをインストールしたデフォルトの状態では、
Cygwinで書き込みを行ったフォルダ(ディレクトリ)には、複雑な権限が与えられるので、その中のファイルを削除することができなくなる等のハマりポイントの原因となります。
なので、/etc/fstabを
$ vi /etc/fstab
Viエディタで開らいて、次のように書き換えます。
# none /cygdrive cygdrive binary,posix=0,user 0 0 ←コメントアウトして、
none /cygdrive cygdrive binary,noacl,posix=0,user 0 0 ←この行を追記。
エクスプローラーから右クリックでCygwinを立ち上げられるようにする
この機能を使うには、chereをインストールする必要があります。
apt-cygでインストールしてください。
$ apt-cyg install chere
chereのインストールが終わったら、
Cygwinを管理者モードで立ち上げて、以下のコマンドを入力します。
$ chere -i -t mintty
これで、
右クリックのメニューの中に、「Bash Prompt Here」という項目が追加されます。
エクスプローラーで開いている現在のフォルダーから、Cygwin(正確には、Cygwinを動かしているminttyというターミナル)を立ち上げられるようになります。
この機能はめっちゃ使います。
Beep音を消す
Cygwinを開いた後に右クリック → Options → Terminal → Bell 「no beep」を選択 → Saveをクリック
ベル音が何回もなってしまうことがなくなります。
以上が、僕が行っているCygwinの初期設定です。