#!/bin/bash # # Init file for TigerVNC Server # # Written by Dag Wieers # # chkconfig: - 91 35 # description: TigerVNC remote X administration daemon. # # processname: Xvnc source /etc/rc.d/init.d/functions source /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 1 [ -x /usr/bin/Xvnc ] || exit 1 ### Default variables SYSCONFIG="/etc/sysconfig/vncservers" VNCSERVERS="" ### Read configuration [ -r "$SYSCONFIG" ] && source "$SYSCONFIG" RETVAL=0 prog="Xvnc" desc="TigerVNC remote administration daemon" start() { echo -n $"Starting $desc ($prog):" ulimit -S -c 0 &>/dev/null for display in ${VNCSERVERS}; do echo -n "${display} " unset BASH_ENV ENV initlog $INITLOG_ARGS -c \ "su ${display##*:} -c \"cd ~${display##*:} && [ -f .vnc/passwd ] && vncserver :${display%:*} ${VNCSERVERARGS[${display%:*}]}\"" RETVAL=$? [ "$RETVAL" -ne 0 ] && break done [ "$RETVAL" -eq 0 ] && success $"vncserver startup" || failure $"vncserver start" echo [ "$RETVAL" -eq 0 ] && touch /var/lock/subsys/$prog return $RETVAL } stop() { echo -n $"Shutting down $desc ($prog): " for display in ${VNCSERVERS}; do echo -n "${display} " unset BASH_ENV ENV initlog $INITLOG_ARGS -c \ "su ${display##*:} -c \"vncserver -kill :${display%:*}\" &>/dev/null" done RETVAL=$? [ "$RETVAL" -eq 0 ] && success $"vncserver shutdown" || failure $"vncserver shutdown" echo [ "$RETVAL" -eq 0 ] && rm -f /var/lock/subsys/$prog return $RETVAL } restart() { stop start } case "$1" in start) start ;; stop) stop ;; restart|reload) restart ;; condrestart) [ -e /var/lock/subsys/$prog ] && restart RETVAL=$? ;; status) status $prog RETVAL=$? ;; *) echo $"Usage: $0 {start|stop|restart|condrestart|status}" RETVAL=1 esac exit $RETVAL