#!/bin/sh INSTALL_DIR=/opt/VirtualBox USER=$( whoami ) SERVER_PID=$( ps -U $USER | grep VBoxSVC | awk '{ print $1 }' ) if [ "$1" = shutdown ]; then if [ "$SERVER_PID" != "" ]; then kill -TERM $SERVER_PID sleep 2 fi exit 0 fi [ "$VBOX_USER_HOME" = "" ] && VBOX_USER_HOME="$HOME/.VirtualBox" mkdir -p "$VBOX_USER_HOME" LOG="$VBOX_USER_HOME/VBoxSVC.log" if [[ -e /proc/modules && ! -e /dev/vboxdrv ]] ; then echo "Error: vboxdrv kernel module is not loaded..." echo "Please load the module before starting VirtualBox." exit 1 elif [ ! -w /dev/vboxdrv ]; then if [ "`id | grep vboxusers`" = "" ]; then echo "Error: You are not a member of the \"vboxusers\" group..." echo "Please add yourself to this group before starting VirtualBox." else echo "Error: /dev/vboxdrv is not writable for some reason..." echo "If you recently added the current user to the vboxusers group," echo "then you have to logout and re-login to take the change effect." fi exit 1 fi export LD_LIBRARY_PATH="$INSTALL_DIR" if [ "$SERVER_PID" = "" ]; then rm -rf /tmp/.vbox-$USER-ipc [ -f "$LOG.1" ] && mv "$LOG.1" "$LOG.2" [ -f "$LOG.0" ] && mv "$LOG.0" "$LOG.1" [ -f "$LOG" ] && mv "$LOG" "$LOG.0" /opt/VirtualBox/VBoxSVC --daemonize >"$LOG" 2>&1 fi APP=$( which $0 ) APP=${APP##/*/} case "$APP" in virtualbox) exec "$INSTALL_DIR/VirtualBox" "$@" ;; vboxmanage) exec "$INSTALL_DIR/VBoxManage" "$@" ;; vboxsdl) exec "$INSTALL_DIR/VBoxSDL" "$@" ;; vboxvrdp) exec "$INSTALL_DIR/VBoxVRDP" "$@" ;; *) echo "Error: Unknown application - $APP" exit 1 ;; esac