forked from mirrors/nixpkgs
140a3d416f
svn path=/nixpkgs/trunk/; revision=15030
67 lines
1.5 KiB
Bash
67 lines
1.5 KiB
Bash
#!/bin/sh
|
|
|
|
INSTALL_PATH="@INSTALL_PATH@"
|
|
export LD_LIBRARY_PATH="@INSTALL_PATH@:@QT4_PATH@"
|
|
|
|
export USER=$(whoami)
|
|
|
|
if [ ! -c /dev/vboxdrv ]; then
|
|
echo "/dev/vboxdrv does not exist. Load the kernel module then try again."
|
|
exit 1
|
|
fi
|
|
if [ ! -r /dev/vboxdrv -o ! -w /dev/vboxdrv ]; then
|
|
echo "User $USER can not read and/or write to /dev/vboxdrv."
|
|
exit 1
|
|
fi
|
|
|
|
echo "/dev/vboxdrv exists and $USER can access it."
|
|
|
|
SERVER_PID=$(ps -U $USER | grep VBoxSVC | awk '{ print $1 }')
|
|
if [ "$1" = "shutdown" ]; then
|
|
if [ -n "$SERVER_PID" ]; then
|
|
echo "Terminating VBoxSVC with PID $SERVER_PID."
|
|
kill -TERM $SERVER_PID
|
|
else
|
|
echo "VBoxSVC Not Currently Running."
|
|
fi
|
|
exit 0
|
|
fi
|
|
|
|
if [ ! -x "$INSTALL_PATH/VBoxSVC" ]; then
|
|
echo "$INSTALL_PATH/VBoxSVC does not exist! Can not continue."
|
|
exit 1
|
|
fi
|
|
|
|
APP=$(which $0)
|
|
APP=${APP##/*/}
|
|
|
|
if [ ! -x "$INSTALL_PATH/$APP" ]; then
|
|
echo "$INSTALL_PATH/$APP does not exist!"
|
|
exit 1
|
|
fi
|
|
case "$APP" in
|
|
VirtualBox|VBoxManage|VBoxSDL|VBoxVRDP)
|
|
EXEC_APP="$INSTALL_PATH/$APP"
|
|
;;
|
|
*)
|
|
echo "Unknown application - $APP."
|
|
;;
|
|
esac
|
|
|
|
if [ -z "$SERVER_PID" ]; then
|
|
rm -rf /tmp/.vbox-$USER-ipc
|
|
echo "Starting VBoxSVC for $USER."
|
|
"$INSTALL_PATH/VBoxSVC" --daemonize
|
|
fi
|
|
|
|
SERVER_PID=$(ps -U $USER | grep VBoxSVC | awk '{ print $1 }')
|
|
if [ -z "$SERVER_PID" ]; then
|
|
echo "VBoxSVC failed to start! Can not continue"
|
|
exit 1
|
|
fi
|
|
|
|
echo "VBoxSVC is running for user $USER with PID $SERVER_PID."
|
|
|
|
echo "Starting $EXEC_APP."
|
|
exec "$EXEC_APP" "$@"
|