lib/instalatron.rb in instalatron-0.1.2 vs lib/instalatron.rb in instalatron-0.1.3

- old
+ new

@@ -2,11 +2,11 @@ require 'yaml' require 'virtualbox' module Instalatron - VERSION = '0.1.2' + VERSION = '0.1.3' def self.destroy_vm(vm_name) `VBoxManage controlvm '#{vm_name}' poweroff > /dev/null 2>&1` # dumb sleep 1 @@ -21,10 +21,14 @@ end os_type = params[:os_type] || 'RedHat_64' vboxcmd = params[:vboxcmd] || 'VBoxManage' vm_memory = params[:vm_memory] || 512 vm_cpus = params[:vm_cpus] || 1 + if params[:headless].nil? + params[:headless] = false + end + headless = params[:headless] ? 'headless':'gui' # listing os types # VirtualBox::Global.global.lib.virtualbox.guest_os_types.each do |os| # puts os.id # end @@ -65,11 +69,11 @@ # Attach disk `#{vboxcmd} storageattach '#{vm_name}' --storagectl 'SATA Controller' --port 0 --device 0 --type hdd --medium '#{disk_file}' >/dev/null 2>&1` `#{vboxcmd} storageattach '#{vm_name}' --storagectl 'IDE Controller' --type dvddrive --port 1 --device 0 --medium '#{full_iso_file}' >/dev/null 2>&1` - vm.start + vm.start headless end def self.command_window(seq, vm_name, key_press_delay = 0) if seq.is_a? String seq = [seq] @@ -77,10 +81,10 @@ seq.each do |str| keycodes = string_to_keycode str keycodes.split.each do |k| `VBoxManage controlvm #{vm_name} keyboardputscancode '#{k}' >/dev/null 2>&1` end - #sleep key_press_delay + sleep key_press_delay.to_i end end def self.grab_screenshot(vm_name, dest_file = nil) if dest_file.nil?