Annotation of /trunk/virtualbox/virtualbox-wrapper.sh
Parent Directory | Revision Log
Revision 552 -
(hide annotations)
(download)
(as text)
Thu Mar 27 14:14:30 2008 UTC (16 years, 7 months ago) by niro
File MIME type: application/x-sh
File size: 1941 byte(s)
Thu Mar 27 14:14:30 2008 UTC (16 years, 7 months 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 |