您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

vncserver.service 1.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. #!/bin/bash
  2. # Scripted by Maxim Heijndijk
  3. # chkconfig: 2345 91 35
  4. # description: Starts and stops vncserver. \
  5. # Used to provide remote X administration services.
  6. ### BEGIN INIT INFO
  7. # Provides: vncservers
  8. # Default-Start: 2 3 4 5
  9. # Default-Stop: 0 1 6
  10. # Required-Start: networking
  11. # Required-Stop: networking
  12. # Short-Description: Starts and stops vncserver
  13. # Description: Used to provide remote X administration services.
  14. ### END INIT INFO
  15. # Source function library.
  16. . /lib/lsb/init-functions
  17. VNCSERVERS=""
  18. [ -f /etc/default/vncservers ] && . /etc/default/vncservers || exit 0
  19. start() {
  20. ulimit -S -c 0 >/dev/null 2>&1
  21. RETVAL=0
  22. for display in ${VNCSERVERS}; do
  23. eval cd ~${display##*:}
  24. if [ -e ".vnc/passwd" ]; then
  25. log_begin_msg "Starting VNC Server for user ${display##*:}:"
  26. unset BASH_ENV ENV
  27. su ${display##*:} -c "cd ~${display##*:} && vncserver :${display%%:*}"
  28. RETVAL="$?"
  29. if [ "$RETVAL" -ne 0 ]; then
  30. log_end_msg 1
  31. break
  32. else
  33. log_end_msg 0
  34. fi
  35. else
  36. 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"
  37. log_end_msg 1
  38. fi
  39. done
  40. [ "$RETVAL" -eq 0 ] && touch "/var/lock/vncserver"
  41. }
  42. stop() {
  43. unset BASH_ENV ENV
  44. for display in ${VNCSERVERS}; do
  45. log_begin_msg "Shutting down VNC Server for user ${display##*:}: "
  46. su ${display##*:} -c "vncserver -kill :${display%%:*}" >/dev/null 2>&1
  47. RETVAL="$?"
  48. [ "$RETVAL" -eq 0 ] && log_end_msg 0 || log_end_msg 1
  49. done
  50. [ -f "/var/lock/vncserver" ] && rm -f "/var/lock/vncserver"
  51. }
  52. case "$1" in
  53. start) start
  54. ;;
  55. stop) stop
  56. ;;
  57. restart|reload) stop
  58. start
  59. ;;
  60. *) echo $"Usage: $0 {start|stop|restart}"
  61. exit 1
  62. ;;
  63. esac
  64. exit 0