initial commit: 1.5.0
[systemrescuecd.git] / overlay-squashfs-x86 / etc / init.d / tigervnc
1 #!/sbin/runscript
2 # Copyright 1999-2004 Gentoo Foundation
3 # Distributed under the terms of the GNU General Public License, v2 or later
4 # $Header: /var/cvsroot/gentoo-x86/net-misc/tigervnc/files/tigervnc.initd,v 1.2 2009/05/25 16:42:17 armin76 Exp $
5
6 depend() {
7         need net
8 }
9
10 checkconfig() {
11         if [ -n "${DISPLAYS}" ]; then
12                 if [ $1 = "start" ]; then
13                         local user
14                         for user in $DISPLAYS; do
15                                 if eval [ ! -f "~${user%%:*}/.vnc/passwd" ]; then
16                                         eerror "There are no passwords defined for user ${user%%:*}."
17                                         return 1
18                                 elif [ -e "/tmp/.X11-unix/X${user##*:}" ]; then
19                                         eerror "Display :${user##*:} appears to be already in use because of /tmp/.X11-unix/X${user##*:}"
20                                         eerror "Remove this file if there is no X server $HOSTNAME:${user##*:}"
21                                         return 1
22                                 elif [ -e "/tmp/.X${user##*:}-lock" ]; then
23                                         eerror "Display :${user##*:} appears to be already in use because of /tmp/.X${user##*:}-lock"
24                                         eerror "Remove this file if there is no X server $HOSTNAME:${user##*:}"
25                                         return 1
26                                 fi
27                         done
28                 fi
29                 return 0
30         #else
31         #       eerror 'Please define $DISPLAYS in /etc/conf.d/tigervnc'
32         #       return 1
33         fi
34 }
35
36 start() {
37         checkconfig start || return 1
38         ebegin "Starting TigerVNC server"
39         for user in $DISPLAYS; do
40                 su ${user%%:*} -c "cd ~${user%%:*} && vncserver :${user##*:} $VNC_OPTS" &>/dev/null
41         done
42         eend $?
43 }
44
45 stop() {
46         checkconfig stop || return 2
47         ebegin "Stopping TigerVNC server"
48         for user in $DISPLAYS; do
49                 su ${user%%:*} -c "vncserver -kill :${user##*:}" &>/dev/null
50         done
51         eend $?
52 }
53
54 restart() {
55         svc_stop
56         svc_start
57 }