DEL vbox-start script
This commit is contained in:
parent
87b15b55a2
commit
5fdca49072
|
@ -1,38 +0,0 @@
|
|||
#! /bin/bash
|
||||
|
||||
# start Virtualbox VM with an event hook that fires when closing
|
||||
# takes one argument which is the string name of the VM to start
|
||||
|
||||
if [[ -z "$1" ]]; then
|
||||
echo "No VM specified"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# when VBoxManage runs it spawns a new process with the machine uuid
|
||||
# as part of the full command. This is the process we wish to monitor
|
||||
# in order to fire an event when it closes. Therefore, need to get the
|
||||
# machine uuid for the target VM from the config files (yes VBoxManage
|
||||
# can do this but it seems to randomly take a long time; sed is way
|
||||
# more reliable)
|
||||
|
||||
vbox_conf="$XDG_CONFIG_HOME/VirtualBox/VirtualBox.xml"
|
||||
vbox_home=$(sed -n 's/.*defaultMachineFolder=\"\(.*\)\" defaultHardDiskFormat.*/\1/p' "$vbox_conf")
|
||||
vm_conf="$vbox_home/$1/$1.vbox"
|
||||
|
||||
if [[ ! -e "$vm_conf" ]]; then
|
||||
echo "Invalid VM specified"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
machine_uuid=$(sed -n 's/.*Machine uuid=\"{\(.*\)}\".*/\1/p' "$vm_conf")
|
||||
|
||||
VBoxManage startvm "$1"
|
||||
|
||||
vm_pid=$(pgrep -f "$machine_uuid")
|
||||
|
||||
# ew polling...
|
||||
while [ -d "/proc/$vm_pid" ]; do
|
||||
sleep 0.1
|
||||
done
|
||||
|
||||
#xitsign
|
Loading…
Reference in New Issue