Create the VMHeadless script. I have teamed all my VMS and will launch/suspend the team /vms/my_team.vmtm
vi /etc/init.d/vmheadless#!/bin/bash
### BEGIN INIT INFO
# Provides: vmheadless.sh
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# chkconfig: 2345 99 20
# Short-Description: Start VM
# Description: Start/stop the virtual machines
### END INIT INFO
MACHINE_NAME="/vms/my_team.vmtm"
VM_USER="vmuser"
RETVAL=0
LD_LIBRARY_PATH=/usr/lib/vmware:$LD_LIBRARY_PATH
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin
id=`id -u`
if [ "$id" != "0" ]; then
echo "This script must be run as root" 1>&2
exit 1
fi
# Load the VERBOSE setting and other rcS variables
[ -f /etc/default/rcS ] && . /etc/default/rcS
# Load the VERBOSE setting and other rcS variables
#. /lib/init/vars.sh
# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions
# Get function from functions library
. /etc/init.d/functions
# Load network defaults. Use this if there is any extra network stuff to do first.
case "$1" in
start)
su $VM_USER -c "/usr/bin/vmrun start $MACHINE_NAME nogui"
RETVAL=0
echo "Started VM Headless RETVAL=($RETVAL)"
;;
stop)
/usr/bin/vmrun suspend "$MACHINE_NAME"
RETVAL=$?
echo "Suspended VM Headless RETVAL=($RETVAL)"
;;
status)
ps=`ps -ef | grep vmware-vmx | grep -v grep | wc -l`
if [ "$ps" -gt 0 ] ; then
echo "$ps VMS started"
RETVAL=1
else
echo "VMS not running"
RETVAL=0
fi
;;
restart)
/usr/bin/vmrun suspend "$MACHINE_NAME" nogui
RETVAL=$?
echo "Suspended VM Headless RETVAL=($RETVAL)"
su backup -c "/usr/bin/vmrun -T ws start $MACHINE_NAME nogui"
RETVAL=$?
echo "Started VM Headless RETVAL=($RETVAL)"
;;
*)
echo "Usage: $0 { start | stop }"
RETVAL=1
;;
esac
exit $RETVAL