前回、Vagrant Cloudから落としてきたopentableさんのWindows Boxにリモートデスクトップがつながらなかったのでつながるようにしてみた。
#環境
- OSX 10.9
- VirtualBox 4.3.10 r93012
- Vagrant 1.6.1
#手順
##VirtualBoxでWindowsのコンソール画面にアクセスできるようにする
もともとのBoxがヘッドレスになっていた(?)ようなので、Vagrantfileをいじって起動時にウィンドウが立ち上がるようにします。
vagrant init
で作成したVagrantfileなら下のようにコメントになっているところがあります。
# config.vm.provider "virtualbox" do |vb|
# # Don't boot with headless mode
# vb.gui = true
#
# # Use VBoxManage to customize the VM. For example to change memory:
# vb.customize ["modifyvm", :id, "--memory", "1024"]
# end
このコメントをはずします。メモリの部分はいらないのでコメントのまま。(元のBoxは2GB割り当ててあるのでそのままのほうが無難です)
config.vm.provider "virtualbox" do |vb|
# Don't boot with headless mode
vb.gui = true
# # Use VBoxManage to customize the VM. For example to change memory:
# vb.customize ["modifyvm", :id, "--memory", "1024"]
end
あと、ホスト側からリモートデスクトップにアクセスできるようにリモートデスクトップのポートもフォワーディングしておきましょう。
config.vm.network "forwarded_port", guest: 3389, host: 3389
これで、以下のコマンドでもう一度起動。
$ vagrant reload
これでVirtualBoxでWindowsのコンソールが立ち上がり、ホスト側からアクセスできるようになりました。
##Windows側でリモートデスクトップを有効にする
コンソールが開いたら、Windowsボタンを右クリックして「Ststem」をクリック、開いたウィンドウの中で「Remote Setting」をクリックします。で、「Allow remote connections to this computer」を選んで「OK」ボタンで保存。
これだけだと、Publicネットワーク(ホストとつながる方)からのアクセスがファイアウォールでブロックされたままなので、ファイアウォールの設定を行います。
コントロールパネルで「Allow an app through Windows Firewall」を選んで、「Remote Desktop」の「Public」をチェックしましょう。
これでWindows側でリモートデスクトップを有効にすることができました。
##リモートデスクトップでアクセス
せっかくなのでvagrant rdp
コマンドでアクセスしてみましょう。
$ vagrant rdp
vagrantユーザーでつなごうとします。デフォルトのパスワードはvagrant
です。これでリモートデスクトップでつなぐことができました。
##最後に
次回以降起動時にVirtualBoxのウィンドウを表示したくない場合は、最初にコメントを外した部分を再度コメントアウトしてヘッドレスで起動されるように戻しておきましょう。
また、結構面倒なので、この状態のBoxを作っておいた方が次回以降面倒でなくていいです。
というか、見て分かる通り、英語版のWindowsなので、嫌な人はやっぱり日本語版のWindowsをVirtualBoxにインストールして、そこから自分のBoxを作るのが一番楽かもしれないですね。