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
 |