Magellan Linux

Contents of /trunk/virtualbox/virtualbox-wrapper.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 552 - (show annotations) (download) (as text)
Thu Mar 27 14:14:30 2008 UTC (16 years, 1 month ago) by niro
File MIME type: application/x-sh
File size: 1941 byte(s)
-use xdialog or xmessage to display an error message in X

1 #!/bin/bash
2 # $Header: /root/magellan-cvs/src/virtualbox/virtualbox-wrapper.sh,v 1.4 2008-03-27 14:14:30 niro Exp $
3 # Wrapper for virtual for Magellan-Linux
4
5 LIBDIR=/usr/lib
6 INSTDIR=${LIBDIR}/virtualbox
7 XPCOM_DAEMON=VBoxSVC
8 VBOXCONFIG=$HOME/.VirtualBox
9 VBOXLOG=${VBOXCONFIG}/log
10
11 COLRED="\033[1;6m\033[31m"
12 COLDEFAULT="\033[0m"
13
14 if [[ ${NOCOLORS} = true ]]
15 then
16 COLRED=""
17 COLDEFAULT=""
18 fi
19
20 # check for the vbox module
21 if [[ ! -w /dev/vboxdrv ]]
22 then
23 if [[ ! -z ${DISPLAY} ]]
24 then
25 dialog() { xterm -e "echo -e \"$@\"; echo; echo \"Press [Enter] to continue ...\"; read"; }
26 [[ -x /usr/bin/xmessage ]] && dialog() { echo -e "$@" | /usr/bin/xmessage -center -button cancel -file -; }
27 [[ -x /usr/bin/Xdialog ]] && dialog() { /usr/bin/Xdialog --infobox "$@" 0 0 --no-ok --center; }
28
29 dialog "Please make sure that you have the virtualbox kernel module installed and loaded.\n" \
30 "Run 'virtualbox-config' to get the kernel module compiled and installed."
31 fi
32
33 echo -e ${COLRED}"Please make sure that you have the virtualbox kernel module installed and loaded."${COLDEFAULT}
34 echo -e ${COLRED}"Run 'virtualbox-config' to get the kernel module compiled and installed."${COLDEFAULT}
35 exit 1
36 fi
37
38 # set lib dir
39 export LD_LIBRARY_PATH="${INSTDIR}"
40
41 # check for the vbox XPCOM daemon
42 pid=$( ps -U $USER | grep ${XPCOM_DAEMON} | awk '{ print $1 }' )
43
44 # kill all running instances for $USER
45 if [[ -n ${pid} ]]
46 then
47 kill -TERM ${pid}
48 sleep 2
49
50 # kill the pidfile
51 rm -rf /tmp/.vbox-$USER-ipc
52 fi
53
54 # start the daemon
55 install -d ${VBOXCONFIG}
56 ${INSTDIR}/${XPCOM_DAEMON} --daemonize > ${VBOXLOG} 2>&1
57
58 # start the proper application
59 case $(basename $0) in
60 virtualbox)
61 exec ${INSTDIR}/VirtualBox $*
62 ;;
63 vboxmanage)
64 exec ${INSTDIR}/VBoxManage $*
65 ;;
66 vboxsdl)
67 exec ${INSTDIR}/VBoxSDL $*
68 ;;
69 vboxbfe)
70 exec ${INSTDIR}/VBoxBFE $*
71 ;;
72 *)
73 echo -e ${COLRED}"Error: Unknown application - $(basename $0)"${COLDEFAULT}
74 exit 1
75 ;;
76 esac