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では一部バグっぽい物があるので 少し手を加えてやらないといけません。
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を実行。