最近会議が増えたのでPC(Windows)を閉じて移動→開いて作業が増えたのですがPCを閉じるとスリープになります
筆者はVagrantでVirtualBoxのマシンを用意してその中でDockerなりの環境を立て開発しています
PCを開いて復帰後にVagrantで起動したVirtualBoxのマシンのNATのネットワークが機能しない状態になってしまい毎度vagrant reload
などで再起動させていました
さすがにこれは効率悪いなと思い探してみたところやはり先人が解決策を提示してくれていました
結論的には上記ページの中程の通り
VBoxManage controlvm "machine_name" setlinkstate1 off VBoxManage controlvm "machine_name" setlinkstate1 on
setlinkstate
はhelpを見るとsetlinkstate<1-N> on|offとのことでNICの順序による
今回vagrant経由で作成したマシンに関してはNATの設定がNICの1番目なのでこのコマンドで問題なく再接続ができます
machie_name
は下記の箇所のことです
ということで上記コマンドを実行することで再度マシン内からネットワークにつなげることが可能になります
powershellやbatファイルはあまり馴染みが無かったのでGit bashで開いてshellscript書いてVagrantfileと同じ場所においてあげました
#!/bin/bash echo 'network reconnect...' cd /c/Program\ Files/Oracle/VirtualBox ./VBoxManage.exe controlvm "dev3_default_1571209188714_51579" setlinkstate1 off ./VBoxManage.exe controlvm "dev3_default_1571209188714_51579" setlinkstate1 on
ターミナルソフト経由でつないでいても接続が切れないので毎度ターミナルソフトを落としてつなぎ直す必要もなくなりストレスなく作業に復帰できます
思った以上に体験が良いですね
参考
Vagrant (provider Virtualbox) で network の promiscuous を設定する。 - Qiita