rcmdnk's blog
Last update

Cygwin環境構築ガイド

Windows再インストール時に 行ったCygwinのインストール記録。

Cygwinのインストール

Cygwin公式からsetup-x86.exe(未だ32bit…)を 取ってきてインストール。

  • Defaultに加えてInstallしたもの
    • Admin: 全部 (cron, cygrunsv, shutdown, etc…)
    • Archive: unzip,zip
    • Devel: asciidoc (gitでdocをコンパイルしたい場合), autoconf, cygport(使わないかも) , gcc*, gdb(cygwinでは敢えて必要ないかも), gettext, gettext-devel (gitのコンパイル用), git, make, mercurial, subversion,
    • Doc: xmlto (gitでdocをコンパイルしたい場合)
    • Editors: emacs, vim (両方共必要なら外部から入れるのですぐに外部から入れるなら要らない。)
    • Interpreters: lua (先に書いた様に、付属のluaだと上手く行かないかもしれない。(vistaのみ?)その場合は手動インストール。
    • Libs: libcurl-devel1, libncurses-devel (screenをコンパイルするのに必要。ただ、screen-4.1.0が導入されたのでcygwinのscreenで良ければ必要なし。)
    • Mail: email
    • Math: bc
    • Net: ca-certificates (git等のssl接続用), curl, openssh, openssl, ping, rsync, whois
    • System: psmisc (killall等), procps (top等)
    • Perl: perl本体は他の物を入れると入るが、必要なら適時入れる(面倒なら全部)
    • Python: 同上
    • Ruby: 同上
    • Tcl: expect
    • Text: gv, w3m*
    • Utils: cygcheck-dep, cygutils-extra, screen, stow, tig, time, tree, wdiff
    • Web: wget
    • X11: X-start-menu-icons, xauth, xclip, xclipboard, xclock (簡単なXのテストに便利), xinit, xlogo, xorg-server # Warning: Missing charsets in String to FontSet conversionと言ったwarningが出る場合、端からfont-を入れてかなくてはいけないが、面倒なのでX11全部を入れたほうが良いかも。全部だと大分大きいので後で。

こんな感じ。インストールを実行して暫し待つ。

何も入れないデフォルト状態でインストールすると現状トータル1GB程度。 上記X11以外全部入れた状態だと1.6GB程。 X11も全部入れると3GB程度でした。

環境変数の設定

待ってる間にまだしてない場合は環境変数でHOMEの設定をしておく 2

  • コントロールパネル システムとメンテナンス システム システムの詳細設定 環境設定で新規ユーザー環境変数として
    • 変数名:HOME、変数値、C:\cygwin\home\user

ターミナル設定

minttyを使う。

何故かすべてのプログラムのCygwinフォルダにminttyのショートカットが作られてません。 C:\cygwin\usr\bin\ を見るときちんとmintty.exeは存在するのですが。。。


Cygwin\Cygwin Terminalがminttyへのショートカットになってました。 以前は別のターミナルだったと思うんですが、minttyがデフォルトになった?みたいです。

と、これはxstart-menu-iconsを入れると Cygwin Bash Shell (実体はC:\cygwin\Cygwin.bat) が出る? さらにWindows 7でインストールしたらminttyその物へのショートカットも現れました。 (引数に-だけなので実際にはアイコンが設定されてないだけでCygwin Terminalと全く同じ。)

前にインストールした時もこんな感じだったと思うので、やはり単にVistaマシンが 単におかしいだけなのかも。。。


取り敢えず、このショートカットを作って適当な所へ置く ((MagicFormation)に直接登録してしまう)。

この際、mintty.exeをそのまま起動するとログインシェルとしては機能してくれないので、 HOMEを理解できずに.bashrc等読めない、と言ったエラーが出ます。

必ずショートカットを作って、起動引数に-を加えます。

$ mintty --help
Usage: mintty [OPTION]... [ PROGRAM [ARG]... | - ]

Start a new terminal session running the specified program or the user's shell.
If a dash is given instead of a program, invoke the shell as a login shell.

ついでにターミナル左上に表示されるアイコンも設定すると (-i /Cygwin-Terminal.ico -)いい感じになります (上に書いた通り、Cygwin Terminalのプロパティを見るとリンク先としてminttyにこの引数が渡されてます)。

Cygwin-X\XWin Serverを立ち上げてみてminttyからoclockとしてみると

$ oclock
Error Can't open display:
$ echo $DISPLAY

$

となり、DISPLAYが設定されてません。 これも以前は何も気にせずきちんと設定されてたはずなんですが、確かに何も設定されてません。 取り敢えずローカル0番を指定してやると

こんな感じでちゃんとXが動きました。

ということで、.bashrcなんかに

# cygwin
if [[ "$OSTYPE" =~ "cygwin" ]];then
  # display
  export DISPLAY=${DISPLAY :=":0.0 "}
fi

みたいな事を書いておけばOK。

最後に、ターミナルのタイトルバーを右クリックしてOptionsを出して

  • Looks: CursorをBlock
  • Text: フォントをConsolas, 太字、12pt.
  • Keys: Backspace sends ^H
  • Mouse: Right click action: Paste
  • Terminal: terminal type xterm-256color

に設定。

また、XWin Serverをそのまま立ち上げると毎回xtermが立ち上がります。 これは、XWin Serverの実態はstartxwinなんですが、 startxwinはデフォルトで

xterm  -geometry  +1+1  -n  login  -display  :0

を呼ぶからで、これを変えるには~/.startxwinrcにコマンドを書きます。

何も書かなければ何も起動しないので、Xサーバーだけたちあげたいなら、

$ echo > ~/.startxwinrc

などして空の.startxwinrcを作ればサーバーだけ立ち上がる様になります。

XWin Serverは、常に使う様であれば、スタートアップにショートカットを入れておく。 (常時使うようだとXminのが良いかもしれない。)

設定ファイル、スクリプトをインストール

dotfiles等、GitHubにおいてあるファイルをインストール。

  • https://github.com/rcmdnk/dotfiles
  • https://github.com/rcmdnk/scripts
  • https://github.com/rcmdnk/winscripts
  • https://github.com/rcmdnk/windows

これらはDropbox内に置いてあるので、実際にはDropboxで同期した後、 それぞれで./install.sh

apt-cyg

apt-cygを導入。

公式 及び、オリジナルの作者が開いた GitHubのレポジトリ ではcygwinの配布元の構造の問題が未だに反映されてないので 直したものを使う。

これは上のscriptsディレクトリから install.shをすれば導入されるようにしてあります。

easy_install

pythonのeasy_installはsetupからは入れられないので別途インストール3

$ wget http://peak.telecommunity.com/dist/ez_setup.py
$ python ez_setup.py

Vim

現状CygwinではまだVim-7.3なので7.4を別途インストール。

ただ、現在のCygwinでは一部バグっぽい物があるので 少し手を加えてやらないといけません。

最新のCygwinでVimをインストールすると起こるエラー

GNU Screen

Cygwinのscreenが更新されていて、4.1.0が入っています。 少し使ってみた感じ、日本語も問題なく使えるので、 今の所コンパイルしなおして入れる必要はなさそう。 setupで入れたものをそのまま使います。

Git

Cygwinデフォルトは1.7.9。特に不満は無いが新しいのを入れてみたい。

以前、gitをCygwinにインストールする際、gettextを別途入れてましたが 4、 必なもの(msgfmt)はgettext-develの方に入っていたみたいで、 これをsetupのときなりapt-cyg でインストールしてやればmsgfmtが入ります。

docの方も試してみましたが、以前のページに書き足した様に上手くいかないので 特に必要ないし入れないように。

Rebase

上記ではdll等を別途インストールしたりはしてませんが もしインストールした場合にエラーが出たらrebaseallを実行。

CygwinでCan’t fork()とかのエラーが出た時の対処法

Sponsored Links
Sponsored Links

« Windowsサイドバーガジェット Octopressのgenerate_onlyをモット便利に »

}