diff options
author | Thiago Almeida | 2015-07-01 14:59:39 -0300 |
---|---|---|
committer | Thiago Almeida | 2015-07-01 14:59:39 -0300 |
commit | 86eda3ca0928b3dd2bff0e58ad353cb16643d762 (patch) | |
tree | f1760320c55d980f3b2ac25335f7d416557ba42e /vboxtool | |
download | aur-86eda3ca0928b3dd2bff0e58ad353cb16643d762.tar.gz |
Initial import
Diffstat (limited to 'vboxtool')
-rwxr-xr-x | vboxtool | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/vboxtool b/vboxtool new file mode 100755 index 000000000000..234e4cbc88da --- /dev/null +++ b/vboxtool @@ -0,0 +1,64 @@ +#!/bin/bash + +daemon_name=vboxtool + +. /etc/rc.conf +. /etc/rc.d/functions +. /etc/conf.d/$daemon_name.conf + +start() +{ + # 'vboxtoolinit start' maps to 'vboxtool autostart'; when the host boots, all sessions in + # the config file /etc/vboxtool/machines.conf are started + $su_command "vboxtool autostart" > /dev/null +} + +stop() +{ + # 'vboxtoolinit stop' maps to 'vboxtool save'; when the host halts, all running sessions + # are saved, instead of stopped. + $su_command "vboxtool save" > /dev/null +} + +if [ -f "$config_file" ] +then + . "$config_file" +else + echo "Error: $config_file does not exist. Exiting." + exit 1 +fi + +if [ ! -n "$vbox_user" ] +then + echo "Error: vbox_user not defined in $config_file. Exiting." + exit 1 +fi + +# Implementation of user control, execute several commands as another (predefined) user, +# thus freeing the main script vboxtool from any user related issues. +su_command="su - $vbox_user -c" + +case "$1" in + start) + stat_busy "Starting $daemon_name" + start + add_daemon $daemon_name + stat_done + ;; + + stop) + stat_busy "Stopping $daemon_name" + stop + rm_daemon $daemon_name + stat_done + ;; + + restart) + $0 stop + sleep 3 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 |