#!/bin/bash
-
-# Scripted by Maxim Heijndijk
-
-# chkconfig: 2345 91 35
-# description: Starts and stops vncserver. \
-# Used to provide remote X administration services.
+#
+# Init file for TigerVNC Server
+#
+# chkconfig: - 91 35
+# description: TigerVNC remote X administration daemon.
+#
+# processname: Xvnc
### BEGIN INIT INFO
# Provides: vncservers
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
# Required-Start: networking
# Required-Stop: networking
+# Default-Start:
+# Default-Stop: 0 1 2 3 4 5 6
# Short-Description: Starts and stops vncserver
# Description: Used to provide remote X administration services.
### END INIT INFO
# Source function library.
-
. /lib/lsb/init-functions
+### Default variables
+SYSCONFIG="/etc/default/vncservers"
VNCSERVERS=""
-[ -f /etc/default/vncservers ] && . /etc/default/vncservers || exit 0
-
-start() {
-
- ulimit -S -c 0 >/dev/null 2>&1
-
- RETVAL=0
-
- for display in ${VNCSERVERS}; do
-
- eval cd ~${display##*:}
-
- if [ -e ".vnc/passwd" ]; then
-
- log_begin_msg "Starting VNC Server for user ${display##*:}:"
-
- unset BASH_ENV ENV
-
- su ${display##*:} -c "cd ~${display##*:} && vncserver :${display%%:*}"
-
- RETVAL="$?"
-
- if [ "$RETVAL" -ne 0 ]; then
-
- log_end_msg 1
-
- break
-
- else
-
- log_end_msg 0
-
- fi
-
- else
+### Read configuration
+[ -r "$SYSCONFIG" ] && . "$SYSCONFIG"
- log_begin_msg "Not starting VNC Server for user ${display##*:}.\n File \"~${display##*:}/.vnc/passwd\" not found.\n Create a password file for the VNC server with vncpasswd"
-
- log_end_msg 1
-
- fi
-
- done
-
- [ "$RETVAL" -eq 0 ] && touch "/var/lock/vncserver"
+RETVAL=0
+prog=$"VNC server"
+start() {
+ echo -n $"Starting $prog: "
+ ulimit -S -c 0 >/dev/null 2>&1
+ for display in ${VNCSERVERS}; do
+ echo -n "${display} "
+ if [ -r $(eval echo ~${display##*:})/.vnc/passwd ]; then
+ unset BASH_ENV ENV
+ log_begin_msg "Starting VNC Server for user ${display##*:}:"
+ su ${display##*:} -c "cd ~${display##*:} && [ -f .vnc/passwd ] && vncserver :${display%%:*} ${VNCSERVERARGS[${display%:*}]}"
+ RETVAL="$?"
+ if [ "$RETVAL" -ne 0 ]; then
+ log_end_msg 1
+ break
+ else
+ log_end_msg 0
+ fi
+ else
+ log_begin_msg "Not starting VNC Server for user ${display##*:}.\n File \"~${display##*:}/.vnc/passwd\" not found.\n Create a password file for the VNC server with vncpasswd"
+ log_end_msg 1
+ fi
+ done
+ echo
+ [ "$RETVAL" -eq 0 ] && touch "/var/lock/vncserver"
+ return $RETVAL
}
stop() {
-
- unset BASH_ENV ENV
-
+ echo -n $"Shutting down $desc: "
for display in ${VNCSERVERS}; do
-
- log_begin_msg "Shutting down VNC Server for user ${display##*:}: "
-
- su ${display##*:} -c "vncserver -kill :${display%%:*}" >/dev/null 2>&1
-
- RETVAL="$?"
-
- [ "$RETVAL" -eq 0 ] && log_end_msg 0 || log_end_msg 1
-
+ echo -n "${display} "
+ unset BASH_ENV ENV
+ log_begin_msg "Shutting down VNC Server for user ${display##*:}: "
+ su ${display##*:} -c "vncserver -kill :${display%%:*}" >/dev/null 2>&1
+ RETVAL="$?"
+ [ "$RETVAL" -eq 0 ] && log_end_msg 0 || log_end_msg 1
done
+ echo
+ [ "$RETVAL" -eq 0 ] && rm -f "/var/lock/vncserver"
+ return $RETVAL
+}
- [ -f "/var/lock/vncserver" ] && rm -f "/var/lock/vncserver"
-
+restart() {
+ stop
+ start
}
case "$1" in
-
- start) start
- ;;
-
- stop) stop
- ;;
-
- restart|reload) stop
- start
- ;;
-
- *) echo $"Usage: $0 {start|stop|restart}"
- exit 1
- ;;
-
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart|reload)
+ restart
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|restart}"
+ RETVAL=1
esac
-exit 0
+exit $RETVAL
#!/bin/bash
-
-# Scripted by Maxim Heijndijk
-
-# chkconfig: 2345 91 35
-# description: Starts and stops vncserver. \
-# Used to provide remote X administration services.
+#
+# Init file for TigerVNC Server
+#
+# chkconfig: - 91 35
+# description: TigerVNC remote X administration daemon.
+#
+# processname: Xvnc
### BEGIN INIT INFO
# Provides: vncservers
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
# Required-Start: networking
# Required-Stop: networking
+# Default-Start:
+# Default-Stop: 0 1 2 3 4 5 6
# Short-Description: Starts and stops vncserver
# Description: Used to provide remote X administration services.
### END INIT INFO
# Source function library.
-
. /lib/lsb/init-functions
+### Default variables
+SYSCONFIG="/etc/default/vncservers"
VNCSERVERS=""
-[ -f /etc/default/vncservers ] && . /etc/default/vncservers || exit 0
-
-start() {
-
- ulimit -S -c 0 >/dev/null 2>&1
-
- RETVAL=0
-
- for display in ${VNCSERVERS}; do
-
- eval cd ~${display##*:}
-
- if [ -e ".vnc/passwd" ]; then
-
- log_begin_msg "Starting VNC Server for user ${display##*:}:"
-
- unset BASH_ENV ENV
-
- su ${display##*:} -c "cd ~${display##*:} && vncserver :${display%%:*}"
-
- RETVAL="$?"
-
- if [ "$RETVAL" -ne 0 ]; then
-
- log_end_msg 1
-
- break
-
- else
-
- log_end_msg 0
-
- fi
-
- else
+### Read configuration
+[ -r "$SYSCONFIG" ] && . "$SYSCONFIG"
- log_begin_msg "Not starting VNC Server for user ${display##*:}.\n File \"~${display##*:}/.vnc/passwd\" not found.\n Create a password file for the VNC server with vncpasswd"
-
- log_end_msg 1
-
- fi
-
- done
-
- [ "$RETVAL" -eq 0 ] && touch "/var/lock/vncserver"
+RETVAL=0
+prog=$"VNC server"
+start() {
+ echo -n $"Starting $prog: "
+ ulimit -S -c 0 >/dev/null 2>&1
+ for display in ${VNCSERVERS}; do
+ echo -n "${display} "
+ if [ -r $(eval echo ~${display##*:})/.vnc/passwd ]; then
+ unset BASH_ENV ENV
+ log_begin_msg "Starting VNC Server for user ${display##*:}:"
+ su ${display##*:} -c "cd ~${display##*:} && [ -f .vnc/passwd ] && vncserver :${display%%:*} ${VNCSERVERARGS[${display%:*}]}"
+ RETVAL="$?"
+ if [ "$RETVAL" -ne 0 ]; then
+ log_end_msg 1
+ break
+ else
+ log_end_msg 0
+ fi
+ else
+ log_begin_msg "Not starting VNC Server for user ${display##*:}.\n File \"~${display##*:}/.vnc/passwd\" not found.\n Create a password file for the VNC server with vncpasswd"
+ log_end_msg 1
+ fi
+ done
+ echo
+ [ "$RETVAL" -eq 0 ] && touch "/var/lock/vncserver"
+ return $RETVAL
}
stop() {
-
- unset BASH_ENV ENV
-
+ echo -n $"Shutting down $desc: "
for display in ${VNCSERVERS}; do
-
- log_begin_msg "Shutting down VNC Server for user ${display##*:}: "
-
- su ${display##*:} -c "vncserver -kill :${display%%:*}" >/dev/null 2>&1
-
- RETVAL="$?"
-
- [ "$RETVAL" -eq 0 ] && log_end_msg 0 || log_end_msg 1
-
+ echo -n "${display} "
+ unset BASH_ENV ENV
+ log_begin_msg "Shutting down VNC Server for user ${display##*:}: "
+ su ${display##*:} -c "vncserver -kill :${display%%:*}" >/dev/null 2>&1
+ RETVAL="$?"
+ [ "$RETVAL" -eq 0 ] && log_end_msg 0 || log_end_msg 1
done
+ echo
+ [ "$RETVAL" -eq 0 ] && rm -f "/var/lock/vncserver"
+ return $RETVAL
+}
- [ -f "/var/lock/vncserver" ] && rm -f "/var/lock/vncserver"
-
+restart() {
+ stop
+ start
}
case "$1" in
-
- start) start
- ;;
-
- stop) stop
- ;;
-
- restart|reload) stop
- start
- ;;
-
- *) echo $"Usage: $0 {start|stop|restart}"
- exit 1
- ;;
-
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart|reload)
+ restart
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|restart}"
+ RETVAL=1
esac
-exit 0
+exit $RETVAL