VBox.sh revision c58f1213e628a545081c70e26c6b67a841cff880
#
# Oracle VM VirtualBox startup script, Linux hosts.
#
# Copyright (C) 2006-2012 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
# General Public License (GPL) as published by the Free Software
# Foundation, in version 2 as it comes in the "COPYING" file of the
# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
#
if [ ! -r "$CONFIG" ]; then
echo "Could not find VirtualBox installation. Please reinstall."
exit 1
fi
. "$CONFIG"
# Note: This script must not fail if the module was not successfully installed
# because the user might not want to run a VM but only change VM params!
if [ "$1" = "shutdown" ]; then
SHUTDOWN="true"
cat << EOF
WARNING: The vboxdrv kernel module is not loaded. Either there is no module
available for the current kernel (`uname -r`) or it failed to
load. Please recompile the kernel module and install it by
sudo /etc/init.d/vboxdrv setup
You will not be able to start VMs until this problem is fixed.
EOF
cat << EOF
WARNING: The character device /dev/vboxdrv does not exist. Try
sudo /etc/init.d/vboxdrv restart
and if that is not successful, try to re-install the package.
You will not be able to start VMs until this problem is fixed.
EOF
fi
cat << EOF
WARNING: The compilation of the vboxdrv.ko kernel module failed during the
installation for some reason. Starting a VM will not be possible.
Please consult the User Manual for build instructions.
EOF
fi
if [ -z "$SERVER_PID" ]; then
# See IPC_GetDefaultSocketPath()!
if [ -n "$LOGNAME" ]; then
else
fi
fi
if [ "$SHUTDOWN" = "true" ]; then
if [ -n "$SERVER_PID" ]; then
kill -TERM $SERVER_PID
sleep 2
fi
exit 0
fi
{
AWK_SCRIPT='BEGIN { for ( i=1; i < ARGC; i++) {gsub(/'\''/, "'\''\\'\''", ARGV[i]); printf "'\''%s'\'' ", ARGV[i]}}'
AWK_SCRIPT="BEGIN { for ( i=1; i < ARGC; i++) {gsub(/'/, \"'\\\\'\", ARGV[i]); printf \"'%s' \", ARGV[i]}}"
ARGS="$(awk "$AWK_SCRIPT" "$@")"
echo ${ARGS} ";" "exit" | exec newgrp vboxusers
else
exec "$@"
fi
}
APP=`basename $0`
case "$APP" in
VirtualBox|virtualbox)
run_in_group "$INSTALL_DIR/VirtualBox" "$@"
;;
VBoxManage|vboxmanage)
run_in_group "$INSTALL_DIR/VBoxManage" "$@"
;;
VBoxSDL|vboxsdl)
run_in_group "$INSTALL_DIR/VBoxSDL" "$@"
;;
VBoxVRDP|VBoxHeadless|vboxheadless)
run_in_group "$INSTALL_DIR/VBoxHeadless" "$@"
;;
VBoxAutostart|vboxautostart)
run_in_group "$INSTALL_DIR/VBoxAutostart" "$@"
;;
VBoxBalloonCtrl|vboxballoonctrl)
run_in_group "$INSTALL_DIR/VBoxBalloonCtrl" "$@"
;;
vboxwebsrv)
run_in_group "$INSTALL_DIR/vboxwebsrv" "$@"
;;
VBoxBFE|vboxbfe)
run_in_group "$INSTALL_DIR/VBoxBFE" "$@"
;;
*)
echo "Unknown application - $APP"
exit 1
;;
esac
exit 0