Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE
virtualbox.11034
vboxautostart.sh
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File vboxautostart.sh of Package virtualbox.11034
#!/bin/sh # VirtualBox autostart service init script. # # Copyright (C) 2012-2019 Oracle Corporation # # This file is part of VirtualBox Open Source Edition (OSE), as # available from http://www.virtualbox.org. This file is free software; # you can redistribute it and/or modify it under the terms of the GNU # General Public License (GPL) as published by the Free Software # Foundation, in version 2 as it comes in the "COPYING" file of the # VirtualBox OSE distribution. VirtualBox OSE is distributed in the # hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. # # chkconfig: 345 35 65 # description: VirtualBox autostart service # ### BEGIN INIT INFO # Provides: vboxautostart-service # Required-Start: vboxdrv # Required-Stop: vboxdrv # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Description: VirtualBox autostart service ### END INIT INFO PATH=/sbin:/bin:/usr/sbin:/usr/bin:$PATH SCRIPTNAME=vboxautostart.sh # read vbox config [ -f /etc/vbox/vbox.cfg ] && . /etc/vbox/vbox.cfg # read autostart config [ -r /etc/default/virtualbox ] && . /etc/default/virtualbox begin_msg() { test -n "${2}" && echo "${SCRIPTNAME}: ${1}." logger -t "${SCRIPTNAME}" "${1}." } succ_msg() { logger -t "${SCRIPTNAME}" "${1}." } fail_msg() { echo "${SCRIPTNAME}: failed: ${1}." >&2 logger -t "${SCRIPTNAME}" "failed: ${1}." } vboxdrvrunning() { lsmod | grep -q "vboxdrv[^_-]" } start_vms() { OLD_IFS=$IFS IFS=$'\n' [ -z "$VBOXAUTOSTART_DB" ] && return [ -z "$VBOXAUTOSTART_CONFIG" ] && return begin_msg "Starting VirtualBox VMs configured for autostart" console; vboxdrvrunning || { fail_msg "VirtualBox kernel module not loaded!" exit 0 } # read autostart config file if [ -r $VBOXAUTOSTART_CONFIG ]; then # prevent inheriting this setting to VBoxSVC unset VBOX_RELEASE_LOG_DEST # find all the files of type username.start var=$(ls $VBOXAUTOSTART_DB | grep start | grep -v auto) # process each file of that type for i in $var; do # Extract the user name - the first word on the line user=$(echo $i | head -n1 | cut -d "." -f1) # autostart the VMs for that user begin_msg "Starting VMs for user $user" console su - $user -c "/usr/lib/virtualbox/VBoxAutostart --start --config $VBOXAUTOSTART_CONFIG" succ_msg "VMs for user $user started" done fi IFS=$OLD_IFS } stop_vms() { OLD_IFS=$IFS IFS=$'\n' [ -z "$VBOXAUTOSTART_DB" ] && return [ -z "$VBOXAUTOSTART_CONFIG" ] && return # read autostart config file if [ -r $VBOXAUTOSTART_CONFIG ]; then # prevent inheriting this setting to VBoxSVC unset VBOX_RELEASE_LOG_DEST # find all the files of type username.stop var=$(ls $VBOXAUTOSTART_DB | grep stop | grep -v auto) # process each file of that type for i in $var; do # Extract the user name - the first word on the line user=$(echo $i | head -n1 | cut -d "." -f1) # autostop the VMs for that user begin_msg "Stopping VMs for user $user" console su - $user -c "/usr/lib/virtualbox/VBoxAutostart --stop --config $VBOXAUTOSTART_CONFIG" succ_msg "VMs for user $user stopped" done fi IFS=$OLD_IFS } case "$1" in start) start_vms ;; stop) stop_vms ;; *) echo "Usage: $0 {start|stop}" exit 1 esac exit 0
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor