You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			95 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			INI
		
	
			
		
		
	
	
			95 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			INI
		
	
#!/bin/bash
 | 
						|
#
 | 
						|
# Init file for TigerVNC Server
 | 
						|
#
 | 
						|
# chkconfig: - 91 35
 | 
						|
# description: TigerVNC remote X administration daemon.
 | 
						|
#
 | 
						|
# processname: Xvnc
 | 
						|
 | 
						|
### BEGIN INIT INFO
 | 
						|
# Provides: vncservers
 | 
						|
# 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=""
 | 
						|
 | 
						|
### Read configuration
 | 
						|
[ -r "$SYSCONFIG" ] && . "$SYSCONFIG"
 | 
						|
 | 
						|
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() {
 | 
						|
    echo -n $"Shutting down $desc: "
 | 
						|
    for display in ${VNCSERVERS}; do
 | 
						|
      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
 | 
						|
}
 | 
						|
 | 
						|
restart() {
 | 
						|
    stop
 | 
						|
    start
 | 
						|
}
 | 
						|
 | 
						|
case "$1" in
 | 
						|
  start)
 | 
						|
    start
 | 
						|
    ;;
 | 
						|
  stop)
 | 
						|
    stop
 | 
						|
    ;;
 | 
						|
  restart|reload)
 | 
						|
    restart
 | 
						|
    ;;
 | 
						|
  *)
 | 
						|
    echo $"Usage: $0 {start|stop|restart}"
 | 
						|
    RETVAL=1
 | 
						|
esac
 | 
						|
 | 
						|
exit $RETVAL
 |