[試行錯誤編]Ansible on cygwinを活用した、実用開発環境構築 ①普通にzshまで
方針:
cygwinの利用は最小限に
cygwinについて、よくわかっていないので、無理はしない。
例えば、node環境をcygwin側で構築するのは明らかに茨の道なのでパス。
とりあえず、cygwin使うことでzshとansibleが"普通に"動くというところで満足しておく。
nodeやjavaの環境はwindowsのものを使う。
- "普通に"動かすためには、いくつか工夫が必要。
- 付記:ansible 動かすためのpython環境は、cygwin側にある。
追記:Cygwin別パッケージBabunを導入して"普通に"動くようになった。以後、[Babunを使う方法]を推奨したい。
cygwin 1.7系を使用し、なるべくmacやlinuxと親しい環境を構築。
以前、こちらで構築した"Ansible on cygwin with zsh"を活用し、必要な設定を追加していく。すなわち、サーバ環境はansibleで管理する方針。
まずは、cygwinのバージョン確認。
$ uname -a
CYGWIN_NT-10.0-WOW DESKTOP-NIBB0OO 1.7.35(0.287/5/3) 2015-03-04 12:07 i686 Cygwin
1.7系は、ちょっと頑張れば十分に使えるものと期待し作業に着手。このあたりを参考させてもらい作業をすすめる。
(背景) windows環境を過度に信用せず、dropbox上で作業
cygwinにはいろいろ地雷が埋まっているっぽいが、windowsだって相当なもの。
ただし、nodeやjavaのバージョンその他の事情によって、
windows側ではトラブルった場合、windowsユーザーを作り直すという手がある。
環境でとらぶったらwindowsユーザー毎作りなおすつもりで、環境設定その他一式をdropboxに置いておく。
ansibleでのサーバ環境構築の試行錯誤過程もdropboxで管理
依存関係が少ないansibleは、クライアント側をきちんと管理しておけば、ひとまず、安心のはず(今後、検証)。
Cygwinを適切に起動させる(全画面でzsh、ちゃんとhistoryも効いて・・)
まずは、cygwin-ansible.batのインストール先(例、C:\cygwin)を確認し、cygwin-ansible.batで、cygwin環境に入る。
zshの設定
"apt-cyg install zsh"した直後のスタート地点は以下。
$ zsh --version
zsh 5.0.8 (i686-pc-cygwin)
適宜、 再入門などを参考させていただき修正していく。
oh-my-zshのインストール
Via oh-my-cygwin:
wget --no-check-certificate https://raw.github.com/haithembelhaj/oh-my-cygwin/master/oh-my-cygwin.sh -O - | sh
ターミナルエミュレータminttyのディフォルトのシェルをzshに
ansible-cygwinの場合、chshコマンドがなく、起動時に/etc/passwdを使っていない。
Cygwinインストールフォルダのbatファイル(例、C:\cygwin\cygwin-ansible.bat)における
ターミナルエミュレータminttyの起動方法をbashをzshに変更することで対処する。
@echo off
%~d0
set PATH=%SystemRoot%\system32
set cygdrive=%~d0
set cygdir=%~dp0
cd %~dp0\bin
set MAKE_MODE=unix
set CYGWIN=noacl nontsec nosmbntsec
set SHELL=/bin/bash
bash.exe -c "/usr/bin/mintty - &"
exit
変更後は、以下のとおり(--window maxで、起動時に全画面表示)。
@echo off
%~d0
set PATH=%SystemRoot%\system32
set cygdrive=%~d0
set cygdir=%~dp0
cd %~dp0\bin
set MAKE_MODE=unix
set CYGWIN=noacl nontsec nosmbntsec
set SHELL=/bin/zsh
zsh.exe -c "/usr/bin/mintty --window max - &"
exit
[付記] telnet経由で使うとき等は、 以下のようにして、/etc/passwdを作成・変更する。
mkpasswd > /etc/passwd
nano /etc/passwd
汎用的な確認方法echo $0で、既存のシェルを確認。
echo $0
-zsh
historyを有効にする。
最近まで、cygwin上のzshはhistoryが使えないというありえない状態だったが、最近パッチがリリースされたため、
.zshrcに以下を追記することで、ヒストリーが有効になる。
HISTFILE=~/.zsh_history
HISTSIZE=10000
SAVEHIST=10000
ターミナルminttyをかっこ良くする
疲れてきたので、こちらに従い、速攻で、かっこ良くUTF-8日本語環境とさせていただく。
touch .minttyrcし、以下に設定
BoldAsFont=no
Transparency=high
Font=Inconsolata
FontIsBold=no
FontHeight=10
CursorColour=255,0,0
CursorType=block
Locale=ja_JP
Charset=UTF-8
BackspaceSendsBS=yes
RightClickAction=paste
ClicksTargetApp=no
CursorBlinks=yes
FontSmoothing=default
CopyOnSelect=yes
- Transparency=grassの方がかっこよかった
再起動すると、フォントがちょっとかっこよくなり利便性も向上^^
今後の方針
クライアント側はJSで、サーバー側はJVM言語でいくので、以下の環境を整備し、cygwin上で普通に作業できるようにしていく。
- node周り (VisualStudioとも親和的に)
- java周り (IntelliJと親和的に)
rubyが必要になった時は、まずはcygwinで入れることになると思う。
Author And Source
この問題について([試行錯誤編]Ansible on cygwinを活用した、実用開発環境構築 ①普通にzshまで), 我々は、より多くの情報をここで見つけました https://qiita.com/e-a-st/items/8e74287f14f7091b3134著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .