Vagrant を既存のローカルネットワークに接続する

Vagrant で既存のローカルネットワークに接続する

まず、デフォルトで有効になっているconfig.vm.network "private_network"を無効にします。config.vm.network "private_network", ip: "192.168.33.10"のように有効化されているはずです。

config.vm.network "private_network" を無効にする

config.vm.network "private_network"をコメントアウトしましょう。

  # config.vm.network "private_network", ip: "192.168.33.10"

config.vm.network "public_network" を有効化し、IPアドレス を書き加える

次にconfig.vm.network "public_network"の部分をコメントアウトします。そしてip:として割り当てる IPアドレス を既存のネットワークにあわせて指定しましょう。下記では192.168.200.100と指定しています。

  config.vm.network "public_network", ip: "192.168.200.100"

ping あたりで確かめてみる

vagrant upした後にpingを打って、ローカルの別のマシンからの疎通を確認できれば OK です。

Windows 10 で OS 起動時にネットワークドライブにつながらない場合への対処方法

問題点

Windows 10 の起動時、「ネットワークドライブにつながらない」と毎回怒られる場合にどうするか*1

結論

Windows Script Host(WSH)を書く(しかない)。

具体的には

ここで私がうだうだ説明するより、以下のページがとてもとても良くまとまっているのでオススメです。

スクリプト自体はこんな感じです(foobar.vbs)。NAME_1NAME_2あたりに適切な名前を入れて下さい。objNetworkZは命名を変更しても大丈夫です。なお、複数のネットワークドライブがある場合は、一つが疎通すればあとは全てつながるっぽいです。

Set objNetworkZ = CreateObject("WScript.Network")
objNetWorkZ.MapNetworkDrive "Z:","\\NAME_1\NAME_2"

あまりイケてない、賢くない方法なんだけどもっといい方法はない?

この問題はかなり前から(Windows 7 ぐらいから)起きているのだけれども、根本的なスマートな解決方法 2017/04/16 現在、提供されていません。冒頭の「問題点」の中で「毎回怒られる」とありますが、上記解決策を施しても怒られることがあります。怒られたあとに接続しに行っているだけです。

ちなみにこれ、「再起動」をした場合は接続を維持してくれるようです。そのため再起動時には WSH の重複実行エラーが出ます。シャットダウンをして新しく起動した場合には、WSH を実行しないと自動でつながらないと思います。

何とかしてほしい……。

*1:「場合」と書いてますが 100% つながらないでしょう

Windows 10 で規定の時間になってもディスプレイのモニタが消えないとき

問題点

以下のように、「電源とスリープ」の設定で「画面」のスリープ時間を設定したのに設定時間が経ってもモニタが消えない。 f:id:gregminster:20170416163043p:plain

結論

ゲームコントローラの接続を外す。

上記でもダメな場合

私には分からないです。

Vagrantfile を修正して Windows 上のフォルダと Ubuntu 上のフォルダを同期させる方法

記事タイトル

思いっきりWindowsUbuntuって限定してしまっていますが、便宜上のことであり、いわゆる「ホスト」と「ゲスト」間なら何でもオッケーです。

方法(Vagrantfile の修正)

Vagrantfileconfig.vm.synced_folderを修正してあげましょう。ここでは Windows 上で Vagrant を動かし、Ubuntu を構築しているものとします。

Windows 側の共有フォルダ

「Vagrantfile があるフォルダを起点として」、どのフォルダを共有するかを決めます。

例えばC:\Vagrant\my_ubuntu\Vagrantfileとあった場合に、C:\Vagrant\my_ubuntu\Vagrantfile\shared_folderとしてshared_folderを共有フォルダにしたい場合の指定方法は./shared_folderとなります。

Ubuntu 側の共有フォルダ

Ubuntu 側はフルパスで書けば OK です。例えば、/home/murayama/shared_folderのような感じです。

Vagrantfile に記述

上述の例の場合だと、Vagrantfileconfig.vm.synced_folderに以下のように書きます。コメントアウトは外しましょう。

config.vm.synced_folder "./shared_folder", "/home/murayama/shared_folder"

再起動

Vagrant を再起動すれば反映されているはずです。

Powered by はてなブログ