#!/bin/sh # Default commands for starting a VNC service # # This supports a variety of common distributions PATH="$PATH:/sbin:/usr/sbin" OPERATION="$1" SERVICE_NAME="$2" if [ "$OPERATION" = "start" -o "$OPERATION" = "startnostatus" ]; then SYSTEMCTL_CMD=enable SERVICE_CMD=restart 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