Cygwinのインストールが終わったら、各種設定やカスタマイズを行う。ここでは筆者が行った例を示す。
mintty・bashの設定
- Cygwinのインストール完了後、デスクトップアイコンから起動すると、端末が開く(mintty + bash)。
- 端末を右クリック→「Options」でフォント等をカスタマイズする。
- Looks
- Transparency: Med.
- Cursor: Block, Blinking
- Text
- Font: MS ゴシック, 12pt (適当な等幅フォント)
- Locale: ja_JP
- Character set: UTF-8
- Window
- Default size: Columns 85, Rows 30 (適当なウィンドウサイズ)
- UI language: ja
- Terminal
- Type: xterm (またはxterm-256color)
bashの設定
- デフォルトでは
/home/[ユーザ名]
がホームディレクトリになる。- ここにbash関係のデフォルトのドットファイル群がコピーされる。
- Windows上で環境変数
HOME
が存在すればそこがホームディレクトリとなる。 - Windowsの自分用フォルダをホームにしたければ環境変数
HOME
を%USERPROFILE%
またはC:\Users\[ユーザ名]
としておくと良い。こうしておくと、/cygdrive/c/Users/[ユーザ名]
がホームディレクトリになる。 HOME
を設定した場合、デフォルトのホームディレクトリからドットファイル群をコピー(移動)しておく。
- bashの設定ファイル(
.bash_profile
,.bashrc
)を必要に応じてカスタマイズする。- aliasは、
.bashrc
のコメントを外して.bash_aliases
を読み込むようにする。.bash_aliases
がなければ自分で用意する。 - pingは、パッケージ版を導入している場合は
/usr/bin/ping
が使われるので問題ないが、Windowsのpingやipconfigを使う場合は文字化け対策が必要。
- aliasは、
# .bash_alias for Cygwin
...
# Use Windows commands.
function wincmd() {
CMD=$1
shift
$CMD $* 2>&1 | iconv -f cp932 -t utf-8
}
alias ipconfig='wincmd ipconfig'
alias netstat='wincmd netstat'
alias ping='wincmd ping'
...
- パスは、Windows上の
PATH
に加え、/usr/local/bin
,/usr/bin
等が追加されている。このため、例えばWindows上に導入したJDKのjavacも使える。
パッケージマネージャapt-cygの導入
- wgetでapt-cygを導入する。ちなみに、apt-cygは単なるbashのスクリプト。
$ wget https://raw.githubusercontent.com/kou1okada/apt-cyg/master/apt-cyg
$ mv apt-cyg /usr/local/bin
(↑パッケージで管理されておらず、後で導入したのでlocalに入れた)
$ chmod +x /usr/local/bin/apt-cyg
追加コマンド(パッケージ)のインストール
コマンドは最低限のものしかインストールされていないので、必要なパッケージを追加でインストールする。apt-cygでインストールするのが簡便で良いが、もしapt-cygが使えなかったらsetupのGUIで行っても良い。
$ apt-cyg find [パッケージ名] で検索できる。
$ apt-cyg install [パッケージ名] でインストール。
$ apt-cyg -X install [パッケージ名] うまくいかなかったらこれ。
- GnuPG:
gnupg
- Cコンパイラ:
gcc-core
- curses関係:
ncurses
のワイドキャラクター対応版のncursesw
,libncursesw-devel
,ncursesw-demo
(これらをインストールすれば、w版じゃない方もインストールされる。clearコマンドも一緒にインストールされる。) - make:
make
- man系:
man-pages-posix
- あとは必要に応じて…
Bash Prompt Hereの導入
Windowsのエクスプローラのコンテキストメニューに「Bash Prompt Here」を追加する。
- パッケージ名:
chere
- 管理者権限で開いたbash上でchereを実行する。
$ chere -isa -t mintty
- 「何のシェルを使ったらいいかわからない」エラーが出る場合は、明示的にbashを指定する。
$ chere -ia -s bash -t mintty
-e "Open in Bash(&B)"
とかすると、コンテキストメニューの文字列をデフォルトから変更できる。必要に応じて。-t mintty
をつけないと、端末エミュレータとしてデフォルトのコマンドプロンプトになってしまうので注意!
その他
- Cコンパイラインストール時にMD5のエラーが出る場合、apt-cygスクリプト内の「md5sum」を「sha512sum」で書き換える。あらかじめgrepであたりを付けておくと良い。
$ cat -n /usr/local/bin/apt-cyg | grep "md5sum"
- Cygwinのルートディレクトリ
/
は、WindowsのC:\cygwin64
(Cygwinのインストールフォルダ)に相当する。この配下にbin
やusr
等がある。また、Cygwinの/
配下には、/cygdrive/c
としてWindowsのCドライブがマウントされている(ように見える)。 - apt-cygを書き換えるのは、Cygwin上で適当なエディタでやっても良いが、Windows上で
C:\cygwin64\usr\local\bin\apt-cyg
をいじっても良い。
以上、お疲れ様でした。
[参考] アップデート
- 管理者権限で
setup-x86_64.exe
を実行。 - 「Pending」状態になっているものがアップデートが必要なパッケージ。
- 「次へ」でアップデートする。
令和元年10月16日