Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 552 - (hide 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 niro 126 #!/bin/bash
2 niro 552 # $Header: /root/magellan-cvs/src/virtualbox/virtualbox-wrapper.sh,v 1.4 2008-03-27 14:14:30 niro Exp $
3 niro 126 # 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 niro 130 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 niro 126 # check for the vbox module
21     if [[ ! -w /dev/vboxdrv ]]
22     then
23 niro 552 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 niro 130 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 niro 128 exit 1
36 niro 126 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 niro 128
44 niro 126 # kill all running instances for $USER
45     if [[ -n ${pid} ]]
46     then
47     kill -TERM ${pid}
48     sleep 2
49 niro 128
50 niro 126 # 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 niro 130 echo -e ${COLRED}"Error: Unknown application - $(basename $0)"${COLDEFAULT}
74 niro 126 exit 1
75     ;;
76     esac