vagrant up時に自動でwebcamを認識させるVagrantfileを書く
やりたいこと
virtualboxのboxにwebカメラを認識させるには
> vboxmanage controlvm {machine_id} webcam attach .1
のようにmachine idを指定してスクリプトを実行する必要がある。これをVagrantfile
の中で行うことができれば、vagrant up
すれば自動でウェブカメラを認識させることができるので、そのやり方。
環境
- Windows 10 Home 2004
- Vagrant 2.2.14
- VirtualBox 6.1.16
やり方
以下のコードをVagrantfile
の途中に追加する。ウェブカメラのalias(.1
の部分)は適宜変更。
config.trigger.after [:up, :reload] do |trigger| trigger.ruby do |env,machine| puts `vboxmanage controlvm #{machine.id} webcam attach .1` end end
終わり!
ネットではrubyのFile
クラスを使ってidを.vagrant
フォルダにあるファイルから読み込んでいる記事があったが、それだと初回起動時に
Vagrantfile:66:in `read': No such file or directory @ rb_sysopen - .vagrant\machines\default\virtualbox\id (Errno::ENOENT)
のエラーが出てしまう。
感想
VagrantFileってRubyだったんだ!
最近rubyをよく見かけるので、Rubyの勉強をしたほうがいい気がしてきた。