#!/bin/sh
# Default commands for starting a VNC service
#
# This supports a variety of common distributions
# This file is automatically generated. DO NOT EDIT.
# To customise for your distribution, create a new script and place it in:
# /etc/vnc/vncservice

PATH="$PATH:/sbin:/usr/sbin"
OPERATION="$1"
SERVICE_NAME="$2"

if [ "$OPERATION" = start ]; then
  SYSTEMCTL_CMD=enable
  SERVICE_CMD=start
  CHKCFG_OP=add
  CHKCFG_CMD=on
  RCUPDATE_OP=add
  UPDATE_RC_D_CMD=defaults
  UPDATE_RC_D_CMD2=enable
elif [ "$OPERATION" = stop ]; then
  SYSTEMCTL_CMD=disable
  SERVICE_CMD=stop
  CHKCFG_OP=del
  CHKCFG_CMD=off
  RCUPDATE_OP=delete
  UPDATE_RC_D_CMD=disable
else
  echo Operation "$OPERATION" not supported
  exit 1
fi

if which systemctl >/dev/null 2>&1; then
  systemctl $SYSTEMCTL_CMD $SERVICE_NAME.service
  systemctl $SERVICE_CMD $SERVICE_NAME.service
elif which chkconfig >/dev/null 2>&1; then
  service $SERVICE_NAME $SERVICE_CMD
  chkconfig --$CHKCFG_OP $SERVICE_NAME
  chkconfig $SERVICE_NAME $CHKCFG_CMD
elif which rc-service >/dev/null 2>&1; then
  rc-service $SERVICE_NAME $SERVICE_CMD
  rc-update $RCUPDATE_OP $SERVICE_NAME default
elif which update-rc.d >/dev/null 2>&1; then
  /etc/init.d/$SERVICE_NAME $SERVICE_CMD
  update-rc.d $SERVICE_NAME $UPDATE_RC_D_CMD
  if [ -n "$UPDATE_RC_D_CMD2" ]; then
      update-rc.d $SERVICE_NAME $UPDATE_RC_D_CMD2
  fi
else
  echo Could not find suitable service manger
  exit 1
fi

if [ "$SERVICE_NAME" = vncserver-x11-serviced ] && [ "$OPERATION" = "start" ]; then
  for i in 1 2 3 4 5; do
    if vncserver-x11 -service -showexistingstatus >/dev/null 2>&1; then
      break
    fi
    sleep 1
  done
fi
