昨日のエントリが、被はてブ1000件達成しました。ありがとうございます。これだけの注目をあびることに恐怖すら覚えました。ブクマコメントや直接コメントを頂いたので幾つか補足説明をさせてください。
Cygwin環境の話がすごくブクマコメントいただいたので補足させてください。
やっぱり昔のCygwinイメージは強い。
昔のイメージって強烈なんだなと思いました。1.5以前のイメージとは違うんだよ。って最初に書いたんだけど、脱却は難しい感じでした。
1.7変更点やCygwinの細かいの話は id:fd0さんのエントリを参考にして欲しい。
コメントへのレス。
補足させてください。昨日のエントリでも間違ってるところもあるので、補足しながら訂正させてください。すいません。
以下の事について、レスしていきます。よろしくお願いします。
ブクマコメントの反響
- ドライブ指定がキモい
- Mingwでもいいよね。
- Macつかえば?Mac大流行とかまじ?
- PowerShellあるだろ?Windows管理ならPSだ
- コンパイルしちゃいけない。。
- WindowsはGUI用と割りきったほうが楽!
↑そんなことないから!!
ドライブ指定がキモい
手元のMacBookAirからCygwinにSSHログインしてキャプチャしました。
cd E:/"ドライブ指定はほぼそのまま使える。
takuya@letsnote:~$ cd e:/ takuya@letsnote:~$ pwd /cygdrive/e/
"cd e:/" でいいんです。
Cygwinのパス変換は賢い。
パスの違い気にならなくなるよ、とにかく僕と契約してCygwin使いになってよ。
Mingwでもいいよね。
というかMinttyがMinGwで動くとか知らなかった。ごめん
CygwinよりはWindowsに近い環境になる。UNIXっぽいほうがいいならCygwin、WindowsっぽいほうがいいならMingwだと思う。
GNUwin32は昔試したけど、 文字化けしたので使ってない→http://d.hatena.ne.jp/takuya_1st/20100823/1282585424
あのときlsが文字化けしてなかったらこのエントリは存在しなかった。
Macつかえば?Mac大流行とかまじ?
MacはGNUコマンド入ってねーよ!あれはBSD系コマンド!いっしょにすんな
ライセンスの関係でMacはBSDコマンドですよね。Readlineではまります。homebrew でGNUコマンド入れなくちゃなんねぇ。それはそのうち書きます。こないだのKOFやOSC行くたびにMac人口増えてます。ここ10年のMac界で考えればMacは流行ってる。
PowerShellあるだろ?Windows管理ならPSだ
すいません。GNUのコマンドの話なんで勘弁。Powershellな人も、Cygwin試してみてください。
PowerShellでもMintty使えたらいいのにね。ShebangとMinttyが使えたら、PowerShellもいい選択肢ね。候補にしたい。
WinコマンドとGNUコマンドの融合出来るよ
ipconfig | grep 192
貴女のPowerShell環境に、僕らのGNUのパワーを融合させてくだしあ。
コンパイルしちゃいけない。やっぱり。。
ビルド環境がアレなんじゃなくて、ConfigureとかForkが恐ろしく遅い・・・
コンパイルするならLinuxのVMマシンを使ったほうが断然速いから!!
nkfみたいに、Cygwinで使うツールのビルドに使える。
C言語のコンパイルを含む開発には向かないかもしれません。RubyのGemとかビルド地獄だよ。
補足とか
割愛したので、ちょっと混乱させてしまったかもしれない。そんな部分について
CygwiはC:\にインストールしないのが無難
理由:めんどうだから。
最近はC:\Users\Takuya\AppData\XXX以下に入れれてエクスプローラーからは隠してる。必要なときは "cygstart /“を実行するとエクスプローラーで開くから存在すら忘れる。WindowsXPならともかく、Vista/7はC:\がWindowsのUAC制御下だから、色々面倒。辞めたほうがいいと思います。というかまだXPの。。。
開発環境じゃなく、Linuxへのアクセス環境
「CygwinはWindowsにLinuxのコマンド群を移植したものです。」に違和感
伝わりきらなくて誤解を招いた。後悔してる。
開発環境をつくるんじゃない。開発環境にアクセスしたり、強化コマンド群を作って入れてた。そのうちに、Vimでコーディングに使えることに気づいた。これを一行で書かずにもっと強調するべきだった。ごめんなさい。
Windows+CygwinはSSHのための端末。
SSHが快適にできる、ここにCygwinを導入する価値があります。
SSHでCygwin使ってるうちに、Grepとか使い始めて、最後には、Cygwinで何でも済ませるようになる。中毒性高いから是非使って欲しい。
puttyやPoderosaではできないことがある。ポートフォワーディング
それは
SSHコマンドでポートフォワーディングが出来る。
つまり、VmWareにMYSQLをいれたりしなくていい。ポートフォワーディングでGUIツールを使い込め。これは主張したい
MySQLのGUI/CUI (localhost:5432) ---- cygwin ssh ----- (192.168.2.10:5321) 開発サーバーのMySQL
こうしておけば、なんでもかんでもVM作らなくていいですよ。MySQLの接続先変えたいときに、GUIやCUIの設定変えなくてもポートフォワーディングで切り分けできるし、設定は.ssh/confing に集約されるのでオススメ
接続切れても、SSHだけの再起動で完了。
ポートフォワーディング専用コマンドやツールを入れなくていい。しかも設定を、.ssh/config やシェルスクリプトに残してすぐ起動できる。
断然に楽です。
/etc/hostsのWindowリンク
Cygwinの/etc/hosts はWindowsのHOSTSへのリンクになっています。
takuya@letsnote:~$ ls -alt /etc/hosts lrwxrwxrwx 1 takuya None 46 7月 29 09:45 /etc/hosts -> /cygdrive/c/Windows/System32/drivers/etc/hosts
このようにWindowとの親和性がいい感じです。
ほかにも
takuya@letsnote:~$ open $SYSTEMROOT takuya@letsnote:~$ open $USERPROFILE
など環境変数も使えたりします。こういう親和性が嬉しいんです。VmでなくWinで動くからこそ出来ることもある。
そのくせShebangがつかえたり
#!/usr/bin/env ruby
関連付けはWindowsのままで、実行時だけはCygwinでやればとても楽です。
記述ミスの訂正
って書いてあったんだけどそんなコマンドねえよって怒られたんで、echo コマンドを加えた。
Windows XP に Cygwin をインストールする - 集中力なら売り切れたよ
ごめんなさい。訂正しました。
mklink コマンド使ったほうがいいって書いてあるが、XP にはそのコマンドねぇから!おめーの席ねぇから!
Windows XP に Cygwin をインストールする - 集中力なら売り切れたよ
ごめんなさい。もう死ぬほどお詫びします。XPなんてVISTA登場と同時に捨てたので知りませんでした。Cygwinなれてきたらfstabでマウントしてください。すいません!!
最後に、VM厨にCygwin良さを主張してみる。
以下は、炎上しそう。。。むかついたら燃やしちゃってください。
仮想マシンでLinux使えばいいんじゃん?そうかなぁ
開発環境は好きにしたらいいと思う。
そもそもCygwinは「完全仮想環境」ではない。VirtualPCやVmWare、VirtualBoxとの比較はナンセンスかな。比較するならWineやOpenVZのほうが近い気がする。どうだろうか。
ポイントはCygwinで開発環境へ簡単アクセス環境が良くなるって話です。
私も「まとも」な開発環境はグローバルIPのLinuxにおいてあります。
- そこにどうやってファイルを転送するのか。
- そこへ軽快にアクセスするにはどうするのか。
WindowsでEmEditorを使いたい。.vimrcをサーバー側に置きたくはないです。
- シンタックスチェックくらいはWindows側でやりたい。
- ちょっとしたシェルスクリプトはWindowsで使いたい。
Puttyに対する愚痴
VMつかえLinux使えの人々へ
「端末とGNUコマンド」のはなしであって「開発環境の比較」ではないのでなのであまり煽らないでください。。
VmWareがオススメらしいけど、ぼくは全くそう思わない。3年前は確かに使ってた。でもノートパソコンではVMは邪魔な存在になった。
結局グローバルIPかりて、そこにサーバーをおいてあります
そこへのアクセスにPuttyを使うか、Cygwinで接続するかの話です。
VmWareで我慢できなったこと。
VMWareで開発とかありえない。 Sambaゴミ箱問題、TCP/IPすぐ切れる。 スリープから戻ってこない。 Linux側の余計な常駐プロセスが電源食うとか我慢出来ない。
TCP/IPの問題で我慢できなったこと
Windowsがスリープすると、TCP/IPがタイムアウトする→Putty切れる。
レッツノート開いたら、Puttyの「切断されました!」ダイアログが10個くらいでてきて、困ってた。ダイアログがポポポポーン!
Sambaのゴミ箱問題。
Sambaだとゴミ箱が不便
- VmWare+Sambaでプログラム書いてるとゴミ箱で困る。
- 削除ファイルがゴミ箱にない!やっちゃった!困る。
- 数GBのログファイルとかVmのHDDをすぐに圧迫して困る。
結局、「GNUコマンドがWindows側に欲しい。」となりました
Cygwinバックアップしても1.5GB
cygwinフォルダをcygwin.tgzにして持ち運んでも2GBでお釣り来る。
ちょっと使うだけなら、tgzを展開してmintty起動でおわる。
ちょっとしたコマンドのために、VmWareをインストして、10GBの仮想ディスクをつかうなんて信じられない。
仮想マシンユーザーはシンタックスチェックとかどうしてる?
もしかしてブラウザでPHP見て。「あっSyntax Errorだった?」とかまさかね・・・
Vm側、Windows側どちらでやるにしても、満足できなかった。
ダブルバインドだよね。