You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.5 KiB
58 lines
1.5 KiB
#!/sbin/runscript
|
|
# Copyright 1999-2004 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License, v2 or later
|
|
# $Header: /var/cvsroot/gentoo-x86/net-misc/tigervnc/files/tigervnc.initd,v 1.3 2010/03/06 16:30:03 armin76 Exp $
|
|
|
|
depend() {
|
|
need net
|
|
}
|
|
|
|
checkconfig() {
|
|
if [ -n "${DISPLAYS}" ]; then
|
|
if [ $1 = "start" ]; then
|
|
local user
|
|
for user in $DISPLAYS; do
|
|
if eval [ ! -f "~${user%%:*}/.vnc/passwd" ]; then
|
|
eerror "There are no passwords defined for user ${user%%:*}."
|
|
return 1
|
|
elif [ -e "/tmp/.X11-unix/X${user##*:}" ]; then
|
|
eerror "Display :${user##*:} appears to be already in use because of /tmp/.X11-unix/X${user##*:}"
|
|
eerror "Remove this file if there is no X server $HOSTNAME:${user##*:}"
|
|
return 1
|
|
elif [ -e "/tmp/.X${user##*:}-lock" ]; then
|
|
eerror "Display :${user##*:} appears to be already in use because of /tmp/.X${user##*:}-lock"
|
|
eerror "Remove this file if there is no X server $HOSTNAME:${user##*:}"
|
|
return 1
|
|
fi
|
|
done
|
|
fi
|
|
return 0
|
|
else
|
|
eerror 'Please define $DISPLAYS in /etc/conf.d/tigervnc'
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
start() {
|
|
checkconfig start || return 1
|
|
ebegin "Starting TigerVNC server"
|
|
for user in $DISPLAYS; do
|
|
su -s /bin/sh ${user%%:*} -c "cd ~${user%%:*} && vncserver :${user##*:} $VNC_OPTS" &>/dev/null
|
|
done
|
|
eend $?
|
|
}
|
|
|
|
stop() {
|
|
checkconfig stop || return 2
|
|
ebegin "Stopping TigerVNC server"
|
|
for user in $DISPLAYS; do
|
|
su -s /bin/sh ${user%%:*} -c "vncserver -kill :${user##*:}" &>/dev/null
|
|
done
|
|
eend $?
|
|
}
|
|
|
|
restart() {
|
|
svc_stop
|
|
svc_start
|
|
}
|