Windowsタブレットでの開発環境構築にキレた俺は、仮想マシンを入れた
どことなく今風のラノベっぽいタイトルにしてみた今日このごろ。
さて、去年の年末にMacBookAirがぶっ壊れたので、代わりのマシンを買いました。それはICONIA W5!
キーボートとタブレットを切り離せる素敵ギミックに心惹かれたのです。タブレットと言うよりx86 Win8のノートPCですね。もはや。
とはいえ、タブレットとしても利用できて、積みゲーがコンスタンスに消化されて久しぶりに紙芝居ゲーを堪能できて満足。
しかし、紙芝居ゲーのために買ったのではなく、あくまでMBAの代わりとして開発も出来るモバイルとして買ったわけで、開発環境もせっせと作っていました。
個人で買うのは、相当久しぶりにWin機。仕事でもJavaくらいしか開発環境としてはマトモに作らないので、特に困ってなかったわけですが、スクリプト言語、特にRubyの開発環境を作るにあたって、相当苦労しました。
そして、私はキレました。
ええ、ブチ切れですよ。意味ワカンないですよ! cygiwin入れても、mingw入れても、cmdで戦っても、gitがうまく動かなかったり、rubyが上手く動かなかったり、rubyが上手く動かなかったりとさんざんでした。各種コマンドも最低限を無理やり動かしてる感じだし。
というわけで、もういい加減にしろ! という気持ちで仮想マシンをぶち込んでそこにSSHで繋ぐ事にしたのです。
最初はcoLInuxを念頭に置いてましたが、VirtualBoxでもVBoxVmServiceを使うことでそちらを使って見ました。これでSSHターミナルで自動ログインすれば、cygwinとか使ってるとの同じ感じになるはず。
VirtualBoxとLinuxのインストール
まずは、VirtualBoxの導入。この辺から最新版の4.26をインストール。
でディストリは色々悩んだんだけど、Debian6にしてみた。理由はCentOSやubuntuに比べて使用メモリが少なくて、軽快だしパッケージシステムもしっかりしてるから。さすがにplamoとかで戦うのはつらいしね!
最初はブリッジ接続で入れようとしてたんだけど、ホストがWindowsだとWiFiでブリッジ接続を普通にできない残念な感じだったのでNATとHOST Onlyのネットワークをそれぞれ追加しておきました。ゲストとホストでの共有フォルダも設定して、置く。eclipseとかはWindowsのものを使うつもりだから、このディレクトリを共有しておくのが大事。
VBoxVmServiceによるサービス化
つづいてサービス化。さすがに毎回VirtualBoxをフロントエンドで立ちあげてるとターミナル替わりには使えないので、VBoxVmServiceというのを使ってバックエンドでサービスとして起動します。なにこれ便利!
まずはここからダウンロード。で適当なフォルダに解凍します。
つづいてVBoxVmService.iniを修正。修正ポイントは以下の2つ
- VBOX_USER_HOMEを自分のディレクトリのものに変更
- [Vm0]等に記載されているVM名を目的のものに変更。大文字小文字を区別するので注意
ここまで出来たら次は、サービスに登録します。この作業は管理者権限でCUIから行う必要があるのでWin7やWin8の場合、コマンドプロンプト自体を管理者権限で立ち上げるのがおすすめ。sudo相当のものがないのよね。不便すぎる...
管理者権限でコマンドプロンプトを立ちあげたら「VmServiceControl -i」を実行。これでサービスとして登録されます。このままサービスを手動で起動しても良いのだけど、私の場合
Error finding machine! rc = 0x80bb0001.
というエラーがでて上手く行かなかったので、OSごと一旦再起動することで解決。
これでバックグラウンドで仮想マシンが立ち上がってます。
ターミナルのインストール
Terminalとしてはputty trayを入れました。半透明という今風のデザインにできるのがイケてますね!
ショートカットを下記の感じで作ります。
putty -load <session name> -l <user name> -pw <password>
これでクリックすると自動ログインするのでまるでローカルのターミナルを立ちあげている気分に! パスワード入れるのが嫌なら公開鍵にするという手もありますね。今回はローカル用の適当なパスワードなので、一旦これで。
まとめ
とりあえずインストールしたDebianのカスタマイズは最中だけど、結構いい感じになりました。Atomなので仮想環境でどこまで耐えれるか心配ではあるけど、一応、今のところは問題なさそうなレベル。ポストCygwinとして頑張るのには悪くないかも。
では、Happy Hacking!