Windows 10 に Cygwin 64bit 版をインストールする

Windows 10 に Cygwin(64bit 版)をインストールする方法をまとめてみます。2016年 7月現在の最新版 2.5.2 をインストールします。

前提

以下の前提です。

  • Windows 10 64bit に Cygwin 64bit 版をインストール
  • Windows の ACL については気にしない
  • Cygwin のルートディレクトリは D:\
  • ユーザーのホームディレクトリは D:\home\username
  • パッケージ保存ディレクトリは D:\packages\cygwin

ダウンロードとインストール

まずは下記リンク先からインストーラーをダウンロードします。

Cygwin This is the home of the Cygwin project

64bit 版をインストールするので setup-x86_64.exe をダウンロードして D:\packages\cygwin に保存します。

cygwin-01

インストーラーを起動します。【次へ(N)】をクリックします。

cygwin-02

ダウンロード元を指定します。【Install from Internet】で問題ないのでこのまま【次へ(N)】をクリックします。

cygwin-03

インストールディレクトリを聞かれますので【D:\】を指定して【次へ(N)】をクリックします。

cygwin-04

ドライブのルートに入れるのはおすすめしないよ、とか言われますが無視して【はい(Y)】をクリックします。

cygwin-05

パッケージを保存するディレクトリを聞かれます。そのまま【次へ(N)】をクリックします。

cygwin-06

パッケージをダウンロードする際の接続方法を聞かれます。そのまま【次へ(N)】をクリックします。

cygwin-07

パッケージ情報のダウンロードが始まります。そのまましばし待ちます。

cygwin-09

パッケージの選択画面が表示されます。とりあえず追加パッケージ等は指定せず、そのまま【次へ(N)】をクリックします。

cygwin-10

パッケージのダウンロードとインストールが始まります。通信回線や PC の速度によりますが、結構時間が掛かります。そのままぼーっと待ちます。

cygwin-11

インストールが完了しました。そのまま【完了】をクリックします。

cygwin-12

デスクトップとスタートメニューに Cygwin 起動用のアイコンが追加されます。

cygwin-13

ターミナル mintty の設定

Cygwin 起動用アイコンをダブルクリックすると、標準のターミナルソフト mintty で起動します。

cygwin-14

※この時点で環境変数 HOME は /home/username となっています。

好みに合わせて色などを設定します。僕の場合は /home/username/.minttyrc を以下の内容で作成しました。

BoldAsFont=no
ForegroundColour=64,0,0
BackgroundColour=255,255,255
Font=MeiryoKe_Console
FontHeight=11
CursorType=block
CursorColour=64,0,0
Locale=C
Charset=UTF-8
Scrollbar=none
Transparency=off
OpaqueWhenFocused=no

フォントは MeiryoKe_Console を指定しています。

Windows 10 でもメイリオの等幅フォントを使いたい
Windows 7 の頃から等幅フォントとしてシカゴ・ブルースさん作の MeiryoKe_Console を使っています。Windows 1...

シンプル好きなので .bashrc や .bash_profile も適当に書いてプロンプトもシンプルに。最終的には以下のような感じ。

cygwin-15

起動時のウィンドウ位置やサイズを固定したいので、起動用のショートカットに以下を指定。

D:\bin\mintty.exe --position=894,33 --size=83,44 -i /Cygwin-Terminal.ico -

追加パッケージのインストール

ssh などを使いたいので、setup-x86_64.exe を再度起動して、パッケージの選択画面で必要なパッケージを検索 → チェックを入れて【次へ(N)】をクリック、で追加インストールします。

例として ssh を使うために OpenSSH をインストールする場合は以下のような感じ。

cygwin-16

パッケージによっては依存パッケージをいっしょにインストールする必要があります。勝手に選択してくれるので特に何も考えずに【次へ(N)】をクリックでOK。

cygwin-17

必要なパッケージは都度追加すればOK。

個人的にいつも入れるのは openssh, imagemagick, php, php-mbstring, ruby, perl, patch, unzip, make, gcc, gcc-g++ …とかとか。

パッケージ管理は、上記のように setup-x86_64.exe を起動して GUI で操作するよりも apt-cyg をインストールしてごにょごにょすると快適。

Cygwin のコマンドラインからパッケージが操作できる apt-cyg を使うと快適
Cygwin のパッケージを追加するのにいちいちマウスでちゅーっと Setup を起動するのが面倒、という向きには、apt-cyg という ...

Windows 環境変数の設定

Cygwin をインストールした時点で、Cygwin 環境内では HOME=/home/username になっています。

が、Windows 側から設定しておいたほうが Cygwin 以外のツール(Emacs とか)との連携を考えた場合になにかと都合が良い。ということで以下を Windows のシステム環境変数に設定しておきます。

CYGIN=codepage:utf8
HOME=D:\home\username
TMP=D:\tmp
LANG=en_US.UTF-8
LC_CTYPE=ja_JP.UTF-8

LANG を有効にするために mintty のオプション設定画面から locale および Character set ともに空欄(Default)にします。

cygwin-18

cygwin-19

Windows コマンド用のラッパーを作成

Cygwin の mintty は UTF-8 表示ですが、Windows のコマンド群の出力は Shift JIS です。よく使うコマンドについては出力文字コードを変換するラッパーを作成します(要・Ruby)。「Windows のコマンド群なんて使わん!」という場合はこの手順は不要です。

/usr/local/bin/ に以下の内容で ping というファイル名でテキストファイルを作成します。

#!/usr/bin/env ruby
KCODE='u'
require "kconv"
cmd = File.basename(__FILE__) +".exe " + $*.join(' ')
IO.foreach("| #{cmd} 2>&1 "){|line|puts line.kconv(Kconv::UTF8,Kconv::SJIS)}

作成したテキストファイルに実行パーミッションを与えて動作テストして、正常であれば必要なコマンド名(例: ipconfig)のシンボリックリンクを作成します。

僕の場合は ipconfig, ping, nslookup を作成して利用しています。traceroute は Windows のコマンド名が tracert と違うので別に上記のようなテキストファイルを作成しています。

下記リンク先で詳細に説明されています。

Cygwin(msys)のUTF-8環境便利にするコマンドラッパー – それマグで!

とりあえずはこんな感じ。

スポンサーリンク
レクタングル(大)
レクタングル(大)